如何在Unity C#代码的GameObject.CreatePrimitive中添加.fbx(人类3D对象)?

时间:2018-12-31 06:11:42

标签: c# visual-studio unity3d

以前,我问过question,并获得了在运行时添加和销毁3D对象的正确解决方案。

通过使用 GameObject.CreatePrimitive(PrimitiveType.Capsule);我只能添加有限的3D对象,例如 Cube,Capsules和其他

现在的问题是,我要添加3D人体 .fxb 对象。是否可以在以下代码中添加 .fbx 对象?

$(document).ready(function(){
    var a = $('div.content div.sub_content').height();
    alert(a);
});

2 个答案:

答案 0 :(得分:1)

长话短说:您不能!

GameObject.CreatePrimitive仅创建基本体,例如立方体圆柱体等。如果要在运行时实例化预制件,建议您查看Instantiate

您可以改为:

GameObject yourGameObject=whatever;
private void createObject()
{
    caps = Instantiate(yourGameObject);
    Capsules.Enqueue(caps);
}

答案 1 :(得分:1)

您可以使用prefabs进行此操作。在编辑器中创建预制件之后 您可以使用以下代码在脚本中使用它:

using UnityEditor;

// Loading the prefab this way only works in the editor.
GameObject myPrefab = AssetDatabase.LoadAssetAtPath<GameObject>("Assets/Prefabs/Character.prefab");

// Use this otherwise:
// using UnityEngine;
// GameObject myPrefab = Resources.Load<GameObject>("Prefabs/Character");
// Note: The Prefabs folder has to be placed in a folder named Resources.

在加载预制件后,您可以使用Instantiate进行复制。

GameObject character = Object.Instantiate(myPrefab);
// Set location, rotation, ...
Capsules.Enqueue(character);