下面的案例是实现宠物跟随的效果
下面的代码是角色移动的脚本
using UnityEngine;
using System.Collections;
public class PlayerMove : MonoBehaviour
{
// Update is called once per frame
void Update () {
//按W键 前进
if (Input.GetKey(KeyCode.W))
{
transform.position += transform.forward * 1 * Time.deltaTime;
}
//按S键 后退
if (Input.GetKey(KeyCode.S))
{
transform.position += transform.forward * -1 * Time.deltaTime;
}
//按A键 向左旋转
if (Input.GetKey(KeyCode.A))
{
transform.Rotate(transform.up, -30 * Time.deltaTime);
}
//按D键 向右旋转
if (Input.GetKey(KeyCode.D))
{
transform.Rotate(transform.up, -30 * Time.deltaTime);
}
}
}
以下是宠物绑定的脚本
using UnityEngine;
using System.Collections;
public class Follow : MonoBehaviour {
public Transform target;
public Vector3 offset;
//向后的距离
public float backDistance = 2;
//高度
public float topDistance = 2;
//在LateUpdate中进行物理
void LateUpdate()
{
//设置偏移量
offset = -target.forward * backDistance + target.up * topDistance;
//使用插值,让宠物有一个平滑的移动
transform.position = Vector3.Lerp(transform.position, target.position + offset,Time.deltaTime);
//宠物的旋转和玩家的旋转保持一致
transform.rotation = target.rotation;
}
}
宠物跟随效果:
作者:yy763496668 发表于2017/8/16 23:03:20 原文链接
阅读:24 评论:0 查看评论