【unity小技巧】unity中导入下载的3D模型及albedo/baseColor、normal 、AO/Occlus、metallic、roughness贴图纹理设置

简介: 【unity小技巧】unity中导入下载的3D模型及albedo/baseColor、normal 、AO/Occlus、metallic、roughness贴图纹理设置

前言

本文主要记录unity中导入下载的3D模型及贴图纹理设置及albedo/baseColor、normal 、AO/Occlus、metallic、roughness贴图使用,这个功能其实挺常用的,但是发现没什么人具体说过,所以我特地查看各个资料整理了一下,希望可以帮到大家。


模型

模型我用的是之前FPS游戏的枪模型:

【用unity实现100个游戏之18】从零开始制作一个类CSGO/CS2、CF第一人称FPS射击游戏


顺便推荐一些3D模型下载地址,你也可以选择去下载自己喜欢的模型:

https://www.cgtrader.com/free-3d-models

https://sketchfab.com/3d-models?features=downloadable&sort_by=-likeCount

一、模型配置

Unity使用的模型有FBX和OBJ,但是我们实际在引擎里面导入引擎的一些模型是FBX的,这两个后缀到底有什么区别呢?FBX它基本上是一个二进制的,计算机的读取速度会比较快,而且它可以保存更多的信息,比如说你的一个物体上有多个材质球,那么它会根据你材质球的一个ID号,存储在这个FBX里面,然后还有一些比如说绑定骨骼、蒙皮的一些信息,他也可以存储在FBX里面。

1. 比例

导入模型时,可能会出现很大或者很小的情况,有两种办法

第一种:修改缩放比例系数

第二种:去掉转换单位勾选

2. 坐标轴不匹配问题

我们有一些三维软件,它的坐标轴和Unityl的坐标轴可能不是同一个方向的,我们unity坐标轴就是Y轴朝上的,勾选烘焙轴转化,unity就会自动帮你把轴转换过来

3. 导入信息

然后我们再看一下下面的这一块,看到好多导入,就是要导入的一些信息

是否可见或者是一些摄像机、灯光,这些东西一般都是去掉勾选的

4. 保留层

一些三维软件里面它会做一些层的一些效果

如果需要保留就勾选保持层次结构,底下的按名称对层级视图排序是跟着上面那个相关的

根据命名来排序这些层

5. 网格压缩

6. 是否支持网格读写

是否支持网格的读写,一般是在那种比如你要做网格生长什么之类的会用到

7. 优化网格

我们一般都选择everything,就把所有的网格都优化掉

8. 碰撞体

如果勾选生成碰撞体的话

会发现模型多了一个碰撞体

9. 保持四边面

比如我们的模型本来是四边面

在unity会发现自动转成了三角面

如果你不需要的话可以把他勾选

10. 光照贴图UVs

网上大佬们已经写了很多介绍了,我就直接放出链接了,感兴趣可以看看:

https://blog.csdn.net/m0_46385244/article/details/120345342

https://zhuanlan.zhihu.com/p/157992819

主要解决导致了烘焙的光影图是模糊和布满脏斑等缺陷的。

如果你要对一个模型进行光照映射,就勾选它

二、材质贴图纹理设置

1. 提取材质

直接导进来的模型一般都是白膜,点击提取材质

2. 贴图设置

albedo/baseColor和normal贴图大家应该都知道,分别是纹理贴图和法线贴图。

AO/Occlus、metallic贴图也比较简单,在standard的shader的Occlusion和Metallic处添加即可。

3. roughness贴图

roughness贴图的使用就有些复杂了,需要用ps和其它贴图进行融合使用,而不是单独添加的。这个贴图会影响粗糙度。

这里使用 metallic与roughness融合。

先使用ps打开 roughness图片:

对这张图片进行反相:

之后再打开 metallic图片,如果没有metallic图片可以用和roughness图片同等大小的纯黑图片代替。单击下图这个标志为metallic的这个图层添加蒙版。当然添加蒙版的方式不止一个。之后按住alt+单击蒙版进入这个蒙版。

回到打开的roughness那里,ctrl+a全选,再ctrl+c即可复制,之后回到蒙版这里ctrl+v把之前得到的反相图片复制到这个蒙版上。(点击图片外区域即可退出蒙版)之后把这个metallic图片保存为png格式,便是融合了roughness的metallic贴图了。

记得standard shader的smoothness下面的source那选择metallic alpha而不是albedo alpha。之后将新metallic图片代替原来的metallic图片即可。


在smoothness(平滑度)为默认的1的情况下,是否融合了粗糙度差别很明显。但如果没有roughness贴图,直接降低smoothness(平滑度)到合适值应该也能有不错的效果。

smoothness和roughness贴图有什么区别(补充)

smoothness是光滑度

roughness是粗糙度

smoothness翻转通道过来就是roughness

也就是说如果你的模型是smoothness贴图而不是roughness贴图,就执行和前面一样的第三步,只是不需要再进行反向操作了,因为smoothness其实就是roughness的反向

