如何在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?)

我尝试过一些东西,但我有点烦恼的是,无论我在哪里搜索,都能为我提供同样的解决方案,但都不起作用。有人能帮我吗?

如何在Unity中更改CharacterMotor

我也遇到了同样的问题。事实证明,这是因为标准的CharacterController脚本是用javascript编写的,并且不能从C#脚本中引用CharacterMotor类。

幸运的是,有人已经经历了将CharacterMotor、FSInputController和PlatformInputController转换为C#的麻烦。

http://forum.unity3d.com/threads/charactermotor-fpsinputcontroller-platforminputcontroller-in-c.64378/

现在,正如它所说,您必须将CharacterMovement脚本附加到Player对象。