(動作原理)
- velocity(速度)を0にすることで、ブレーキを実装する。
(スクリプト)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TankMovement2_Velocity : MonoBehaviour
{
public float turnSpeed;
private Rigidbody rb;
private float turnInputValue;
void Start()
{
rb = GetComponen<Rigidbody>();
}
void Update()
{
if (Input.GetKey(KeyCode.LeftShift))
{
rb.velocity += transform.forward * 0.3f;
}
// ★後退(バック)の実装
if (Input.GetKey(KeyCode.RightShift))
{
rb.velocity -= transform.forward * 0.2f;
}
TankTurn();
// ★ブレーキの実装
if (Input.GetKeyDown(KeyCode.Z))
{
rb.velocity = Vector3.zero;
}
}
void TankTurn()
{
turnInputValue = Input.GetAxis("Horizontal");
float turn = turnInputValue * turnSpeed * Time.deltaTime;
Quaternion turnRotation = Quaternion.Euler(0, turn, 0);
rb.MoveRotation(rb.rotation * turnRotation);
}
}