目录
相关文章
|
3月前
|
图形学 C#
超实用!深度解析Unity引擎,手把手教你从零开始构建精美的2D平面冒险游戏,涵盖资源导入、角色控制与动画、碰撞检测等核心技巧,打造沉浸式游戏体验完全指南
【8月更文挑战第31天】本文是 Unity 2D 游戏开发的全面指南,手把手教你从零开始构建精美的平面冒险游戏。首先,通过 Unity Hub 创建 2D 项目并导入游戏资源。接着,编写 `PlayerController` 脚本来实现角色移动,并添加动画以增强视觉效果。最后,通过 Collider 2D 组件实现碰撞检测等游戏机制。每一步均展示 Unity 在 2D 游戏开发中的强大功能。
143 6
|
3月前
|
图形学 机器学习/深度学习 人工智能
颠覆传统游戏开发,解锁未来娱乐新纪元:深度解析如何运用Unity引擎结合机器学习技术,打造具备自我进化能力的智能游戏角色,彻底改变你的游戏体验——从基础设置到高级应用全面指南
【8月更文挑战第31天】本文探讨了如何在Unity中利用机器学习增强游戏智能。作为领先的游戏开发引擎,Unity通过ML-Agents Toolkit等工具支持AI代理的强化学习训练,使游戏角色能自主学习完成任务。文章提供了一个迷宫游戏示例及其C#脚本,展示了环境观察、动作响应及奖励机制的设计,并介绍了如何设置训练流程。此外,还提到了Unity与其他机器学习框架(如TensorFlow和PyTorch)的集成,以实现更复杂的游戏玩法。通过这些技术,游戏的智能化程度得以显著提升,为玩家带来更丰富的体验。
57 1
|
3月前
|
缓存 图形学
Unity3D学习笔记12——渲染纹理
Unity3D学习笔记12——渲染纹理
38 2
|
3月前
|
API C# 图形学
Unity3D学习笔记9——加载纹理
Unity3D学习笔记9——加载纹理
34 2
|
2月前
|
图形学 开发者
【独家揭秘】Unity游戏开发秘籍:从基础到进阶,掌握材质与纹理的艺术,打造超现实游戏视效的全过程剖析——案例教你如何让每一面墙都会“说话”
【8月更文挑战第31天】Unity 是全球领先的跨平台游戏开发引擎,以其高效性能和丰富的工具集著称,尤其在提升游戏视觉效果方面表现突出。本文通过具体案例分析,介绍如何利用 Unity 中的材质与纹理技术打造逼真且具艺术感的游戏世界。材质定义物体表面属性,如颜色、光滑度等;纹理则用于模拟真实细节。结合使用两者可显著增强场景真实感。以 FPS 游戏为例,通过调整材质参数和编写脚本动态改变属性,可实现自然视觉效果。此外,Unity 还提供了多种高级技术和优化方法供开发者探索。
50 0
|
2月前
|
图形学 iOS开发 Android开发
从Unity开发到移动平台制胜攻略:全面解析iOS与Android应用发布流程,助你轻松掌握跨平台发布技巧,打造爆款手游不是梦——性能优化、广告集成与内购设置全包含
【8月更文挑战第31天】本书详细介绍了如何在Unity中设置项目以适应移动设备,涵盖性能优化、集成广告及内购功能等关键步骤。通过具体示例和代码片段,指导读者完成iOS和Android应用的打包与发布,确保应用顺利上线并获得成功。无论是性能调整还是平台特定的操作,本书均提供了全面的解决方案。
136 0
|
3月前
|
开发者 图形学 C#
深度解密:Unity游戏开发中的动画艺术——Mecanim状态机如何让游戏角色栩栩如生:从基础设置到高级状态切换的全面指南,助你打造流畅自然的游戏动画体验
【8月更文挑战第31天】Unity动画系统是游戏开发的关键部分,尤其适用于复杂角色动画。本文通过具体案例讲解Mecanim动画状态机的使用方法及原理。我们创建一个游戏角色并设计行走、奔跑和攻击动画,详细介绍动画状态机设置及脚本控制。首先导入动画资源并添加Animator组件,然后创建Animator Controller并设置状态间的转换条件。通过编写C#脚本(如PlayerMovement)控制动画状态切换,实现基于玩家输入的动画过渡。此方法不仅适用于游戏角色,还可用于任何需动态动画响应的对象,增强游戏的真实感与互动性。
80 0
|
3月前
|
开发者 图形学 iOS开发
掌握Unity的跨平台部署与发布秘籍,让你的游戏作品在多个平台上大放异彩——从基础设置到高级优化,深入解析一站式游戏开发解决方案的每一个细节,带你领略高效发布流程的魅力所在
【8月更文挑战第31天】跨平台游戏开发是当今游戏产业的热点,尤其在移动设备普及的背景下更为重要。作为领先的游戏开发引擎,Unity以其卓越的跨平台支持能力脱颖而出,能够将游戏轻松部署至iOS、Android、PC、Mac、Web及游戏主机等多个平台。本文通过杂文形式探讨Unity在各平台的部署与发布策略,并提供具体实例,涵盖项目设置、性能优化、打包流程及发布前准备等关键环节,助力开发者充分利用Unity的强大功能,实现多平台游戏开发。
89 0
|
3月前
|
图形学 C# 开发者
Unity粒子系统全解析:从基础设置到高级编程技巧,教你轻松玩转绚丽多彩的视觉特效,打造震撼游戏画面的终极指南
【8月更文挑战第31天】粒子系统是Unity引擎的强大功能,可创建动态视觉效果,如火焰、爆炸等。本文介绍如何在Unity中使用粒子系统,并提供示例代码。首先创建粒子系统,然后调整Emission、Shape、Color over Lifetime等模块参数,实现所需效果。此外,还可通过C#脚本实现更复杂的粒子效果,增强游戏视觉冲击力和沉浸感。
137 0
|
3月前
|
测试技术 C# 图形学
Unity3D学习笔记10——纹理数组
Unity3D学习笔记10——纹理数组
48 0