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材质丢失
相关文章:
Blender——将模型及其所有纹理与材质导入unity
前期准备 参考视频:7分钟教会你如何将Blender的模型材质导入unity_哔哩哔哩_bilibili 实验模型官网下载地址:Hoi An Ancient House Model free VR / AR / low-poly 3D model CSDN下载链接: 【免费】Blender三维模型-古代房屋模型ÿ…...
docker-compose和docker compose的区别
在docker实际使用中,经常会搭配Compose,用来定义和运行多个 Docker 容器。使用时会发现,有时候的指令是docker-compose,有时候是docker compose,下面给出解释。 docker官方文档:https://docs.docker.com/c…...
Android NDK Crash信息收集捕获和日志异常定位分析(addr2line)
Android NDK 闪退日志收集与分析 我们在开发过程中,Android JNI层Crash问题或者我们引用的第三方.so库文件报错,都是一个比较头疼的问题。相对Java层来说,由于c/c++造成的crash没有输出如同Java的Exception Strace堆栈信息,所以定位问题也是个比较艰难的事情。 Google Br…...
5、NumPy 高级索引和切片
目录 一、切片(Slicing) 二、NumPy 高级索引详解 1. 布尔型索引 2. 列表/数组索引 3. 花式索引 (Fancy Indexing) 4. 元组索引 三、结合切片与高级索引 一、切片(Slicing) 切片操作允许访问数组的子集。在 NumPy 中…...
.Net 全局过滤,防止SQL注入
问题背景:由于公司需要整改的老系统的漏洞检查,而系统就是没有使用参数化SQL即拼接查询语句开发的程序,导致漏洞扫描出现大量SQL注入问题。 解决方法:最好的办法就是不写拼接SQL,改用参数化SQL,推荐新项目…...
string 模拟实现
string的数据结构 char* _str; size_t _size; size_t _capacity; _str 是用来存储字符串的数组,采用new在堆上开辟空间; _size 是用来表示字符串的长度,数组大小strlen(_str); _capacity 是用来表示_str的空间大小, _capacity…...
医院网络安全建设:三网整体设计和云数据中心架构设计
医院网络安全问题涉及到医院日常管理多个方面,一旦医院信息管理系统在正常运行过程中受到外部恶意攻击,或者出现意外中断等情况,都会造成海量医疗数据信息的丢失。由于医院信息管理系统中存储了大量患者个人信息和治疗方案信息等,…...
Cloudflare cdn 基本使用
个人版免费试用,一个邮箱账号只能缓存一个网站cdn。 地址:cloudflare.com 创建站点 在网站创建站点,填上你的域名 点击进入网站 缓存全局配置 可清除缓存,设置浏览器缓存时间 我设置了always online,防止服务器经常不稳定 缓…...
Oracle21C + PLSQL Developer 15 + Oracle客户端21安装配置完整图文版
一、Oracle21C PLSQL Developer 15 Oracle客户端文件下载 1、Oracl21C下载地址:Database Software Downloads | Oracle 中国 2、 PLSQL Developer 15下载地址:Registered download PL/SQL Developer - Allround Automations 3、 Oracle 客户端下载地址…...
编程笔记 html5cssjs 038 CSS背景
编程笔记 html5&css&js 038 CSS背景 一、CSS 背景属性二、CSS background-color三、不透明度 / 透明度四、使用 RGBA 的透明度五、CSS 背景图像六、CSS 背景重复CSS background-repeatCSS background-repeat: no-repeatCSS background-position 七、练习小结࿱…...
springmvc上传与下载
文件上传 结构图 导入依赖 <dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><dependency><groupId>org.springframework</groupId><artifactId…...
论文阅读笔记AI篇 —— Transformer模型理论+实战 (一)
资源地址Attention is all you need.pdf(0积分) - CSDN 第一遍阅读(Abstract Introduction Conclusion) Abstract中强调Transformer摒弃了循环和卷积网络结构,在English-to-German翻译任务中,BLEU得分为28.4, 在En…...
Linux之shell编程(BASH)
Shell编程概述(THE bourne-again shell) Shell名词解释(外壳,贝壳) Kernel Linux内核主要是为了和硬件打交道 Shell 命令解释器(command interperter) Shell是一个用C语言编写的程序,他是用户使用Lin…...
HarmonyOS—声明式UI描述
ArkTS以声明方式组合和扩展组件来描述应用程序的UI,同时还提供了基本的属性、事件和子组件配置方法,帮助开发者实现应用交互逻辑。 创建组件 根据组件构造方法的不同,创建组件包含有参数和无参数两种方式。 说明 创建组件时不需要new运算…...
实验笔记之——基于TUM-RGBD数据集的SplaTAM测试
之前博客对SplaTAM进行了配置,并对其源码进行解读。 学习笔记之——3D Gaussian SLAM,SplaTAM配置(Linux)与源码解读-CSDN博客SplaTAM全称是《SplaTAM: Splat, Track & Map 3D Gaussians for Dense RGB-D SLAM》,…...
SpringBoot SaToken Filter如用使用ControllerAdvice统一异常拦截
其实所有的Filter都是一样的原理 大致流程: 创建一个自定义Filter, 用于拦截所有异常此Filter正常进行后续Filter调用当调用后续Filter时, 如果发生异常, 则委托给HandlerExceptionResolver进行后续处理即可 以sa-token的SaServletFilter为例 首先注册SaToken的过滤器 pac…...
基于HarmonyOS的华为智能手表APP开发实战——Fitness_华为手表app开发
、 基于HarmonyOS的华为智能手表APP开发实战——Fitness_华为手表app开发 Excerpt 文章浏览阅读8.7k次,点赞6次,收藏43次。本文针对华为HarmonyOS智能穿戴产品(即HUAWEI WATCH 3)开发了一款运动健康类的游戏化APP——Fitness,旨在通过游戏化的方式,提升用户运动动机。_华…...
1.6用命令得到ip和域名解析<网络>
专栏导航 第五章 如何用命令得到自己的ip<本地> 第六章 用命令得到ip和域名解析<网络> ⇐ 第七章 用REST API实现dynv6脚本(上) 用折腾路由的兴趣,顺便入门shell编程。 第六章 用命令得到ip和域名解析<网络> 文章目录 专栏导航第六章 用命令得到ip和域名解…...
leetcode 399除法求值 超水带权并查集
题目 class Solution { public:int f[45];double multi[45];map<string,int>hash;int tot0;int seek(int x){if(xf[x]) return x;int faf[x];f[x]seek(fa);multi[x]*multi[fa];return f[x];}vector<double> calcEquation(vector<vector<string>>&…...
【Linux】Linux 系统编程——touch 命令
文章目录 1.命令概述2.命令格式3.常用选项4.相关描述5.参考示例 1.命令概述 在**Linux 中,每个文件都与时间戳相关联,每个文件都存储了上次访问时间、**上次修改时间和上次更改时间的信息。因此,每当我们创建新文件并访问或修改现有文件时&a…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...
什么是VR全景技术
VR全景技术,全称为虚拟现实全景技术,是通过计算机图像模拟生成三维空间中的虚拟世界,使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验,结合图文、3D、音视频等多媒体元素…...
go 里面的指针
指针 在 Go 中,指针(pointer)是一个变量的内存地址,就像 C 语言那样: a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10,通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...
Spring Security 认证流程——补充
一、认证流程概述 Spring Security 的认证流程基于 过滤器链(Filter Chain),核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤: 用户提交登录请求拦…...
使用SSE解决获取状态不一致问题
使用SSE解决获取状态不一致问题 1. 问题描述2. SSE介绍2.1 SSE 的工作原理2.2 SSE 的事件格式规范2.3 SSE与其他技术对比2.4 SSE 的优缺点 3. 实战代码 1. 问题描述 目前做的一个功能是上传多个文件,这个上传文件是整体功能的一部分,文件在上传的过程中…...
若依登录用户名和密码加密
/*** 获取公钥:前端用来密码加密* return*/GetMapping("/getPublicKey")public RSAUtil.RSAKeyPair getPublicKey() {return RSAUtil.rsaKeyPair();}新建RSAUti.Java package com.ruoyi.common.utils;import org.apache.commons.codec.binary.Base64; im…...
