unity3d - 统一 : How to instantiate a prefab by string name to certain location?

标签 unity3d

我将所有字符串名称保存在一个列表中,以保存玩家拥有的所有预制车辆。

字符串名称是预制名称。

我将如何按名称生成/实例化预制件?

并在特定位置或游戏对象上生成预制件?

谢谢!

最佳答案

List<string> playerOwnPrefabNames;
GameObject someGameObject;

foreach(prefabName in playerOwnPrefabNames)
{
    var prefabName = playerOwnPrefabNames;
    var prefabInstance = Instantiate(Resources.Load(pathOfPrefabDirectory+prefabName)) as GameObject;
}

然后,在 someGameObject 上生成预制件(这将使实例化的预制件成为 someGameObject 的 child ):

prefabInstance.SetParent(someGameObject.transform);

将预制件移动到特定位置:

prefabInstance.transform.position = new Vector3(100, 200, 100);

引用:
  • Object.Instantiate
  • Resources.Load
  • Transform.SetParent
  • 关于unity3d - 统一 : How to instantiate a prefab by string name to certain location?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49186166/

    相关文章:

    c# - 在 C# 中创建一个通用函数以将数组转换为字典

    unity3d - 当成为新父对象的父对象时,如何自由地(在内部)移动子对象?

    c# - iOS 8 中的 IsolatedStorage 异常

    android - 未创建屏幕截图 | Unity3d, 安卓

    dependency-injection - Dynamo IoC 是否适用于 MonoTouch 和 MonoDroid?

    c# - Unity3d - eulerAngles(局部和全局)与检查器中的完全不同

    c# - 将实时镜头从摄像机流式传输到Unity3D

    c# - 从位置找到游戏对象上最近/最近的点?

    c# - 在 InputField 中检测复制和粘贴

    c# - 统一和缺失的方法和类