【3Dゲームエンジン】Unity質問スレッド21 [転載禁止]©5ch.net
■ このスレッドは過去ログ倉庫に格納されています
0428名前は開発中のものです。
2015/12/07(月) 01:17:30.55ID:kAr350d2少なくともコピペしたコードが何をしてるのか理解しようとしてみましょう
そうすればできることがどんどん増えていきますよ
transform.Translate(new Vector3(directionX, directionY, 0) * Time.deltaTime * 0.5f);
ここで移動後の位置を設定してるのはわかるよね?
この「Vector3(directionX, directionY, 0)」がX,Y,Zの指定です
で、ここのZ(今「0」が設定されてる)を直接変えたいところだけど、
「Time.deltaTime * 0.5f」がかけてあり、0.5秒あたりの移動量で設定されてるから、
このtransform.Translateの処理直後に↓これ突っ込んでみたらと
Vector3 pos = transform.position;//今いる場所のxyz
pos.z = 1f - pos.y / 100;//z変更。キャラ描画の奥行き基点を1.0としてyで計算
transform.position = pos;//変更したxyzを上書き
プレイヤー以外のキャラが動くならそちらの処理にも対処入れておかないといけないね
あと2Dということはマップチップも配置してるよね?
ならばマップチップの座標にもZが要るかもね(マップチップは層が違うから基点を変える必要ありです)
マップなどはレイヤーで管理してるとは思うけど…影響がでるなら配置時に設定が必要
そもそもz使って管理するのがメカニムと相性良いかどうかは微妙だけど、作り次第かな
■ このスレッドは過去ログ倉庫に格納されています