トップページgamedev
1002コメント392KB

Unity5質問スレ [転載禁止]©5ch.net

レス数が1000を超えています。これ以上書き込みはできません。
0001名前は開発中のものです。2015/07/08(水) 21:37:53.68ID:GwI4cIXA
質問スレがないから立てた
今では反省している
0936名前は開発中のものです。2015/10/02(金) 21:10:36.12ID:H9YT9do9
>>935
大感謝!とてもよくわかりました!!

ちなみに自分が書いていたコードは↓下記になります。
板を開いて-180度で止めようとしたんだけどなぜか動かなかったり、
オブジェクトを359度にしたら止まらず延々とぐるぐる回り続けたりで困っていました。

  //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
//板オープン
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
private void ItaOpen()
{
//開き切っていない場合
if (this.itaOpenClose.transform.localEulerAngles.z >270)
//if (this.itaOpenClose.transform.eulerAngles.z <= -180)
{
this.itaOpenClose.transform.Rotate(new Vector3(0, 0, OpenCloseSpeed) * Time.deltaTime);
}
else
{
//開き切った場合
//this.itaOpenClose.transform.eulerAngles = new Vector3(0, 0, -180);
//this.itaOpenClose.transform.rotation = Quaternion.Euler(0, 0, -180);
this.itaOpenClose.transform.localEulerAngles.Set(0, 0, 270);
this.ActionFlg = 0;
this.mvMng.MoveFlg = 40;
}
}


あなたがなぜ叩かれているのかわかりませんが、
私はとても助かり、そして感謝をしています。
0937名前は開発中のものです。2015/10/02(金) 23:39:20.04ID:Hh7WxXGp
>>919
>>920
>>921
分かりにくくてすみません。
2点の間を定速で動かしたかったんです。
イージングを指定したらうまくいきました。
有難うございます!!
0938名前は開発中のものです。2015/10/03(土) 05:31:34.43ID:QjVhglQu
Unityってapp.config使えますか?
どこに置けばいいんでしょうか
0939名前は開発中のものです。2015/10/03(土) 14:37:14.65ID:KpEmw23K
質問なんですが...。ヒエラルキーのオブジェクトのチェックを外すと表示しないようにできますよね?チェックを外した状態で外部のスクリプトからそのオブジェクトの座標を取得することはできるんでしょうか?
0940名前は開発中のものです。2015/10/03(土) 14:47:11.28ID:ARLTn53j
>>939
できるよ。
Resources.FindObjectsOfTypeAllでGameObjectを検索すれば非アクティブなものも全て取れる。
http://docs.unity3d.com/jp/current/ScriptReference/Resources.FindObjectsOfTypeAll.html
それが返す配列の中から自分で名前なり何なりで探せばいい。
ただこのリファレンスの注にもあるが激重な筈。
あと当然のことながら最初からそのオブジェクトに参照を張っておけば問題なく取れる。
0941名前は開発中のものです。2015/10/03(土) 16:22:02.48ID:KpEmw23K
>>940
なるほど!ありがとうございます!これで解決できそうです!
0942名前は開発中のものです。2015/10/03(土) 20:57:42.13ID:92VNk0hS
質問に答えずに質問した人や質問に答えた人間を叩きたがるゴミが未だに居るんだな。
そんなに高尚な話をしたいなら他の板に行けば?と思うんだけど高尚な話には着いて行けない系のかわいそうな人なんだろうな。
哀れ。
0943名前は開発中のものです。2015/10/03(土) 22:02:35.54ID:qH92tkQe
鏡見てレスったらいいと思うよ
0944名前は開発中のものです。2015/10/03(土) 22:35:32.79ID:U7aHlPZt
>>942
”楽して答えを教えてもらうというのを見ているのが腹立たしい” 
”自分の知らない知識をいとも簡単に説明できる奴を見てくやしい” 
という心理で攻撃したりするんでしょう。

JAVAとかなら学校の課題をネットで聞く奴がいるけどUNITYはそんなの皆無だし
知識を持つ者が持たざる者へ授けるってのはボランティアとかチャリティと同じだと思うよ
ましてや解説までして授けるとか神
0945名前は開発中のものです。2015/10/03(土) 23:13:00.26ID:/GfR93Af
自分も困ってた過去があるから教えたくなるんやろ。
あと色んなもの作ってる人がいるから、なんだかんだ言って知らない情報もきけるわけだし。
0946名前は開発中のものです。2015/10/03(土) 23:33:42.98ID:4mkrmEUh
Unity Adsをお使いの方いらっしゃいますか?

