Unity3d Unity脚本对象仅序列化Unity对象
我正在尝试制作一个拼写系统。我的系统基类如下所示:Unity3d Unity脚本对象仅序列化Unity对象,unity3d,extending,inspector,scriptable-object,Unity3d,Extending,Inspector,Scriptable Object,我正在尝试制作一个拼写系统。我的系统基类如下所示: public abstract class MagicBook : ScriptableObject { public Sprite bookSprite; public float manaCost; public float coolDown; public bool rapidFire; [HideInInspector] public bool coolDownElapsed; public vi
public abstract class MagicBook : ScriptableObject {
public Sprite bookSprite;
public float manaCost;
public float coolDown;
public bool rapidFire;
[HideInInspector] public bool coolDownElapsed;
public virtual void OnActivate() {
}
public virtual void OnActivate(Vector3 position, Quaternion rotation) {
}
}
然后,我有另一个从MagicBook扩展的类,在这里我重写了OnActivate函数。我现在的问题是,在inspector中只显示变量bookSprite,而所有其他值都不存在。我尝试在变量前面添加一个[SerializeField],并在扩展类中定义新的变量。但他们仍然没有表现出来。有人知道为什么他们没有出现,或者我如何解决这个问题吗
感谢您的帮助和时间。您是否为
ScriptableObject
创建了资产?将属性添加到扩展类:
[CreateAssetMenu(fileName=“Data”,menuName=“ScriptableObjects/NewBook”,顺序=1]
然后使用创建资产
另一个想法是:
可能您有此对象的自定义抽屉,但是。。。
将检查器转换为调试模式,并检查属性是否可见。
无法使用Unity 2020.1.0f1重现此问题
公共类新书:MagicBook
{
}
这是第一次;我肯定:他/她没有实例化任何资产。当您像查看MonoBehavior一样在Inspector中查看ScriptableObject类时,只有sprite引用被序列化。这是第一个:他/她没有实例化任何资产。当您像查看MonoBehavior一样在Inspector中查看ScriptableObject类时,只有sprite引用被序列化。请显示其他类的代码。