当前位置:   article > 正文

Unity 3D, Blender 与Low-poly 建模的简单流程_3d low poly模型

3d low poly模型

目录

前言

流程

1.建模

2.着色

3.导入 

4.调整 

结语


前言

        下列文章是用来记录通过Blender建模Low-poly模型并导入Unity 3D使用的简单流程。总结自一些相关学习经验,并不代表专业,商业项目中的确切流程。

        必须指出这不是教学文章,不会有CG基础知识,建模教学,着色教学之类的(因为我也不是很明白)。只是记录了一个基本工作流。

        Unity版本:Unity版本:Unity 2022.3.14f1c1

        Blender版本:Blender 4.0

流程

        分为四个环节:建模,着色,导入,调整。

1.建模

        即使用建模软件建模,这里当然是开源免费的Blender。至于Low-Poly相关的建模流程细节可以参考以下视频,这里不详细介绍建模细节。
 

 下面是油管原址:

https://www.youtube.com/watch?v=1jHUY3qoBu8icon-default.png?t=N7T8https://www.youtube.com/watch?v=1jHUY3qoBu8

懒得翻墙可以看B站搬运:

https://www.bilibili.com/video/BV1HK4y1N7tV?vd_source=1f82fa35bcae900f43192b90412af5f7icon-default.png?t=N7T8https://www.bilibili.com/video/BV1HK4y1N7tV?vd_source=1f82fa35bcae900f43192b90412af5f7

2.着色

        准备单张或几张色卡,通过调整模型的UV到对应颜色上,从而实现不同部分有不同色彩。而且导入Unity时只用导入那些用到的色卡就行了,不需要其他纹理或贴图。

        如下:展开每个面的UV并将它们依依按照想要的颜色拖入对应色卡。可以通过调整大小让所选面呈现纯色。

也就是说这样制作的模型不具有复杂的纹理,只具有许多的“色块”,不过对于Low-Poly这种风格的建模反而形成一种特殊美感。具体细节也可以通过上面“建模”部分的视频链接学习,里面也有相关操作。

        这种色卡可以提供非常多颜色,而且非常容易制作,不论是网上找还是自己用PS做。它们还非常小,一般一个颜色只用一个像素,比如上图这张色卡仅有12×12个像素,8KB,占用空间非常非常小。另外一提,当你把这种非常小的色卡导入Unity时,千万不要压缩,否则像这种小文件很容易被压缩算法搞变形,导致UV和原来的颜色对不上,就会出现纹理错误。这种色卡本质上也算是一种纹理,纯色纹理,非常共用性的纯色纹理。

        下面是《为了吾王》(For the King) 的画面展示,这就是典型的Low-Poly风格。

        自己尝试了两种针对blender建模Low-Poly的着色方式:

        1.直接在blender上用材质着色。在blender中创建很多材质,为不同面指定不同材质。并不推荐这种方法,因为这样会创造出很多材质,想象一下当我们想精细着色物体是,对每个面都指定不同的材质,而且物体有几千个面,就得生成几千个材质,坏处也是不言而喻。而且在同一个物体(网格)上的不同面指定不同材质会生成子网格(submesh),子网格与材质一一对应,在Unity中查看导入的fbx文件,找到其中的网格资源,可以在inspector中查看子网格和其他信息。

        这是Unity中的网格基础:也是很重要的内容,有意向翻译过来。
https://catlikecoding.com/unity/tutorials/mesh-basics/icon-default.png?t=N7T8https://catlikecoding.com/unity/tutorials/mesh-basics/

        2.纹理着色。这应该也是一般3D建模用的方式,即指定一张纹理图作为材质的基础色(在blender中的叫法)。纹理上已经包含了许多颜色信息,只需要调整好网格对应的UV图。这样物体可以只有一个材质但有许多颜色。

        第一种方法应该是不会有人使用的,虽然上限很高但是确实太吃性能了(想象一下一个模型的每个面都有一个材质需要处理),不过我觉得只要规划合理应该也能行,比如绝大部分材质都是能公用的,比如”木头材质“”钢铁材质“等等,倘若”左脚的材质“”右脚的材质“这样来制定材质就很浪费了。
因为材质算是图像属性的集合体,自然也包括纹理,贴图(如法线贴图)等等,材质跟纹理就像“你中有我,我中有你”般关系。所以也许不把两种方式分开才合理一点。