C#では
http://hiromart.com/blog/how_to_use_unity_ads/
ここに記載されている通りにすれば広告は簡単に出ます。
でも、ゲーム自体のコードをjavascriptで記載してまして、バックボタンを押したらゲーム終了のコードに挟みたいと思っています。

―――――――――
//バックボタンが押されたらアプリ終了
if (Application.platform == RuntimePlatform.Android) {
if (Input.GetKey(KeyCode.Escape)) {

  ここに広告を出そうと思っています。

Application.Quit();
return;
}
}
―――――――――――

…なのですが、
そもそも
Advertisement.Initialize("*****");
と初期化した時点で

The best overload for the method 'UnityEngine.Advertisements.Advertisement.Initialize(String, boolean)'
is not compatible with the argument list '(String)'.
というエラーが出ます。
これが調べても調べてもわからず…
ご存知の方いらっしゃいましたらお教えくださいませ。
0947名前は開発中のものです。2015/10/04(日) 00:53:07.76ID:yZj32Qi0
>>946
そのエラーに従って、引数をInitialize("*****",true);みたいにしたらどうなんの?
0948名前は開発中のものです。2015/10/04(日) 01:45:45.63ID:oYZMtnj+
http://hamazakifactory.hatenablog.com/entry/2015/08/21/105328

  //2つ目の引数は、true=テストモードなので、アプリリリース時には、falseに設定すること

Advertisement.Initialize ("ゲームID", true);
0949名前は開発中のものです。2015/10/04(日) 03:53:49.58ID:7OiGn70G
エディタオンリーで、自身であるコンポーネントがアタッチされたというイベントを拾うことできますか?
0950名前は開発中のものです。2015/10/04(日) 08:40:08.07ID:g8j8r6pV
Androidでapkのサイズが22MBなのに、端末にインストールし、
設定−アプリケーション管理に表示されるサイズはアプリケーション45MBとなるんですが
こういうもんですか?
0951名前は開発中のものです。2015/10/04(日) 17:07:37.87ID:aJP9QG+I
>>950
apkっていうのはアプリのパッケージファイルだから
端末で展開されればそれくらいになる
0952名前は開発中のものです。2015/10/04(日) 17:21:55.96ID:b3i0GIhu
apkって中身zipだっけ?
0953名前は開発中のものです。2015/10/04(日) 17:24:00.20ID:p+UvTkBC
そう
拡張子をzipにすると中身が見える
0954名前は開発中のものです。2015/10/04(日) 17:53:08.55ID:BIsqjPIY
>>949
自前のコンポーネントがGameObjectにアタッチされたのを検出したいのならできるけど
アプリのコードにちょっとだけゴミが残る方法で良いならできなくもない
ExecuteInEditModeをコンポーネントに設定しておいて、Start()の中でアプリがRunしていないならエディタでアタッチされて初期化が呼ばれたと判断するってやり方

あとはEditorScriptのOnHieralchyChangeが使えるかも知れないけど、自分で変更前のHieralchyとの差分を処理する必要がある
09559462015/10/04(日) 19:36:29.78ID:/GQ319EZ
>>947
>>948

おお!ありがとうございます!
ご指摘の通り、引数が足りませんでした。
true入れたらエラーがおさまりました!

感謝!です!
0956名前は開発中のものです。2015/10/04(日) 23:21:51.96ID:Jd/FtXRU
public static tests[] test = new tests[10];
public class tests
{
public int test_number;
public Sprite test_Image;
}
Debug.Log (test[0].test_number);

