我正在为Android构建自上而下的游戏,该游戏本身是3D。我需要它使角色平滑地面对操纵杆的方向并朝该方向移动。我可以将操纵杆的当前方向作为Vector 2获取,但是不知道如何使用Vector 2变量旋转播放器。
这是我用来移动汽车(Player)的代码。我将Joystick Pack用于触摸操纵杆。 p>
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
public FixedJoystick joystick;
public float speed = 10f;
public float rotateSpeed = 40f;
Rigidbody rb;
private void Start()
{
rb = GetComponent<Rigidbody>();
}
private void Update()
{
float horizontal = joystick.Horizontal;
float vertical = joystick.Vertical;
Vector3 movement = transform.InverseTransformDirection(new
Vector3(horizontal, 0, vertical));
rb.velocity = (movement * speed);
}
}
先谢谢您!
答案 0 :(得分:0)
frameMovement = new Vector3(horizontal, 0f,vertical);
Quaternion rotation = Quaternion.LookRotation(frameMovement);
transform.rotation = rotation;
这有助于我在操纵杆所面对的位置移动和旋转。