CharacterController平滑移动到某点

简介:


通常使用CharacterController控制玩家移动时,我们都会写以下代码:

void Update()
{
    var move = (moveTarget - transform.Position) * role.MoveSpeed;
    role.characterController.Move(move * Time.deltaTime);
}

经过调试,当玩家与目标点越接近时,move值会越来越小,表现为与目标点越近速度越慢。

 

修改后

复制代码
//保证每次move的值一样
var offset = (moveTarget - transform.position);
if (offset.sqrMagnitude > 0.01f)
 {
      offset = offset.normalized * role.MoveSpeed;
      role.characterController.Move(offset * Time.deltaTime);
 
复制代码

 

参考:http://answers.unity3d.com/questions/550472/move-character-controller-to-a-point.html





本文出自赵青青,原文链接:http://www.cnblogs.com/zhaoqingqing/p/6841755.html,如需转载请自行联系原作者

相关文章
|
1月前
|
C# 图形学 计算机视觉
使用归一化盒过滤器对图像进行平滑处理
使用归一化盒过滤器对图像进行平滑处理
24 0
|
3月前
|
算法 测试技术 持续交付
四种灰度分布方案
【6月更文挑战第10天】产品迭代加速,灰度发布成为降低风险、优化用户体验的关键。它允许新老版本并存,逐步引入流量验证新版本稳定性。
|
9月前
|
算法 数据可视化 C#
C# | Chaikin算法 —— 计算折线对应的平滑曲线坐标点
本文将介绍一种计算折线对应的平滑曲线坐标点的算法。该算法使用Chaikin曲线平滑处理的方法,通过控制张力因子和迭代次数来调整曲线的平滑程度和精度。通过对原始点集合进行切割和插值操作,得到平滑的曲线坐标点集合。实验结果表明,该算法能够有效地平滑折线,并且具有较高的精度和可控性。
177 0
C# | Chaikin算法 —— 计算折线对应的平滑曲线坐标点
|
计算机视觉
图像增强—空域平滑
图像增强—空域平滑
|
并行计算 iOS开发 MacOS
Metal每日分享,调整灰度系数gamma滤镜效果
Metal每日分享,调整灰度系数gamma滤镜效果
Metal每日分享,调整灰度系数gamma滤镜效果
|
人工智能 开发者 Python
边缘分布 | 学习笔记
快速学习边缘分布
264 0
边缘分布 | 学习笔记
|
Kubernetes 应用服务中间件 开发工具
学习笔记—k8s 平滑升级
1.查看当前k8s集群版本
234 0
学习笔记—k8s 平滑升级