トップページgamedev
994コメント388KB

【3Dゲームエンジン】Unity 4 [転載禁止]©5ch.net

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2015/06/16(火) 01:35:14.74ID:VIGyPiQQ
3Dゲームエンジン「Unity」の質問に優しく答えるスレです。
Windows/Mac用。JavaScript/C#/Booといった汎用言語を使用できるのが特徴です。
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他

次スレは>>970を踏んだ方が建てること。ダメなら>>980>>990が建てて下さい。

■前スレ
【3Dゲームエンジン】Unity質問スレッド16
http://peace.2ch.net/test/read.cgi/gamedev/1425192691/

■本スレ
【3Dゲームエンジン】Unity総合スレッド26
http://peace.2ch.net/test/read.cgi/gamedev/1429375487/

■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
http://www24.atwiki.jp/unity2ch/

●リンク
・Unity(日本公式サイト)
 http://unity3d.com/japan/
・ユーザーガイド&リファレンス
 http://japan.unity3d.com/developer/document/
・チュートリアル
 http://japan.unity3d.com/developer/document/tutorial/
・スクリプトリファレンス
 http://docs-jp.unity3d.com/Documentation/ScriptReference/
・FAQ
 http://answers.unity3d.com/index.html
・MSDN
 http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
0554名前は開発中のものです。2015/07/26(日) 20:09:05.48ID:bfdZLkcR
>>553
お前のほうがなんなのって感じなんだがw 単発IDだしww
スペル間違ったのがそんなに恥ずかしかったのかな?w

sampleなんて相当頻度高いスペルだし、staticなんて殆ど使わない
素人丸出しなんだよなぁ
ソースコード書いて欲しくないなら、>>548が正解だよ
その日本語からソースが書ければの話だが
0555名前は開発中のものです。2015/07/26(日) 20:18:13.62ID:npA+oThb
samplewwwwwwwwwwwwwwww
sanpleだろwwwwwwwwwwwwwwwwww
0556名前は開発中のものです。2015/07/26(日) 20:19:11.96ID:gAc/+Q7p
皆さん、ありがとうございます。

>>548
>>549
sumpleA() とかには、画面を作るためのスクリプトが書かれています。

画面作りをコントロールするクラスがあり、
「この画面を作って」という画面名を引数で指定し、
末尾(引数の画面名)だけ関数名が違う、それぞれの関数を呼び出しています。

動的に追加されていくので、case で画面の分だけ場合分けをするのが面倒になり、自動化できたらと思いました。
たぶん、30画面以上になりそうで。

普通に1画面1シーンでシーン切り替えするのは知っていますが、ちょっと訳あって使わずに行きたいです。

>>551
ありがとうございます、これだと、more action が増えたら、
増えた分だけ記述が増えそうなのですが、勘違いしてますか?

>>552
sample ですね、すみません。
その通りなのですが、今後CDEF と処理が増えていったとき、
分岐を継ぎ足すのが面倒に思いました。
そこをなんとかしたくて。

>>553
色々すみません。
0557名前は開発中のものです。2015/07/26(日) 20:24:09.75ID:gAc/+Q7p
素直にcase増やすのが一番良さそうですね。
引数(文字列)と関数名が完全にルールで作られるので、
ラクしようと欲かいたかもしれません。
0558名前は開発中のものです。2015/07/26(日) 20:32:31.20ID:D3ATScL/
>>557
んじゃぁSystem.Collections.GenericのDictionary<Key,Value>使うと良い、ただ初期化で全部用意しないと行けないのは本当
Dictionary<string,System.Action > actionMap = new Dictionary<string,System.Action>();
//init
actionMap["A"] = someVoidFunc1;
actionMap["B"] = someVoidFunc2;
...
void someVoidFunc1() { }
void someVoidFunc2() {}