NullReferenceExceptionのエラーが帰ってくるのですが何が良くないのでしょうか・・・
すみません、プログラム初心者なんで教えていただければと思います。
0957名前は開発中のものです。2015/10/04(日) 23:29:16.65ID:3OKxkGIA
>>956
これはUnityは関係ないような気がするが…。
public class tests
{
public int test_number;
public Sprite test_Image;
public tests(){
int i=0;
for(;test[i]!=null&&i<10;i++)
if(i<10)test[i]=this;
}
}
とでもやるしかないんじゃねぇか?
0958名前は開発中のものです。2015/10/04(日) 23:38:34.11ID:3OKxkGIA
つか、
public static tests[] test = new tests[10];
とか
Debug.Log (test[0].test_number);
はどこで宣言したり呼び出したりしてんのかとか
よくわからんよな…
0959名前は開発中のものです。2015/10/04(日) 23:42:56.01ID:Y+EDDyr0
>>956
最大10個まで入る配列を作っただけで、testsインスタンスを1つも作ってなくね
まずはtest[0] = new tests(); が必要だろ。
0960名前は開発中のものです。2015/10/04(日) 23:43:28.58ID:3OKxkGIA
あ〜、いや、つまりあれか、これでわかってないところはこういうことか?
public static tests[] test = new tests[10];
public class tests
{
public int test_number;
public Sprite test_Image;
}
test[0]=new tests();
Debug.Log (test[0].test_number);
0961名前は開発中のものです。2015/10/05(月) 00:15:56.27ID:OYrKNaH1
なるほど、インスタンスというのをしたらできました。
>>960さんの仰るとおりです。
とてもさんこうになりました。
ありがとうございました。
0962名前は開発中のものです。2015/10/05(月) 02:57:36.18ID:Yk+6/Z28
UIのInputFieldで、Text(入力された文字列)とPlaceHolder(入力されていない時に表示される文字列)の表示位置を、
Alignmentで中間に設定したんだが、Caret(編集するときに点滅する縦棒)の座標がBottomのままになる。
位置がずれてて見栄えが悪いんだけど、うまく座標を設定する方法はある?
実行時じゃないと出現しないからTransformから設定するのは相当面倒くさそうで参った
0963名前は開発中のものです。2015/10/05(月) 03:02:42.19ID:N5x2hXQF
葉を見れば木の状態はおおよそ分かる
0964名前は開発中のものです。2015/10/05(月) 11:32:39.99ID:4uC9K8Xs
>>962
実行中もインスペクタからTransformを変更できるので調整して値をメモっておくとか?
0965名前は開発中のものです。2015/10/05(月) 13:47:51.05ID:ceHnl9mG
>>964
スクリプトからFindで探して座標を直接書き換えるのは、少なくとも綺麗な手段じゃなさそうなので…
Android上ならそもそもキャレット自体が出現しないという事実に気付いたので、気にしないのが正解かもしれない
0966名前は開発中のものです。2015/10/05(月) 15:48:31.48ID:ubSb5rKX
いままで俺もFindで無効化されたオブジェクトをさがしてたけど・・・・
実はオブジェクトを無効にせず、画面外の遠くに移動させてやればFindを使わずにすむんじゃねえの!?
0967名前は開発中のものです。2015/10/05(月) 18:18:42.00ID:AbPGnTjd
>>954
ありがとうございます。
executeineditor初めて知りました。
0968名前は開発中のものです。2015/10/05(月) 19:51:49.74ID:CvxodQsp
Unity5.0.2p1+iOS9.0環境での実機テストにおいてSystem.Text.Encoding.GetEncoding(...)でエンコーディングを取得しようとしたらShift_JISが取得出来なかったんだけど、これに関して何か情報があったら教えてください
なお、Macのエディタ上のデバッグ実行では問題なく取得出来ており、実機テストで取得出来たのは以下の通りです

