1.创建物体
在Hierarchy面板空白地方右键->3D Object创建一个Plane和一个Capsule
2.添加组件
鼠标单击选中Capsule
在右侧Inspector面板删除Capsule Collider碰撞体组件
添加一个Character Controller(角色控制器,自带一个碰撞体)和一个脚本ThirdPersonController(名字可以自己取)
3.编写代码
在ThirdPersonController
中定义变量:
public Transform cameraTransform,cameraPole;
public float moveSpeed,cameraSpeed;
public LayerMask cameraLayers;
CharacterController character;
float cameraPitch,maxDistance;
float leftId, rightId, halfWidth;
Vector2 startPos,lookInput,moveInput;
在Start
中初始化变量
void Start()
{
leftId = -1;
rightId = -1;
halfWidth = Screen.width / 2;
character = GetComponent<CharacterController>();
cameraPitch = cameraPole.localRotation.eulerAngles.x;
maxDistance = cameraTransform.localPosition.z;
}
创建一个函数 GetTouchInput
// 获取手指触摸的函数
void GetTouchInput()
{
//获取每一个手指的触摸信息
foreach(Touch t in Input.touches)
{
switch (t.phase)
{
case TouchPhase.Began:
//点击接触
if (t.position.x < halfWidth && leftId == -1)
{
leftId = t.fingerId;
startPos = t.position;
}else if (t.position.x > halfWidth && rightId == -1)
{
rightId = t.fingerId;
}
break;
case TouchPhase.Ended:
//手指离开
case TouchPhase.Canceled:
//系统取消跟踪手指
if(t.fingerId == leftId)
{
leftId = -1;