自学了几周unity了,感觉还是要做点什么上手才快,所以先做个简单的RPG游戏吧。然后很快就做出了CS那种第一人称视觉的人物操控,不过感觉体验不太好,不能边走边看周围,所以重新模仿了原神那种可以环绕人物随便转动视觉,人物也可以随意走动的模式。
代码写得可能有点啰嗦,如果有大神知道更好的实现方法,麻烦指教一下,真心感谢
首先把镜头放到人物的身后,然后各自挂上脚本就行了。
CameraControl
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraControl : MonoBehaviour
{
private Transform player;
private Vector3 dir;
// Start is called before the first frame update
void Start()
{
player = GameObject.FindGameObjectWithTag("Player").transform;
dir = player.transform.position - transform.position;
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyUp(KeyCode.LeftAlt))
{
Cursor.lockState = Cursor.lockState == CursorLockMode.Locked ? CursorLockMode.None : CursorLockMode.Locked;
}
transform.position = player.transform.position - dir;
if(Input.GetAxis("Mouse ScrollWheel") > 0)
{
transform.Translate(dir/6f, Space.World);
dir = player.transform.position - transform.position;
}
else if (Input.GetAxis("Mouse ScrollWheel") < 0)
{
transform.Translate(-dir/6f, Space.World);
dir = player.transform.position - transform.position;
}
if (Input.GetAxis("Mouse X") != 0f)
{
float mouseX = Input.GetAxis("Mouse X");
transform.RotateAround(player.position, Vector3.up, mouseX * 400 * Time.deltaTime);
dir = player.transform.position - transform.position;