C# 如何使用脚本在Unity中放置Blender模型?

C# 如何使用脚本在Unity中放置Blender模型?,c#,unity3d,3d,blender,C#,Unity3d,3d,Blender,我制作了Blender模型,并将其拖到assets folder.blend中,而不是FBX中。现在我做一些类似的事情 var robot = GameObject.Instantiate (Resources.Load("robot")) as GameObject; robot.transform.position = new Vector3 (description.X, description.IsRound ? description.ZSize : description.ZSize

我制作了Blender模型,并将其拖到assets folder.blend中,而不是FBX中。现在我做一些类似的事情

var robot = GameObject.Instantiate (Resources.Load("robot")) as GameObject;
robot.transform.position = new Vector3 (description.X, description.IsRound ? description.ZSize : description.ZSize / 2f, description.Y);
robot.AddComponent<Rigidbody> ();
robot.renderer.material.color = Color.green;
robot.transform.localScale = new Vector3 (description.XSize, description.ZSize, description.YSize);
robot.transform.rotation = Quaternion.Euler (0, (float)description.Yaw.Grad, 0);
robot.transform.localScale = new Vector3 (30, 30, 30);
我得到了立方体。我的问题是如何正确加载blender模型并从中创建GameObject?

资源用于加载从web动态下载的资产。如果项目中已经有一个资源或预制件,则可以从编辑器中的脚本链接到资产文件夹中的预制件/模型文件

public GameObject Model; // set it in the editor
void SomeMethod()
{
    var robot = GameObject.Instantiate (Model) as GameObject;
    robot.transform.position = new Vector3 (description.X, description.IsRound ? description.ZSize : description.ZSize / 2f, description.Y);
    robot.AddComponent<Rigidbody> ();
    robot.renderer.material.color = Color.green;
    robot.transform.localScale = new Vector3 (description.XSize, description.ZSize, description.YSize);
    robot.transform.rotation = Quaternion.Euler (0, (float)description.Yaw.Grad, 0);
    robot.transform.localScale = new Vector3 (30, 30, 30);
}
必须将“混合器”中的对象导出为fbx文件从场景中删除摄影机和灯光 将其拖动到“资源”文件夹中,并将其转换为预设 在Unity中创建一个publci游戏对象并在脚本中拖动预置 使用此行放置它:实例化emyprefab、新向量30f、0f、0f、四元数.identity;
您使用Resources.Load而不是Prefact的引用是否有特定的原因?另外,请详细说明“我在场景中一无所获”的确切含义。你没有发现任何错误吗?场景层次结构中有新的游戏对象吗?我使用“Resource.Load”,因为我在互联网上找到了这个选项,我不知道如何使用Prefable的引用。我没有得到任何错误,只是空场景。是的,场景层次结构中没有任何对象。好的,所以我必须问一个更基本的问题:你在代码中这样做而不是在编辑器中创建预置有什么特殊的原因吗?是的,我不能使用编辑器,因为这是用机器人生成竞技场的代码的一部分,应该是自动化的。我在资源中有混合器模型,如何在模型中正确设置?您的资源文件夹中有资源文件吗?所以,在脚本中公开一个公共字段,只需将文件从unity editor简介中的“资源”面板拖放到附着到对象的行为的属性字段。
public GameObject Model; // set it in the editor
void SomeMethod()
{
    var robot = GameObject.Instantiate (Model) as GameObject;
    robot.transform.position = new Vector3 (description.X, description.IsRound ? description.ZSize : description.ZSize / 2f, description.Y);
    robot.AddComponent<Rigidbody> ();
    robot.renderer.material.color = Color.green;
    robot.transform.localScale = new Vector3 (description.XSize, description.ZSize, description.YSize);
    robot.transform.rotation = Quaternion.Euler (0, (float)description.Yaw.Grad, 0);
    robot.transform.localScale = new Vector3 (30, 30, 30);
}