[過去ログ] 【3Dゲームエンジン】Unity質問スレッド28 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
748(2): 2017/05/09(火)14:05 ID:Mbl8vaYC(2/3) AAS
>>739
CharacterController.Moveはキャラクターのローカル座標を基準にキャラクターを動かすよって入力をそのまま渡すとラジコン操作になる
カメラ=現在見ている画面 を基準に動かしたい場合
入力をカメラのローカル座標系におけるベクトルとし、これをキャラクターのローカル座標系におけるベクトルに変換する必要がある
よって、わかりやすくやるなら以下のような変換をすればCharacterController.Moveに渡せる形になる。
move=Camera.main.TransformDirection(move);//一旦ワールド座標系に変換
move=player.InverseTransformDirection(move);//プレイヤーのローカル座標系に変換
752(1): 2017/05/09(火)17:16 ID:Mbl8vaYC(3/3) AAS
>>748
ごめんこれ間違い、下が正解
move=Camera.main.transform.TransformDirection(move);//一旦ワールド座標系に変換
move=player.transform.InverseTransformDirection(move);//プレイヤーのローカル座標系に変換
757: 2017/05/09(火)21:26 ID:pBw3qVGD(2/2) AAS
>>741>>746>>748>>752
返信が遅れてしまい申し訳ありません。ありがとうございました。
少ししか出来てませんが助言通りに座標関連を見直して色々スクリプトを弄ったところキー方向を向いて移動させることができるようになりました。
修正後(centerPositionの移動を分けました)
void Update () {
Zoom ();//省略
Move ();
省18
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.029s