3.导入 

        即导入Unity,先选定想要导出的模型,一般需要做到确保坐标归0,确保旋转归0,确保缩放归1,确保在Unity中模型面朝Z正方向等等,然后导出导入即可。 

        可以将整个blender文件直接导入Unity,但是这样也会导入一些可能不需要的数据,比如blender中用到的灯光和摄像机。所以应该按需导入,比如我只想导出一个模型(fbx),现在场景集合窗口选中,“文件”->“导出”->“FBX”,在导出设置的“包括”中设置要精确导出的物体,一般是选“选中”的物体。

        通过直接在blender修改,再重新导入进Unity并覆盖之前那个文件,所以一定要同名,然后能直接看到场景中发生对应变化。

        如: Unity场景中已经有一个车物体,对应车.fbx,为了能方便修改并直接验证可以直接在blender中修改,然后直接覆盖Unity项目中的同名fbx文件。最后可以直接在场景中看到对应变化。

        Unity是左手坐标系,Blender是右手坐标系。
        导入导出时应注意尽量让物体在Unity中面朝Z轴正方向,因为Z轴正方向在Unity中被定义为"Forward"。具体情况可能根据需求而改变,具体的导入导出设置也应该根据实际情况确定。
        同样的导出前应尽量在blender中维持归零坐标,旋转和单位化缩放。具体来说就是通过物体的“清空”和“应用”操作实现。“清空”类似于回到默认(如果是位移旋转则归0,如果是缩放则归1),而“应用”类似于叠加后回到默认,比如缩放1.2,应用后缩放变回了1,但1.2的缩放切实作用到了物体上。

4.调整 

        即在Unity中根据实际需要再次调整模型细节,因为在Blender中看到的模型和在Unity中看到的模型是不太一样的(一般是色彩,自身坐标系等),这些有很多因素的影响,如色彩空间。

Unity内置两种色彩空间,我们在blender着色时也会指定色彩空间,但是blender的色彩空间不一定能与Unity一模一样。所以在blender中为物体着色后导入Unity中的物体并不一定和我们在blender中的颜色一样。除此之外还有很多因素可能影响色彩变化,包括Unity内置的渲染管线等等。
所以很多情况下,我们需要根据物体在Unity中的实际表现情况来再次编辑。或者直接省略在blender中进行材质编辑,只编辑UV以确定纹理,在随后的Unity中再新建材质编辑也是可以的(不怎么推荐,因为这样在blender中不能直接观察变化)。
可以把Unity理解成一个功能较差的建模软件,而blender作为功能较强的建模软件,有些东西导入Unity之后必然不能兼容。所以我们要根据Unity中的实际情况再次进行编辑。 

Unity内置管线升级URP之色彩空间(伽马、sRGB、Gamma Space和Linear Space)_unity 新版本色彩空间-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/CrisFu/article/details/121788421

色彩空间(一):色彩空间基础 - 知乎大家好,我是练习时长五年半的设计练习生 章萧醇,喜欢 复制、粘贴、⌘Z、Delete… 在群里和小伙伴们交流的过程中,发现很多设计师对 “色彩空间” 或者 “色彩管理” 这样的概念还是比较模糊的,于是我重新查阅整…icon-default.png?t=N7T8https://zhuanlan.zhihu.com/p/120219636Unity内置色彩空间Gamma表现:

Unity内置色彩空间Linear表现:

         这里就不得不说一个将模型导入Unity后最可能会遇到的问题了:

        导入的fbx模型有部分面不显示。如图:


        一开始我以为是面因为没有实体变透明了,结果其实是因为面的法线方向出了问题,导致Unity把那个面视作背面,Unity不会渲染背面,所以在场景中就直接消失了。
        解决方法:
在blender编辑窗口中找到视图叠加层(右上角),勾选“几何数据”中的“面朝向”,就可以看到面的朝向信息(法线方向信息),如图:


        蓝色视为正面,红色视为背面,背面不会被Unity渲染。
先选中要修改的面,在编辑窗口的左上角“网格”->“法向”->“翻转”可以反转面;或者快捷键"shift + N"重新计算法向。

        其实最好的解决方法是在导入Unity前就做好相关检查。

结语

        这次Unity3D的学习经历启发自我们团队突发奇想想要制作一款3D游戏,所以我作为一个美术自然要去学习建模,然后又因为Low-poly风格容易创造而且我个人非常喜欢,所以自己首先学习了这种风格的建模,并把工作流记录下来。

        这个工作流我们也会继续完善优化,有什么疑问或建议请随时致信。

        不论如何,U3D对于我和团队都是一个全新的领域,我们以前一直是做的2D。所以前路漫漫,好在自己建模还算有趣,算得上学习U3D过程中的很大乐趣了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/537317
推荐阅读
相关标签
  

闽ICP备14008679号