blender模型导入unity项目报错

本文介绍如何从Blender导出模型至Unity,并解决坐标系及缩放问题。通过直接拖拽.blend文件或使用FBX格式,解决模型大小异常及左手坐标系不适配等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

软件版本:

blender 2.78

unity 5.3.5f1


如果将blender的模型整合文件导出为FBX,unity可以用,但是会产生坐标系的错误,因为unity是左手坐标系而blender不是

还有个问题就是缩放问题,在模型导入到unity后,file scale 默认是0.01 。要么在blender导出设置里把1倍数后面的小按钮打开,要么就在FBX放入unity 后

在这个模型的文件夹里会有一个.meta文件。找到里面的这一句

useFileScale: 1


把后面的1改为0 模型的大小就正常了。注意自己手动把模型倍数 100调为1 。。。因为这时候模型是10000倍。你可能看不到模型了。


但是他的左手坐标系特别令人不舒服,在看了youtube上前辈们 blender  to unity的视频后。

发现直接将.blender 文件拖入unity可以解决这个问题。


但是我的却一直报错

Blender could not convert the .blend file to FBX file.
You need to use Blender 2.45-2.49 or 2.58 and later versions for direct Blender import to work.


搜了百度,感觉百度不如谷歌得到的结果专业准确。

其实这个错误不是unity 也不是blender 的锅,是python 和微软的锅。。。

解决方法就是 在blender的文件夹下替换python35.dll这个文件

python35.dll 谷歌第一个搜索结果就是

或者可以下载我上传到网盘的dll

http://pan.baidu.com/s/1hs9Ja40


关于 untiy 导入blender模型的具体操作(轴向问题)

我录制了一个视频,大家可以看一下,A站的高清

http://www.acfun.tv/v/ac3267425

优酷的渣清,所以不发链接了


目前建议的做法就是为blender导出的模型文件设置一个Unity父空物体。

.blender文件直接拖入untiy 是只会导入当前动作

FBX则可以将全部动作导入

### Blender 模型导入 Unity 后单面显示问题解决方案 在处理 Blender 模型导入Unity 中遇到的单面显示问题时,有几个关键点需要注意: #### 取消自动烘焙选项 为了防止不必要的资源消耗,在导入模型之前应取消 Unity 的“Auto Generate”(自动烘焙)选项。许多用户报告称,默认情况下该选项被启用,这可能导致系统持续处于计算状态,影响性能[^1]。 #### 设置 FBX 文件属性 对于从 Blender 导出并准备导入UnityFBX 文件,确保其导出设置正确至关重要。具体来说,“Embed Media”的选择会影响材质和纹理能否随模型一同加载成功。即使选择了此选项,有时仍需手动配置材料以避免出现所谓的“裸模”。 #### 调整法线方向 针对单面渲染的问题,最常见原因是网格顶点法线的方向错误。BlenderUnity 对于正面朝向有不同的定义方式;通常情况下,Unity 默认采用顺时针顺序来决定多边形表面的可见性。因此,建议检查并调整 Blender 中的对象法线使其向外指向,即通过 `Ctrl+N` 或者使用 “Recalculate Outside Normals” 功能修正法线方向后再重新导出模型[^2]。 #### 修改着色器模式 另一个潜在因素可能是使用的着色器类型不适合双面或多层效果展示。可以尝试切换为支持两面绘制的标准 Unlit Shader 或其他自定义着色器,从而允许背面也被正常渲染出来。此外,也可以直接修改现有材质球中的 "Cull Mode" 属性设为 Off 来禁用剔除操作,使得物体无论哪一面都能看到。 ```csharp // C#脚本用于批量更改场景内所有MeshRenderer组件下的Material culling mode using UnityEngine; public class ChangeCullMode : MonoBehaviour { void Start() { MeshRenderer[] renderers = FindObjectsOfType<MeshRenderer>(); foreach (var renderer in renderers) { var materials = renderer.materials; for(int i=0;i<materials.Length;i++){ materials[i].SetInt("_Cull", 0); // Set to off, which means no face will be culled. } } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值