TPS2
4. TPS(Third-Person Shooter)視点での移動
TPSスタイルの移動では、カメラの向きを基準にプレイヤーが動くように設計します。これは、キャラクターが常にカメラが向いている方向に進むように制御されます。
TPSスタイル移動のサンプルコード:
using UnityEngine;
public class TPSMove : MonoBehaviour
{
public float speed = 5f;
public Transform cameraTransform;
private CharacterController controller;
void Start()
{
controller = GetComponent<CharacterController>();
}
void Update()
{
float moveInput = Input.GetAxis("Horizontal");
float forwardInput = Input.GetAxis("Vertical");
Vector3 moveDirection = (cameraTransform.right * moveInput + cameraTransform.forward * forwardInput).normalized;
moveDirection.y = 0; // Y軸の移動を防ぐ
controller.Move(moveDirection * speed * Time.deltaTime);
}
}
組み合わせの例
1. Transformの移動にTPS視点を追加
Transform移動をTPSカメラ視点で動かす方法を紹介します。
using UnityEngine;
public class TransformTPSMove : MonoBehaviour
{
public float speed = 5f;
public Transform cameraTransform;
void Update()
{
float moveInput = Input.GetAxis("Horizontal");
float forwardInput = Input.GetAxis("Vertical");
Vector3 moveDirection = (cameraTransform.right * moveInput + cameraTransform.forward * forwardInput).normalized;
moveDirection.y = 0;
transform.position += moveDirection * speed * Time.deltaTime;
}
}
カメラの向きに基づく移動を実現。