unity引擎我想把预制体跟脚本关联,但是显示出来是不让关联的

问题遇到的现象和发生背景

img

问题相关代码,请勿粘贴截图

这是我Guncontroller的代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GunController : MonoBehaviour
{

public Transform weaponHold;

public Gun startingGun;
Gun equippedGun;

void Start()
{
    if (startingGun != null)
    {
        EquipGun(startingGun);
    }
}
public void EquipGun(Gun gunToEquip)
{
    if (equippedGun != null)
    {
        Destroy(equippedGun.gameObject);
    }
    equippedGun = Instantiate(gunToEquip,weaponHold.position,weaponHold.rotation) as Gun;
    equippedGun.transform.parent = weaponHold;
}

}

public Gun startingGun;
把你代码中的这个第3行, 改成 public GameObject startingGun; 因为你unity里面的gun那个物体没有挂gun这个脚本,但是你代码里面没有用到gun的这个脚本的地方。

你的预制体肯定不能导入啊,场景里都没出现,没有生成脚本的实例,unity自然不知道怎么添加了,按楼下说的换成gameobject也行,把预制体加载到场景里之后再获取赋值也行

直接把他拖拽到这上面就可以了

img