Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d Unity脚本对象仅序列化Unity对象_Unity3d_Extending_Inspector_Scriptable Object - Fatal编程技术网

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引用被序列化。请显示其他类的代码。