2017-06-03 18 views
0

私はこれを行うことによって、ゲームオブジェクトからプレハブを作るしようとしている、次の問題を抱えている:Unityでゲームオブジェクトからプレハブを作成するには?

GameObject Res = GameObject.Find("Object"); 
UnityEditor.PrefabUtility.CreatePrefab("Assets/Temporary/Object.prefab", Res); 

しかし、それは私にこのエラーがスローされます。

The name `UnityEditor' does not exist in the current context

私がしようとしている何ユーザーがキーを押すとオブジェクトがプレハブとして保存されるので、後でゲームで取り戻すことができます。

答えて

3

UnityEditor名前空間からのものはビルドで使用できません。 PrefabUtility.CreatePrefabUnityEditor名前空間であり、したがってのみをエディタで使用できます。このため、プロジェクトをビルドしようとすると、そのエラーが発生します。

ゲームオブジェクトを保存するために、保存する必要があるものだけを保存します。重要なのは、GameObjectに接続されたコンポーネントを取得し、その値をシリアル化して保存することです。バイナリ、xmlまたはjsonにシリアル化できます。 Thisはjsonとして保存したい場合に起動します。

関連する問題