//使う時
System.Action act = actionMap[xxx];
act();
0559名前は開発中のものです。2015/07/26(日) 20:48:03.95ID:gAc/+Q7p
>>558
あーーー
Dictionary ですね、なるほど…
検討してみます、ありがとうございました。
0560名前は開発中のものです。2015/07/27(月) 00:51:37.02ID:04/pbtZt
>>543
jsなら一応できるよ、バッドノウハウなのは承知の上で
var XXX = "A";
eval("sumple" + XXX + "()");
0561名前は開発中のものです。2015/07/27(月) 01:06:40.63ID:zumr63k5
>>560
それiOSビルドで通るのか?
0562名前は開発中のものです。2015/07/27(月) 03:03:40.10ID:OjuVgaxy
アイテム型のアイテムをセーブデータに保存しようとした時いい方法ってありますか?
シリアライズ?とかいうのできます?
出来ない場合は例えばアイテムが100種類あったとしてデータをロードしようとしたら
100通りのインスタンスを書く必要があるのでしょうか・・・?
0563名前は開発中のものです。2015/07/27(月) 03:29:36.40ID:OjuVgaxy
あ、普通に保存時に全部の値取得しておけばいいですね
ですよね・・・?
0564名前は開発中のものです。2015/07/27(月) 03:40:45.84ID:PcbQ4xqJ
何を言ってるのかわからん。
保存の話なのか読み込みの話なのか
アイテム型の扱いはどうなってるのか
前提の情報が少なくて抽象的な質問だとスルーだぞ
0565名前は開発中のものです。2015/07/27(月) 03:52:40.00ID:OjuVgaxy
保存したデータを読み込む必要があるので両方をかんがみていい方法があればそれを教えて欲しいです
親にアイテム型があって、名前や説明文などの値があります
子に武器だのポーションだのの大まかな種類があり
例えばポーションならポーションの種類(HP回復なのかMP回復なのかなど)を識別する値や
それがいくつ回復するかの値が設定されています
0566名前は開発中のものです。2015/07/27(月) 03:57:05.19ID:OjuVgaxy
将来的には例えば武器ならそれの攻撃力をランダムに増減させたものをドロップさせたり
ランダムで特殊能力などもつけたいなとか思ってます
0567名前は開発中のものです。2015/07/27(月) 03:58:36.32ID:rjAjfZB/
なんか最近Unityに関する質問が全く無いな
0568名前は開発中のものです。2015/07/27(月) 04:04:55.52ID:PcbQ4xqJ
>>566
あぁアイテムのカタログデータ的なものってことなら、XMLとかにシリアライズするのが楽だと思う。
0569名前は開発中のものです。2015/07/27(月) 05:15:22.35ID:PRVqoCqE
C#出身の人はXML、js出身の人はJSON使う事が多いんじゃないかな
0570名前は開発中のものです。2015/07/27(月) 06:26:27.44ID:XJOTP10D
OSの32bitと64bitの違いがよくわからないんですが、
64bitOSに64bit版unityインストールする方が32bit版より何か速くなるんですか?
動作とかunity自体の立ち上がりとか、速くなりますか?
0571名前は開発中のものです。2015/07/27(月) 08:13:20.14ID:t2SjqWMh
作るゲームの規模による。
32bitで事足りる様なレベルだと当然64bitであることの優位性は体感できないよ。
0572名前は開発中のものです。2015/07/27(月) 08:24:57.93ID:2u4StTM7
個人で32ビットでメモリたりなくなるなんてゲーム作るの無理だろw
0573名前は開発中のものです。2015/07/27(月) 08:53:42.20ID:UA25nIGB
2Dならそうそう超えないだろうけど
3Dならそうでもないだろ
0574名前は開発中のものです。2015/07/27(月) 08:56:09.46ID:PRVqoCqE
そもそも>>570の内容が
32bitと64bitの違いが分からない上で、動作速くなる?って質問自体がちょっとな…。
ソフトがイケてれば人間が体感できるレベルでは変わらないだろうって答えになる。
Unity公式にでも聞けって感じだが。

