以前,我问过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);
});
答案 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);