【发布时间】:2023-02-07 23:53:10
【问题描述】:
我有一个角色创建者脚本,它创建了一个角色模型作为孩子的玩家游戏对象
public class CreatePlayer : MonoBehaviour
{
[MenuItem("GameObject/Create Player", false, 10)]
static void Create()
{
GameObject player = new GameObject("Hero");
player.tag = "Player";
GameObject character = Instantiate((GameObject)Resources.Load("SampleCharacter")); // Instantiate the 3D model
character.transform.parent = player.transform;
CharacterController cc = player.AddComponent<CharacterController>();
cc.center = new Vector3(0f, 0.9f, 0f);
cc.radius = 0.2f;
cc.height = 1.9f;
player.AddComponent<PlayerMovement>();
Animator animator = character.AddComponent<Animator>();
animator.runtimeAnimatorController = (RuntimeAnimatorController)Resources.Load("Animations/PlayerAnimation");
player.AddComponent<PlayerAnimations>();
player.AddComponent<PlayerHealth>();
Camera.main.gameObject.AddComponent<CameraController>();
Camera.main.GetComponent<CameraController>().followTarget = player.transform;
}
}
我需要的是能够在编辑器中创建角色后通过拖放角色预制件随时更改角色模型。这也应该将动画师和动画控制器应用于添加的新预制件。
【问题讨论】: