unity3d--人物移动(RPG游戏黑暗之光)

本文介绍了在Unity3D中实现RPG游戏人物移动的详细过程,包括角色的点击移动、转向、距离计算和停止逻辑。在原方案中,角色可能会因地形障碍超出目标范围持续移动。为解决这个问题,文章提出了在鼠标松开后持续检测角色状态,确保角色始终朝向目标点的优化策略。
摘要由CSDN通过智能技术生成
角色的移动分为两步实现:①角色的移动;②角色播放移动动画。
一、角色的移动
前期工程已经实现了朝向点击方向,则现在只需要让角色向前移动即可。脚本如下:
<span style="font-size:12px;">private CharacterController playercontroller; //生命角色控制器,并调用角色的CharacterController组件
private PlayerDirection dir; //上期工程中控制角色朝向的脚本
private float speed; //设定角色移动速度
void Start( )
{
    playercontroller = GetComponent<CharacterController>(); //获取角色的控制器组件	
    dir = GetComponent<PlayerDirection>(); //获取角色的PlayerDirection脚本组件
    speed = 4; //设定角色移动速度为4
}
void Update()
{
    float distance = Vector3.Distance( dir.targetPosition,tranform.position ); //获取目标地点与当前位置的距离
    if( distance > 0.5f ) //设定距离判断范围,注:范围需要设定精准
    {
        playercontroller.SimpleMove( transform.forward.*speed); //这样角色就可以正常移动了
    }
}</span></
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值