こういうどうでもいい質問は偉いおっさんとかがしたがるから、
自分で知識持っておいた方がいいぞ。
0575名前は開発中のものです。2015/07/27(月) 09:13:34.95ID:2u4StTM7
まぁ何でもよければ個人でもできるけどなw
完全に無意味な数万枚のテクスチャーデータとか
自動生成して自動で読み込んで使うようにすれば
メモリだけは食えるw
0576名前は開発中のものです。2015/07/27(月) 10:28:57.83ID:t6vKX9dH
少なくてもこの場合は大が小を兼ねるから64bitにすればいい
0577名前は開発中のものです。2015/07/27(月) 11:59:20.41ID:Bvx+33Cx
初歩的な質問で申し訳ないんですが、質問です
オブジェクトAに接触したオブジェクトのタグを読込んで
OnCollisonEnterで音を鳴らすにはどんな感じにコードを書けばいいんでしょうか・・・?
0578名前は開発中のものです。2015/07/27(月) 12:22:21.36ID:1WfRNVUH
>>577
例えばだが
void OnCollisionEnter(Collision collision) {
if(collision.gameObject.tag=="B"){
gameObject.GetComponent<AudioSource>().play();
}
}
0579名前は開発中のものです。2015/07/27(月) 12:51:18.59ID:Bvx+33Cx
>>578
えぇと・・・
最初の1行目で接触判定?して2行目でぶつかったオブジェクトのタグ調べて3行目でそれに対応した音を鳴らすってことでしょうか?
この1行目の()内が何なのかマジでわからないんでご教授ください・・・
0580名前は開発中のものです。2015/07/27(月) 13:32:32.68ID:PRVqoCqE
OnCollisionEnter はコライダーが接触した時に呼び出される。
で、接触した相手のコライダーの情報は、(Collision(型) collision(値))に入っている。

こう言う風に関数に付属して変数を渡す値を引数(ひきすう)という
とりあえずチュートリアルを全行理解するまで繰り返しやった方がいい
0581名前は開発中のものです。2015/07/27(月) 13:33:04.21ID:1uqsadTc
32bitアプリでも、4GB以上のビデオメモリはAPI経由で間接的に扱えるようになってるんだよね?
0582名前は開発中のものです。2015/07/27(月) 13:53:55.96ID:Bvx+33Cx
>>580
感謝します。そして精進します・・・
0583名前は開発中のものです。2015/07/27(月) 14:16:40.09ID:PRVqoCqE
>>581
そんな規模で作ってるひと居ないと思うし、自分で検証したら?
ここで聞いた答えで納得できるとも思えないし

>>582
まだスタート地点にも立ててないように思うから、
まずC#でもUnityでもいいから、電卓とかストップウォッチとか作った方がいいかもしれん
0584名前は開発中のものです。2015/07/27(月) 14:43:20.69ID:ItrmspHa
丁寧に答えてくれる親切な○○が居る限りそういった輩のレスは無くならないよ
本人のためを思うならスルー力をつけましょう
0585名前は開発中のものです。2015/07/27(月) 15:03:30.42ID:iSkJh0PG
unityの無料版で、アンビエントオクルージョンって使えましたっけ?
0586名前は開発中のものです。2015/07/27(月) 15:53:50.20ID:rogOJziw
https://www.google.co.jp/#q=Unity5+SSAO
0587名前は開発中のものです。2015/07/27(月) 16:41:03.30ID:PRVqoCqE
>>584
ここ質問スレですしおすし

