如何在Unity中更改CharacterMotor
本文关键字:CharacterMotor Unity | 更新日期: 2023-09-27 18:27:15
我想在unity中更改玩家的速度,但我无法从另一个脚本访问CharacterMotor。我在网上搜索了一下,发现了这个(针对C#):
Player = GameObject.FindGameObjectsWithTag("Player")[0];
Player.GetComponent("CharacterMotor").
CharacterMotorMovement.maxForwardSpeed = 6.0;
但这不起作用,我得到了错误:
Assets/Scripts/MainScript.cs(60,63): error CS1061:
Type `UnityEngine.Component' does not contain a definition for
`CharacterMotorMovement' and no extension method
`CharacterMotorMovement' of type `UnityEngine.Component' could be
found (are you missing a using directive or an assembly reference?)
我尝试过一些东西,但我有点烦恼的是,无论我在哪里搜索,都能为我提供同样的解决方案,但都不起作用。有人能帮我吗?
我也遇到了同样的问题。事实证明,这是因为标准的CharacterController脚本是用javascript编写的,并且不能从C#脚本中引用CharacterMotor类。
幸运的是,有人已经经历了将CharacterMotor、FSInputController和PlatformInputController转换为C#的麻烦。
http://forum.unity3d.com/threads/charactermotor-fpsinputcontroller-platforminputcontroller-in-c.64378/
现在,正如它所说,您必须将CharacterMovement脚本附加到Player对象。