0 utf&#173;8 Unicode (UTF&#173;8)
1200 utf&#173;16 Unicode
1201 unicodeFFFE Unicode (Big&#173;Endian)
12000 utf&#173;32 UTF&#173;32
12001 utf&#173;32BE 20127 us&#173;ascii 28591 iso&#173;8859&#173;1
65000 utf&#173;7 Unicode (UTF&#173;7)
65001 utf&#173;8 Unicode (UTF&#173;8)
UTF&#173;32 (Big&#173;Endian) US&#173;ASCII
Western European (ISO)

ウェブサイトから情報を取得しようとしたら文字コードが変換出来ずにハマっているので取得元の文字コードを変えることは出来ません
代替案、関連しそうな情報等、なんでもいいので誰かヒントください
0969名前は開発中のものです。2015/10/05(月) 19:59:27.32ID:vz8G0TLV
>>968
sjisは捨てろ
utf8限定にしないとやってられない事になる
utf8もiosとかだと絵文字でutf8mb4とかのエンコードが必須だったりと超めんどくさい。
というかiOSデバイスでsjisが必要になる環境が理解不能なのだけど、どこから得たテキスト列がsjisなの?
0970名前は開発中のものです。2015/10/05(月) 20:04:41.39ID:CvxodQsp
>>969
ユーザーが指定する任意のウェブサイトをスクレイピングしてるんよ、だからsjis捨てるってのは無理、同時にeucも対応しなきゃならんから頭痛い
自前で変換関数書くのは出来れば避けたいんだがなんとかならんかね
0971名前は開発中のものです。2015/10/05(月) 20:14:51.16ID:vz8G0TLV
>>970
うへぇ、そりゃまた面倒なものを
自分だったら自前のサーバ用意してそこに全部の処理押しつけるわ(サーバサイドならその手の処理お手の物だもの)
アマゾンでとりあえず無料枠でユーザ数の増加でマシンが足りないくらいになるほど儲かるなら増設って方向で

つかUnity単体どころの問題じゃなくて任意のWebサイトへのアクセスで得た情報がサーバ側から教えられるエンコードとhtmlに書かれたエンコードと、htmlファイル自体のテキストのエンコードが一致しない例も山ほどあるじゃんよ
(一番わかりやすいのはMacのSafariで開いたサイトが文字化けしてるとか:サーバはUTF8だよんとか良いながらHTMLテキストはSJISで、HTMLに書いてある<meta>の記述はjpとか)

あと,iOS9からhttpリクエストは無かったことにされるから注意しないと駄目かも知れないよ(iOS9の内部でhttpリクエストはinfo.plistに除外指定がされないかぎり読み出しがされない)
0972名前は開発中のものです。2015/10/05(月) 20:50:07.81ID:uxaqNhJF
初心者はC#とJavaScriptどっちで書けばええの?
0973名前は開発中のものです。2015/10/05(月) 21:12:24.96ID:AWpMGoOO
>>972
プログラム初心者ならC#の方が良い
JavaScript使いならJSで
C#の方が参考書や入門書が充実してるから
0974名前は開発中のものです。2015/10/05(月) 21:15:22.50ID:7UNNDlAI
>>972
C#のほうがいいって聞くね
参考のプログラムとか探すのにjavaScriptじゃなかなかでてこないし・・・
0975名前は開発中のものです。2015/10/05(月) 21:40:49.00ID:dDiyz0Ah
>>966
こういうの含め実質非表示にする方法でパフォーマンスの違いはどうなんだろ
scaleを0とかalpha0とかも
0976名前は開発中のものです。2015/10/05(月) 22:11:47.19ID:JozMmy9V
マテリアルの書き換えまでできるなら
renderer.enabled = false;
でいいんじゃないの
0977名前は開発中のものです。2015/10/05(月) 22:12:10.86ID:0ZJMy1x4
>>968
たぶん>971の言うとおりにしたほうがいいと思う

ただサーバにビジネスロジックを置いてWEBサービスを設けるとサーバ運用を考えなきゃならん
無料でやりたいならPHPとか別の言語でやらなきゃならん
C#だとIIS+ASP.NETだけどASP.NETは企業のイントラネットが主流で一般向け無料レンタルは皆無
0978名前は開発中のものです。2015/10/05(月) 22:13:36.53ID:T+/VpUlg
そういえばBooってどうなったん
0979名前は開発中のものです。2015/10/05(月) 22:21:11.60ID:knYKIgJR
なかった
0980名前は開発中のものです。2015/10/05(月) 22:22:14.86ID:0ZJMy1x4
高木Boo
0981名前は開発中のものです。2015/10/05(月) 22:43:49.29ID:M37TqiVm
Booはとっくに廃止
0982名前は開発中のものです。2015/10/05(月) 23:24:51.63ID:0ZJMy1x4
初心者質問で申し訳ないのですが御教示お願い致します。

ボール(Rigidbody付)があり、その少し下に平らな板(ただのキューブ)を配置しています。
実行すると重力によりボールは落下し、板の上に乗りますが、
ボールの高さを高くした場合、ボールに勢いが付いて板を貫通して板の下に落下する場合があります。

貫通させない方法を教えて下さい。
0983名前は開発中のものです。2015/10/05(月) 23:43:34.63ID:0ZJMy1x4
あ、すいません、「Collision Detection」を「Continuous Dynamic」に変えたら解決しましたが、
理由が理解できません。今勉強してます。
0984名前は開発中のものです。2015/10/06(火) 04:54:42.39ID:bwtLQCYW
衝突判定と物体すり抜け問題は、
大昔からセットで語られる、バディみたいなもんらしい。

Unity/マニュアルPhysics3D/物理演算リファレンス/リジッドボディ
http://docs.unity3d.com/ja/current/Manual/class-Rigidbody.html

によれば、
普段は精度悪いけど軽い方の処理をするから、必要なときだけ高精度の処理を選択してね!
ってことっぽい
0985名前は開発中のものです。2015/10/06(火) 09:15:32.73ID:USItRgjd
質問です
アクションゲームで中断&終了しても次回同じ状態で復帰可能なセーブをしたいのですが知識と技術が足らなくてうまくいきません
以下の方法で実装しようとしているのですが、方針としてはあっていますか?
セーブ
1,Hierarchy上に存在するゲームオブジェクトを取得する
2,名前と位置情報を保存する
3.1,2をゲームオブジェクトの数だけ繰り返す
ロード
1,名前と位置情報を取得する
2,名前に合致するprefabを位置情報の位置にinstantiateする
3,1,2をゲームオブジェクトの数だけ繰り返す

ちなみにプログラムは始めたばかりです
わたしのやりたいことを実装しているTutorialなどがあれば教えてください
0986名前は開発中のものです。2015/10/06(火) 10:01:55.55ID:rCsM3DOE
配置されてるprefabが位置情報だけで機能してるゲームならそれでいい
0987名前は開発中のものです。2015/10/06(火) 10:09:48.03ID:USItRgjd
このまま試行錯誤つづけてみます
ありがとうございました
0988名前は開発中のものです。2015/10/06(火) 12:01:42.82ID:B0AfQ4S2
http://www.dotup.org/uploda/www.dotup.org547674.png
カメラをコピーして深度の奥にあるものを手前に描画しようとしています
カメラは単純にコピーしただけで同じ位置にあるはずなのに、Yに少しずれています。これはどうしてでしょうか
09899882015/10/06(火) 12:05:20.99ID:B0AfQ4S2
しかもカメラのDepthを変えただけでは奥にあるものを手前に描画したりできない?
0990名前は開発中のものです。2015/10/06(火) 12:46:19.43ID:rCsM3DOE
タブのレイアウトは個人個人で違うからこの部分とか言われてもわからないわ

カメラコンポーネントの「Depth」はカメラの描画順であって
カメラに映ってるものの描画順に直結しない
できない?の答えは「できない」だと思う
0991名前は開発中のものです。2015/10/06(火) 12:55:23.05ID:B0AfQ4S2
そこはタブじゃなくて描画領域です

カメラのクリアフラグでDon'tClearにすればオブジェクトのZ位置にかかわらず前後関係を作れると思ってた・・・
0992名前は開発中のものです。2015/10/06(火) 13:36:32.82ID:rCsM3DOE
そこをみて描画領域とわかるのはエディタが全部見えてる君だけ

質問を勘違いした気がする
カメラに映すもの(CullingMask)が変わっているならDepthの描画順の制御と
ClearFlagsで前後関係を無視できる
ClearFlagsはdon'tClearではカラーバッファもZバッファも残る
これは画面の前後関係を維持したまま描画したい時に使うもので
DepthOnly(Zバッファのクリア)にすれば画面を背景のように使える
0993名前は開発中のものです。2015/10/07(水) 01:10:00.07ID:v03T6oFH
お世話になります。

とあるアスペクト比で、Canvasの中にRPGのようなマップを作成し、岩をボックスコライダーで作ったのですが、アスペクト比を変える(実機で確認する)とボックスコライダーの位置がずれてしまいます。
アスペクト比に合わせて座標も伸縮するような機能は無いのでしょうか?
そもそもやり方が間違っているのでしょうか?

やりたいのは、どの端末でもボックスコライダーの位置をずらさず表示(出来れば画面サイズを端末ごとに合わせるようなやり方)は出来ないでしょうか?
0994名前は開発中のものです。2015/10/07(水) 10:43:52.39ID:H12k9m6P
Canvasの設定やそこにぶら下がってるオブジェクトが
どうなってるかかかないと間違いを指摘しづらいが
0995名前は開発中のものです。2015/10/07(水) 10:52:14.07ID:H12k9m6P
送ってしまった

エスパーしながら書くと
UiScaleMode を ScaleWithScreenSize にして
ScreenMatchMode は MatchWidthOrHeight とかにすれば
画面比に会わせてスケーリングされる
コライダーがCanvas下にあれば問題ないはず
0996名前は開発中のものです。2015/10/07(水) 12:52:05.21ID:BVQP7JPr
残念ながら論点はそこじゃねえんだ 「漢字は一文字から意味をなすが、アルファベットは数文字必要」 って書けば日本語化の価値に気づけるか?
0997名前は開発中のものです。2015/10/07(水) 13:41:45.64ID:N69Dej8B
次スレたてられんかった、誰かプリーズ
0998名前は開発中のものです。2015/10/07(水) 14:12:52.68ID:NEa3zEWO
立てたよ
【3Dゲームエンジン】Unity質問スレッド20 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/gamedev/1444194744/
0999名前は開発中のものです。2015/10/07(水) 14:34:58.31ID:V/D40x6e
サンクス
1000名前は開発中のものです。2015/10/07(水) 14:35:23.86ID:AG4ISeQI
1000ならユニティちゃん大ブーム到来!!
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。