Blender——将模型及其所有纹理与材质导入unity

前期准备

参考视频:7分钟教会你如何将Blender的模型材质导入unity_哔哩哔哩_bilibili

实验模型官网下载地址:Hoi An Ancient House Model free VR / AR / low-poly 3D model

CSDN下载链接: 【免费】Blender三维模型-古代房屋模型(HoiAnAncientHouseModel)

 对于常见的Blender文件,可以直接导入Unity,但会出现纹理无法显现的问题。比如将该房屋模型(.blend文件),直接导入Unity的效果如下图。此外,该导入方法,也无法选择模型中的特定物体进行单独导入。

具体操作

1.首先使用Blender打开下载好的模型。

2.解压纹理文件。

在我们将模型导出为FBX之前,需要收集应用于该对象的所有纹理。在Shading视图下,我们可以看到抽屉样式的图标,这说明该模型的所有纹理都已经打包在Blender文件中。所以,我们需要解压所有纹理文件。 

点击 文件(File) -> 外部数据 (EXternal Data) -> 解包资源 (Unpack All Into Files)

此时会让你选择一个文件解压后保存的目录,默认当前目录就行。

之后就会看到所有纹理文件都保存在同一目录中。

之后,在shading视图下可以看到之前的抽屉样式的图标变成了文件夹样式的图标,这意味着该模型的纹理已经从该打包的文件中解压。

3.选择模型,进行导出

 选中HoiAn_M2模型,点击 (File)-> 导出(Export) ->FBX(.fbx)

默认路径模式是自动即可。点击导出FBX。

注:如果之前没有解压纹理,可选择路径模式中的复制(copy),这时也会导出.fbx和纹理文件,但纹理文件相比步骤2,会缺少高度图,如下图所示。

4.导入Unity

将纹理文件(textures)与FBX文件(Hoi An Ancient House Model.fbx)复制在Unity项目中的FBX文件夹下。

 此时将物体放置在场景中,会看到模型已经应用所有的纹理和材质。

其他事项

1.调整导出的旋转角度与缩放比例

但注意到,模型的缩放比例设置为100和旋转角度也未设置为0。

这时需要我们回到Blender,按N,调出变换菜单,把旋转数值都设置为0°,按Ctrl+A,应用旋转。

我们看到缩放比例设置是正确的(1:1:1),那问题出在FBX导出设置上,选中HoiAn_M2模型,点击 (File)-> 导出(Export) ->FBX(.fbx),勾选应用变换即可。下面报红是因为保存目录中已经有一个我们之前导出的FBX文件,直接覆盖即可。

把之前导入的FBX删除,重新导入刚才的FBX,就能看到缩放比例和旋转角度都非常正确。

2.提取材质球

此时我们点击FBX的材质球,仍无法编辑,因此我们需要提取所有材质以方便对它们进行编辑。

 首先右键单击并创建一个新的文件夹(materials),以保存材质球。

选中模型,转到材质部分(Materials),点击提取材质(Extract Materials...),选择materials文件夹,点击选择文件夹(Select Folder)。

 打开materials文件,可以看到模型的所有材质球,点击材质球也可以进行编辑。

此时,每个材质球只连接了着色器的图片,textures还有高度图和平滑度图没有使用,这种情况下,需要你手动连接它们。

后记

参考视频还有实现SR输入管道的操作,这里未实验,可自行跟着视频尝试。

其他参考链接:

Blender带材质导入Unity_blender材质导入unity

Blender导出.fbx模型到Unity贴图丢失_blender导出fbx材质丢失

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/638402.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】第三十三站:日志

文章目录 一、实现一个简单的日志1.简介2.可变参数3.错误等级4.时间5.打印每一条参数6.与前面的一些代码搭配使用 二、完整代码 一、实现一个简单的日志 1.简介 我们运行代码的时候,我们希望有各种各样的运行时候的一些信息。这也就是日志 它一半有日志时间&…

【GitHub项目推荐--老照片变清晰】【转载】

先来看一个效果图,这个开源项目能把模糊爆浆的老照片 1 s 内变成清晰、高清的有色照片。 而以上这些效果,无需专业 PS 技能,只用一个网页端的 Demo、点点鼠标上传图片就能搞定。 这个修复神器,由腾讯 PCG ARC 实验室研发&#xf…

结构体大揭秘:代码中的时尚之选(上)

目录 结构结构的声明结构成员的类型结构体变量的定义和初始化结构体成员的访问结构体传参 结构 结构是一些值的集合,这些值被称为成员变量。之前说过数组是相同类型元素的集合。结构的每个成员可以是不同类型的变量,当然也可以是相同类型的。 我们在生活…

【系统调用IO】open、close、read、write、lseek

目录 3 系统调用IO3.1 文件描述符3.1.1 FILE结构体3.2.2 文件描述符 3.3 open、close、read、write、lseek3.3.1 文件权限3.3.2 open3.3.3 close3.3.4 read3.3.5 write3.3.6 lseek3.3.7 代码示例 文件io和标准io的区别 橙色 3 系统调用IO 3.1 文件描述符 3.1.1 FILE结构体 …

多线程编程1

一、线程的引入 上节,我们介绍了进程的概念,以及操作系统内核是如何管理进程的(描述组织),PCB中的核心属性有哪些, 引入进程这个概念,最主要的目的,就是为了解决“并发编程”这样的…

