[過去ログ]
【3Dゲームエンジン】Unity質問スレッド28 [無断転載禁止]©2ch.net (1002レス)
【3Dゲームエンジン】Unity質問スレッド28 [無断転載禁止]©2ch.net http://echo.5ch.net/test/read.cgi/gamedev/1481636092/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
739: 名前は開発中のものです。 [sage] 2017/05/09(火) 09:37:28.03 ID:pBw3qVGD public Transform player, playerCamera, centerPosition; private float mouseX,mouseY; public float mouseSpeed = 10f; public float mouseYPosition = 1f; private float moveFB,moveLR; public float moveSpeed = 2f; public float rotationSpeed = 5f; private Vector3 move = Vector3.zero; private float rotations = 180.0f; void Update () { Zoom (); Move (); } void Zoom(){ カメラ操作なので省略 } void Move (){ moveFB = Input.GetAxis ("Vertical") * mouseSpeed; moveLR = Input.GetAxis ("Horizontal") * mouseSpeed; move = new Vector3 (moveLR,0,moveFB); player.GetComponent<CharacterController> ().Move (move*moveSpeed*Time.deltaTime); centerPosition.position = new Vector3 (player.position.x,player.position.y + mouseYPosition,player.position.z); Vector3 playerDir = move; if(playerDir.magnitude > 0.1f){ Quaternion q = Quaternion.LookRotation(playerDir); transform.rotation = Quaternion.RotateTowards(transform.rotation , q , rotationSpeed * Time.deltaTime); } スクリプトでやりたいことはカメラ、プレイヤー、プレイヤーの頭上を指定してカメラがプレイヤー周りを回転、ズーム。プレイヤーがダークソウル、PSO2のように方向キーで入力した方向に移動する、ということでした。 ですが実行したところカメラの操作は出来たのですがプレイヤーは方向キーの方向を向いて移動せず、その後も色々調べたのですが解決には至らずご質問させて頂きました。 もう一つ、方向キーの方向へ移動するスクリプトを探す時、主に「Unity 方向キー 移動」と検索していましたがこの操作を検索する時はどのような言葉で検索するべきでしょうか? ゲームに関わる用語には疎く初歩的な質問で申し訳ありません。よろしくお願いいたします。 http://echo.5ch.net/test/read.cgi/gamedev/1481636092/739
741: 名前は開発中のものです。 [] 2017/05/09(火) 11:39:51.32 ID:N75Uh4KE >>739 私も初心者ですが、 ワールド座標ではなく現在のカメラの方向を移動の基準にしたいのであれば以下が参考になるかも http://tech.pjin.jp/blog/2016/11/04/unity_skill_5/ http://echo.5ch.net/test/read.cgi/gamedev/1481636092/741
746: 名前は開発中のものです。 [sage] 2017/05/09(火) 13:15:52.69 ID:B5ZGB86U >>739 ワールド座標とローカル座標の勉強をする事。 それが腑に落ちれば、キャラの正面方向に加算するだけでどんな方向を見ていても、正面方向に進んでくよ。 transform.localPotision.z http://echo.5ch.net/test/read.cgi/gamedev/1481636092/746
748: 名前は開発中のものです。 [sage] 2017/05/09(火) 14:05:37.97 ID:Mbl8vaYC >>739 CharacterController.Moveはキャラクターのローカル座標を基準にキャラクターを動かすよって入力をそのまま渡すとラジコン操作になる カメラ=現在見ている画面 を基準に動かしたい場合 入力をカメラのローカル座標系におけるベクトルとし、これをキャラクターのローカル座標系におけるベクトルに変換する必要がある よって、わかりやすくやるなら以下のような変換をすればCharacterController.Moveに渡せる形になる。 move=Camera.main.TransformDirection(move);//一旦ワールド座標系に変換 move=player.InverseTransformDirection(move);//プレイヤーのローカル座標系に変換 http://echo.5ch.net/test/read.cgi/gamedev/1481636092/748
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.027s