前回は結局 ロコモーションもスクリプトがおかしいですよーと警告が出てどうにもなりませんでした。しかも、ロコモーションアセットを全部消しても、ビルドができなくなるというわけわからん状態になったので、プロジェクトを捨てました。恐ろしいです。ここいらでちゃんとUnity勉強したほうがいいかもしれませんね。
基本に立ち返って、自分でカメラ操作のスクリプトを実装していこうと決意した次第であります。
Contents
今回の成果:大きな前進(*´﹃`*)
キーボードのWASDまたは矢印キーでプレイヤー視点を移動することに成功しました。
スクリプト:PlayerMover.cs
動いた、嬉しい。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerMover : MonoBehaviour { [SerializeField] float angularVelocity = 100f; [SerializeField] float movingVelocity = 5f; float horizontalAngle =0f; float frontMove = 0f; #if UNITY_EDITOR // Update is called once per frame void Update() { // transformを取得 座標を取得 vector3形式 Transform myTransform = this.transform; Vector3 moveDirection; // 1updateごとに加算する値を計算 var horizontalRotation = Input.GetAxis("Horizontal") * angularVelocity * Time.deltaTime; var frontMove = Input.GetAxis("Vertical") * movingVelocity * Time.deltaTime; // 座標を1updateごとに加算 horizontalAngle += horizontalRotation; moveDirection = new Vector3(Mathf.Sin(myTransform.eulerAngles.y * Mathf.Deg2Rad), 0, Mathf.Cos(myTransform.eulerAngles.y * Mathf.Deg2Rad)) ; // myTransformを更新 myTransform.rotation = Quaternion.Euler(0f, horizontalAngle, 0f); myTransform.position += moveDirection * frontMove; } #endif } |
The following two tabs change content below.
Keita N
最新記事 by Keita N (全て見る)
- 2024/1/13 ビットコインETFの取引開始:新たな時代の幕開け - 2024年1月13日
- 2024/1/5 日本ビジネスにおける変革の必要性とその方向性 - 2024年1月6日
- 2024/1/3 アメリカ債権ETFの見通しと最新動向 - 2024年1月3日