JavaScript语法摘要

JavaScript语法摘要 JavaScript语法通过各种规则和组合,就能创建出丰富多彩的程序呢!它包括了怎么声明和使用变量、如何定义和赋值,还有怎么用运算符和表达式等等。另外,我还发现了一些有趣的概念,比如关键字、注释、…

Python学习从0到1 day7 Python判断语句

路远殊途,祝你得偿所愿 ——24.1.21 前言 进行逻辑判断,是生活中常见的行为,同样,在程序中,进行逻辑判断也是最为基础的功能 一、布尔类型和比较运算符 1.布尔类型 进行判断,有两个结果,True、…

springboot集成COS对象存储

1.申请腾讯云存储桶 新建密钥(后面配置要用到) 2.编写工具类 此处使用工具类进行基本属性配置,也可选择在yml中配置 package com.sfy.util;import com.qcloud.cos.COSClient; import com.qcloud.cos.ClientConfig; import com.qcloud.cos.a…

基于xgboost-LGBM-SVM的病人哮喘病识别检测 数据+代码

基于xgboost-LGBM-SVM的病人哮喘病识别检测-完整代码可直接运行_哔哩哔哩_bilibili 代码: from sklearn import preprocessing import random from sklearn.model_selection import train_test_split from sklearn.preprocessing import MinMaxScaler from sklearn import pr…

声明式注解对XXL-JOB的定时任务代码生效吗?

说明:源于博主的思考,本文验证一下声明式注解,即Transactional注解,对XXL-JOB的定时任务是否生效。 准备 首先,创建一个需要事务的场景。有两张表,一张部门表,一张用户表,用户隶属…

基于YOLOv8的目标识别、计数、电子围栏的项目开发过程

0 前言 用于生产环境中物体检测、识别、跟踪,人、车流量统计,越界安全识别 1 YOLOv8概述 YOLOv8 是Ultralytics的YOLO的最新版本。作为一种前沿、最先进(SOTA)的模型,YOLOv8在之前版本的成功基础上引入了新功能和改进,以提高性…

cupy,一个超级实用的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个超级实用的 Python 库 - cupy。 Github地址:https://github.com/cupy/cupy 深度学习和科学计算需要处理大规模的数据和复杂的计算任务,而Python是一…

tag 标签

tag 标签 在使用 Git 版本控制的过程中,会产生大量的版本。如果我们想对某些重要版本进行记录,就可以给仓库历史中的某一个commit 打上标签,用于标识。 在本章中,我们将会学习如何列出已有的标签、如何创建和删除新的标签、以及…

20240116使用Firefly的AIO-3399J的预编译的Android10固件确认RT5640声卡信息

20240116使用Firefly的AIO-3399J的预编译的Android10固件确认RT5640声卡信息 2024/1/16 17:55 百度:RK3399 ALC5640 RK3399 RT5640 BING:RK3399 ALC5640 LINE-IN接麦克风不会有声音的。 耳机只有右边有声音,但是偏小,可以通过音量…

C++ memmove 学习

memmove&#xff0c;将num字节的值从源指向的位置复制到目标指向的内存块。 允许目标和源有重叠。 当目标区域与源区域没有重叠则和memcpy函数功能相同。 宽字符版本是wmemmove&#xff0c;安全版本加_s&#xff1b; #include "stdafx.h" #include<iostream&g…

如何为不同品牌的笔记本电脑设置充电限制,这里提供详细步骤

笔记本电脑的电池健康状况至关重要。延长电池寿命可以帮你省下不少钱。对于长时间充电的Windows 11笔记本电脑用户来说,将电池电量限制在80%是很重要的。 虽然操作系统没有提供设置自定义电池充电限制的内置方法,但仍有一些方法可以在Windows 11中配置电池设置,并将其限制在…

华南理工大学数字信号处理实验实验一(薛y老师版本)matlab源码

一、实验目的 1、加深对离散信号频谱分析的理解&#xff1b; 2、分析不同加窗长度对信号频谱的影响&#xff1b; 3、理解频率分辨率的概念&#xff0c;并分析其对频谱的 影响&#xff1b; 4、窗长和补零对DFT的影响 实验源码&#xff1a; 第一题&#xff1a; % 定义离散信…

【多线程的安全问题】synchronized 和 volatile——你必须知道的妙用!

&#x1f4c4;前言&#xff1a;本文的主要内容是讨论个人在多线程编程带来的安全问题的表现、原因以及对应的解决方法。 文章目录 一. 了解多线程安全问题二. 线程不安全的现象及原因&#x1f346;1. 修改共享的数据&#xff08;根本原因&#xff09;&#x1f345;2. 原子性&am…

class_14:继承

C继承有点类似于c语言 结构体套用 #include <iostream> #include <string> using namespace std;//基类,父类 class Vehicle{ public:string type;string contry;string color;double price;int numOfWheel;void run();void stop(); };//派生类&#xff0c…

commit 历史版本记录修正

commit 历史版本记录修正 当 Bug 发生的时候&#xff0c;我们会需要去追踪特定 bug 的历史记录&#xff0c;以查出该 bug 真正发生的原因&#xff0c;这个时候就是版本控制带来最大价值的时候。 因此&#xff0c;要怎样维持一个好的版本记录是非常重要的&#xff0c;下面是一…