少なくとも577はまだスタート地点に立ってない人だと思ったから教えるべきだよ
新参者の厳しい業界はどうせ長続きしない
次回自分が教えなくていいように今は自分が教えるんだよ
そうやって世の中を回すべきだ
0588名前は開発中のものです。2015/07/27(月) 16:47:35.23ID:iSkJh0PG
586
無料のはないのね、、、。
0589名前は開発中のものです。2015/07/27(月) 16:56:07.04ID:rogOJziw
http://docs.unity3d.com/ja/current/Manual/script-ScreenSpaceAmbientOcclusion.html
あるっつーの
ImageEffectが解禁されてんのにできないわけねーだろ
もう少し調べる力を付けてくれよ
0590名前は開発中のものです。2015/07/27(月) 17:23:14.19ID:943ESeWc
>>587
貴方の意見に賛成
2chだけではないけどFlashのときは新参者へのフォローが素晴らしかった
WEB業界が動く主体となっていたのは多くの開発者達だった
0591名前は開発中のものです。2015/07/27(月) 17:26:34.75ID:1WfRNVUH
アンビエントオクルージョンの人は前からいる荒らしなのでスルー推奨です
0592名前は開発中のものです。2015/07/27(月) 17:42:48.35ID:9uiHxYHQ
すぐに荒らし認定すんなよ、認知症のおじいちゃんかも知れないじゃん
0593名前は開発中のものです。2015/07/27(月) 18:36:06.42ID:iSkJh0PG
>>589
ありがとうございます。スタンダードアセットに入ってましたか。
でも、汚いですね、これ。
0594名前は開発中のものです。2015/07/27(月) 18:40:26.58ID:rogOJziw
気に入らないなら自分でシェーダ書けばいいじゃん?
0595名前は開発中のものです。2015/07/27(月) 18:40:34.56ID:kSGqF2Sk
unityのサンプルゲームのあのすごくリアルな奴って地形は全部モデリングで作られてるの?
0596名前は開発中のものです。2015/07/28(火) 03:26:30.92ID:++c0aezX
UnityでC#を使っていて
public class Hoge : MonoBehavior {
bool flag = true;
bool table = new Temp[5];
のようにメンバ変数の定義時で初期化をして問題なく動作していたのですが
広告のSDKをインポートしただけでflagはfalseになっているし後で
table[i] = new Temp();
のようにしようとするとtableは確保されていないなど大量にエラーが発生しました

インポートしただけでメンバ変数の定義時に初期化したらダメとかなるものでしょうか?
0597名前は開発中のものです。2015/07/28(火) 04:11:29.03ID:zhHSnl4S
Tempってなんだよ
tableはいつから配列になったんだよ
0598名前は開発中のものです。2015/07/28(火) 04:16:15.01ID:zhHSnl4S
元々おかしくてインポートしたときにビルドされてエラーでるようになったとかじゃないの?
0599名前は開発中のものです。2015/07/28(火) 04:29:49.22ID:++c0aezX
すいません、Temp[] table = new Temp[5];でした
コンソールの最初を見ると場所の特定できないエラーメッセージが出ててそれが原因のようでした
ただ特定できないのでSDK消すしかないですが・・・
0600名前は開発中のものです。2015/07/28(火) 05:37:06.80ID:++c0aezX
元々入っていたAdMobを消したら後に追加した広告を入れても大丈夫になりました
6時間ぐらいまったく別の所を探し続けてました
0601名前は開発中のものです。2015/07/28(火) 12:14:54.31ID:/hXAMNCi
ambient オクルージョンは綺麗にできないのですか?
unrealのようなaoは期待しちゃダメですか?
0602名前は開発中のものです。2015/07/28(火) 12:48:32.10ID:SJVLmkAf
アホレスしてる暇があったらチュートリアルのひとつもやったほうがいいぞ
Unityマスターすれば君の人生に多大な利益をもたらすだろ
0603名前は開発中のものです。2015/07/28(火) 17:21:37.08ID:CTP5hVNU
apk出力先のデバイス選択について質問です。

作ったアプリをスマホに転送するとき、
iPhoneなどは2つデバイスを繋げていても、
Xcode上で転送先のデバイスを選択できると思います。

Androidは2つ繋いでいると、
体感ではいずれかのデバイス(あるいはUSB)が優先され、
優先されなかった方に転送するには、
優先されているデバイスをはずさないとダメみたいです。
(優先されているデバイスの電源を落としていても、ビルド中にエラーが出る)

いい加減めんどくさいので、
USBセレクタのようなものを買おうかと思っているのですが、
設定などでどうにかできるのでしょうか。
0604名前は開発中のものです。2015/07/28(火) 17:34:43.91ID:ttJ3Imeb
BlendShapeの操作ってanimationでやるのと値をスクリプトで直接扱うのどっちがいいんだろ
UnitychanだとLipSyncやAuto BlinkはスクリプトでFaceUpdateはanimationでやってて何を基準に分けたのかよく判らない
0605名前は開発中のものです。2015/07/28(火) 19:26:10.04ID:7KSlMoNw
C#で999から数字が増えると1.0kとGUIに表示されるようなスクリプトはどのように書けばいいのでしょうか?
0606名前は開発中のものです。2015/07/28(火) 19:32:23.03ID:CkHGn9zX
>>605
1001は1.0kか?
1100は1.1kか?
間の1050は1.0kか?
0607名前は開発中のものです。2015/07/28(火) 19:55:44.31ID:nPPOwhjM
>>603
それUnityのスレで聞くようなことですかね?
泥アプリの板とかで聞いたほうがいいんじゃない?
0608名前は開発中のものです。2015/07/28(火) 20:37:24.99ID:CTP5hVNU
>>607
Unity以外の開発環境でも起きる問題なんですか?
0609名前は開発中のものです。2015/07/28(火) 21:18:47.75ID:PcMMlFAI
Unityって何ができるの?
0610名前は開発中のものです。2015/07/28(火) 21:47:23.97ID:CkHGn9zX
>>608
eclipseとかだと実行環境設定でデバイス選べるからねぇ
adbのhelpにデフォルトデバイス指定とかありそうな気もするけどやったことないので何とも言えない

apkファイルをデバイスにインストールするなら
adb install -s <DEVICE_SERIAL> application.apk
で行けるからbuild&runじゃなくbuildして adbで突っ込むんじゃダメなの?

あとは環境変数ANDROID_SERIALにデバイスのシリアル番号を設定しておけばそっちが選択されるけどUnity起動後じゃ変更しても意味無いんだよね
0611名前は開発中のものです。2015/07/28(火) 23:19:14.74ID:CTP5hVNU
>>610
そうですか、ここに関しては Xcode グッジョブなんですね。
eclipse はさわったこと無いです。
回答どもです。


あと、もうひとつ質問があります。
InputField をUI使わずに
スクリプトだけで配置することはできますか?

テキストの時は、

Text go = 親オブジェクト.AddComponent<Text>();
go.rectTransform〜〜

のようにして、そこから各種設定したのですが、
Input はそう単純じゃないみたいで
てこずっています。
0612名前は開発中のものです。2015/07/28(火) 23:58:42.23ID:HeAZgpAz
スレ違いだから、こっちへ行け
http://hayabusa6.2ch.net/test/read.cgi/senmon/1437993191/l50
0613名前は開発中のものです。2015/07/29(水) 06:22:40.89ID:JbSSkNkD
涙腺崩壊
http://baboon-phyte.black/hmjrp/
0614名前は開発中のものです。2015/07/29(水) 07:18:41.06ID:bf/IO7hB
>>606
3桁目は表示して2桁目以降は表示しないってしたいです
ifとかで1000以上とかにしたとしても膨大な数の分岐ができてしまうので困っています……
0615名前は開発中のものです。2015/07/29(水) 08:57:31.07ID:l7QlRuIe
>>614
guiコンポーネント側で1000で割ってちよっぱしたものを表示するだじゃないの?
0616名前は開発中のものです。2015/07/29(水) 09:18:32.38ID:o08PcpV7
ここはいつからデバックお助け事務所になったんだ
Unityに直接関係ない初歩的なプログラム知識とか自分で学べよ
0617名前は開発中のものです。2015/07/29(水) 12:35:57.04ID:QeOICCB5
ここは質問スレじゃありません
0618名前は開発中のものです。2015/07/29(水) 15:36:46.42ID:DMN9AHAT
ゲームを作っていましてコインを獲得した際にSEをなるようにしたのですが、ビルドして実機で確認するとSEの再生に
ラグが生じてしまいます。原因がわからずご教授願います。

audioSource.PlayOneShot ( _coin );
AudioSource.PlayClipAtPoint( _coin, Vector3.zero );

両方試しましたが変わらず・・・。PC上ではラグなしで再生されます。
音声ファイルはmp3とwav両方試しましたが改善されませんでした。
0619名前は開発中のものです。2015/07/29(水) 16:23:06.34ID:5c+8y5W6
マニュアルを読みましょう
0620名前は開発中のものです。2015/07/29(水) 16:36:12.94ID:dx2rGdRo
プリロードかね
0621名前は開発中のものです。2015/07/29(水) 16:51:44.26ID:V/NwKXIa
>>618

音声ファイルの最初の部分に無音部分があるせいかもしれない
0622名前は開発中のものです。2015/07/29(水) 17:16:14.86ID:DMN9AHAT
先ほど質問したものです。
おそらくUnityのAndroid向けの鳴音処理が原因みたいです。
Androidプラグインを作ってSoundPoolを使うとUnityでも遅延なしで再生できました。
0623名前は開発中のものです。2015/07/29(水) 19:17:16.68ID:qDdb+lXe
2時間足らずで自己解決するようなくっだらねことを
マルチポストで聞いてんじゃねぇよ
0624名前は開発中のものです。2015/07/29(水) 20:42:55.51ID:aVmXg7FH
訳:俺が気に入った質問以外はするな
0625名前は開発中のものです。2015/07/30(木) 00:34:34.21ID:s1tkTZfy
知恵をお借りしたいです
当方:Unity5+C#

ArrayListに共通の基底クラスを持つ型の異なるGamObjectの名前が保存されていて、
その名前のprefabをロードして、そのprefabにアタッチされているスクリプトの関数を呼びたいのですが、何か良い手はありませんか?

prefabのロードは出来ていて、そこにアタッチされているスクリプトの基底クラス経由で、そのスクリプト名は取得できています。
TypeクラスにgetType()で型を取得してジェネリック版のGetComponentに渡しても、その型がないと言われてしまします。

よろしくお願いします
0626名前は開発中のものです。2015/07/30(木) 00:55:06.77ID:QkiOnQlC
Array, HashtableやArrayリストを間違った使用方法で使わないこと

Array、ArrayList、HashTableを用いないこと。.NETのジェネリックコレクションか
組み込みされた配列を使用すべきである。
古いコレクションでは多くのコードを記述しないと必要なオブジェクト型を得ることが
出来ない一方で、ジェネリックコレクションはその問題を解決し、さらに必要であれば
異なったオブジェクト型にも対応することも可能である

http://qiita.com/gamesonytablet/items/20b25ad9729e4a353c96
0627名前は開発中のものです。2015/07/30(木) 00:56:21.61ID:zFKvUOyP
>>625
prefabの instantiate戻り値にたいしてgetcomponentしてないとかじゃないよね?
06286252015/07/30(木) 01:27:01.22ID:s1tkTZfy
ありがとうございます

>>626
ジェネリックコレクションで、実行時に変わる型毎に処理するにはどうしたら良いんだろう。
もうちょっと調べてみます

>>627
prefabのinstantiateした戻り値でやっています
06296252015/07/30(木) 02:17:17.31ID:s1tkTZfy
お騒がせしました。リフレクションを駆使してなんとかアクセスできました
0630名前は開発中のものです。2015/07/30(木) 08:10:30.50ID:ITMEEesl
どんなコード書いてんのかしらねーけど、gettypeだとgameobjectが返ってくんだろ。
別に解決すりゃなんだっていいけど、そこらへんは基礎中の基礎なんだから妥協していいとこと悪いとこ見極めろよ
0631名前は開発中のものです。2015/07/30(木) 10:59:53.60ID:ptWHgWJg
ヒエラルキーの中にあるのがインスタンスで
プレハブはクラスだって事に気づかないと起こりそうな間違いだよね
0632名前は開発中のものです。2015/07/30(木) 11:34:49.07ID:fSYq3eb4
Windows10アプデした人いる?
アプデ後まともに動いてるか知りたいんだが
0633名前は開発中のものです。2015/07/30(木) 13:27:52.86ID:5Mm3VvBT
>>625
解決済みらしいので蛇足になるかもしれないけど
たぶんリフレクションとか使わなくてもis演算子とキャストで実現できると思う
0634名前は開発中のものです。2015/07/30(木) 16:08:23.63ID:51czt/3Q
Editor拡張でEditor上でのComponentの見た目を変更し、float値をスライダー化したりしているのですが、このスライダーの値を変更してもUnityEditorが「シーンが変更された」と認識してくれません。
期待する動作としては、UnityEditorのWindowタイトルバーに変更済みを示す「*」マークが付いて欲しいです。
どうやったら、変更を認識させられるでしょうか?
0635名前は開発中のものです。2015/07/30(木) 16:47:11.67ID:ew1R09Rn
EditorUtility.SetDirty(たーげっと);
じゃないすかね?
06366342015/07/30(木) 16:56:30.76ID:51czt/3Q
>>635
EditorUtility.SetDirtyを実行しているんですが、ダメです。
0637名前は開発中のものです。2015/07/30(木) 23:16:02.09ID:ra41qNPt
アドベンチャーゲームを作ってます。
キャラ立ち絵の重なり順を変えたいのですが、スプライトのorder in layerを
変更する他に方法はないでしょうか。(ゲームオブジェクト単位とか)
0638名前は開発中のものです。2015/07/31(金) 00:00:04.23ID:lVzeSdMt
>>637
同じorderでz座標を変える
0639名前は開発中のものです。2015/07/31(金) 00:09:26.44ID:sQ3Wjwzo
うーん
z軸変えても描画順は変わらんとです
sorting layerも基本order in layerと同じ感じでして
キャラのスプライトパーツ数も多いうえ数もまちまちで、
これを一個ずつ指定していくのもなんだかなあと…
0640名前は開発中のものです。2015/07/31(金) 02:42:23.30ID:d/czsGKL
2D環境なんだと思うけど、
ヒエラルキーで下になってるやつは描写順が後になって前面に描写されると思った

好きな位置にレイヤー作って差せるのに、
order変えれない状況ってのがイマイチ理解できないが

仕組み考えなおした方がいいような気がする
0641名前は開発中のものです。2015/07/31(金) 03:37:12.05ID:ZHJzifXL
>>639
一応この公式のビデオだとZ値はみてるみたいなんだけどね。(3:25付近)
まぁシェーダーでZ値無視してるようだったら意味ないけど
0642名前は開発中のものです。2015/07/31(金) 03:44:50.47ID:QPF7TamU
スクリプトでsorting layerをセットしていくのが一番じゃないかな
複数のカメラを重ね合わせる方法もあるにはあるが
0643名前は開発中のものです。2015/07/31(金) 04:04:37.74ID:YMxn16nT
>>639
zorder効かないって事は、別のパネルの下に入れてない?
0644名前は開発中のものです。2015/07/31(金) 04:36:12.06ID:d/czsGKL
2DのプロジェクトならZ軸は完全に無視されるぞ
0645名前は開発中のものです。2015/07/31(金) 05:06:12.36ID:ZHJzifXL
ごめん、さっきのビデオのURLはれてなかった。
https://www.youtube.com/watch?v=ZzcyREamMUo
これね。

このビデオは一応2Dゲームの作り方なんだけど仕様がかわったのかも?
これ2014の4月とかだしなぁ
0646名前は開発中のものです。2015/07/31(金) 09:49:34.44ID:d/czsGKL
この動画でZ軸のぜの字も出てこないんだけど、
どうやったらZ軸で変わるっていう解釈になるのか
別に去年の4月から何も変わってないけど
0647名前は開発中のものです。2015/07/31(金) 10:15:53.73ID:ZHJzifXL
ごめん、まちがえてた…こっちだ…
https://www.youtube.com/watch?v=VfAYSWpf7gg
0648名前は開発中のものです。2015/07/31(金) 10:19:03.12ID:WovsSI2/
canvas下だとヒエラルキの上位のものから順に書かれていく

Spriteの場合は標準のものだとZwriteがオフになってる
…がZwriteはあまり関係ないはずだから
ちゃんとsortinglayerとsortingorderを指定してやるしかない
s~layer orderが同じスプライトはカメラとの距離でソートされてる気がするので
そこらへんはZの管理で頑張る
0649名前は開発中のものです。2015/07/31(金) 10:28:59.90ID:3lV6tOCp
すみません、質問です。
親オブジェクトに付けたスクリプト内で、
親子関係を付けようと下記処理を書いたのですが、リンクされません。
何が問題か教えてください。
子供発生時、親の座標、回転値で表示されたのですが、親についていかないのです。
子供にはリジッドボディは付いていません。親は有り。

Instance(kodomo, transform.position,transform.rotation);
kodomo.transform.parent=transform;
0650名前は開発中のものです。2015/07/31(金) 10:32:29.23ID:d/czsGKL
自分で作ってみりゃわかるけど2DはZ軸無視
Zがカメラより後ろにあると描写されない
描写順は変わらない

仕様で分る部分をsorting layerで管理、
細かな描写順の調整は order in layer で行うようにしないのは完全に設計ミス
0651名前は開発中のものです。2015/07/31(金) 10:39:25.18ID:ZHJzifXL
>>649
((GameObject)Instance(kodomo, transform.position,transform.rotation)).transform.SetParent(transform);
0652名前は開発中のものです。2015/07/31(金) 10:48:16.06ID:DOKGhZWC
2Dプロジェクトでシーン2つ作ったとして、3つ目のシーンだけ3Dにする(z軸を使う)事ってできる?
0653名前は開発中のものです。2015/07/31(金) 12:51:33.42ID:AcTFWrHX
自分で作ったインスペクタのウィンドウタイトルって変えられないでしょうか?

インスペクタのタイトルタブに名前空間も表示されるんで、見た目が今ひとつ過ぎる…
■ このスレッドは過去ログ倉庫に格納されています