Unity第一人称控制器踩坑记录

it2022-05-05  126

在一次把2017的工程升级到2018后,场景中有个动态创建第一人称角色控制器的功能,在升级后此功能创建出来的位置赋值无效,每次创建都会回到预制体原点,经过一步步查找原因,是由于是Unity2017自带资源FirstPersonController中的问题,

m_CollisionFlags = m_CharacterController.Move(m_MoveDir * Time.fixedDeltaTime);

这一句执行时m_MoveDir为(0,0,0),position却在执行前后不一致,通过测试发现,move是从预制体起始点移动,而不是从赋值的position移动,而2017却是从赋值点移动。我的解决方法时把预制体的active设为False,在创建时先赋值位置,在激活,Move执行时就不会从预制体其实点移动了

 


最新回复(0)