Unity :5.1.1f
Language :c#
当我在Assets / Editor /文件中实例化gameObject时,在我选择另一个场景的gameobject之前它不会出现在Scene中 .
我试过调用一些方法,比如:
SceneView.RepaintAll();
HandleUtility.Repaint();
但是他们看起来没有工作 . 这是我如何产生对象:
public class PrefabEditor: Editor {
void OnSceneGUI() {
GameObject prefabInstance = Instantiate(prefab) as GameObject;
// assign him an icon label
Texture2D tex = EditorGUIUtility.IconContent("sv_label_0").image as Texture2D;
Type editorGUIUtilityType = typeof(EditorGUIUtility);
BindingFlags bindingFlags = BindingFlags.InvokeMethod | BindingFlags.Static | BindingFlags.NonPublic;
object[] args = new object[] {
prefabInstance, tex
};
editorGUIUtilityType.InvokeMember("SetIconForObject", bindingFlags, null, null, args);
EditorUtility.SetDirty(prefabInstance);
}
}
1 回答
我相信你正在使用Editor类,而不是实例化你的gameObject
像这样实例化你的gameObject
并尝试使用
我希望这有帮助 .