2.5 常规游戏中模型通用要求介绍

news2024/11/23 21:01:38

一、布线和理性

多星点(4个及4个以上边的交点)

如果是在中模阶段,减少使用多星点,因为会在细分是时出现凸点问题,如果要使用多星点,需要通过布线技巧把它移动至平面处,不要让他出现在倒角边缘。

更改前,更改后

更改前,更改后

在模型上挖洞,且要保证都是四边面的情况下,是必然会出现五星点,五星点不可避免,但可以优化。也有叭五星点转换为假四边的方法(模型时把这种布线叫做假四边)

对于布线的合理性,大部分情况下都是指的低模,在次时代流程中,高模只需要做出效果,布线可以随意的来,因为高模的用途只是为了一张法线贴图。

由于Maya和Max中对于三角形的预划分有时是不同的,所以如果四边形的四个点不在一个平面里时,请连接对角线,否则会出现以下情况,这个同样会影响法线烘焙。


二、UV合理性

UV的合理主要是为了提高精度,也就是在资源有限的情况下,达到更好的效果。

UV基础规范:如果使用UDIM(多象限UV),从【0,1】框开始依次摆放,正常情况下全部UV放于【0,1】框内,虽然UV是平铺的,但我们常用的软件,例如SP,绘制过程中,只能再【0,1】框中绘制。

Maya,SP

打直UV能使我们更好的利用空间,提高空间利用率,这也是为什么合理利用UV可以提高精度,能打直的打直,能横竖打直的就不要斜打直,斜打直会成为锯齿的根源。

一般在为了提高利用率的情况下UV是允许有均匀拉伸的,特别是如果后期不会出现纹理制作的情况下,均匀拉伸不会存在任何问题,在精度够的情况下,拉伸也是没有问题的,只是你制作出来的贴图最后也会是拉伸的。

我们一般是使用棋盘格来检查UV的拉伸是否合格,同样带数字的棋盘格也可以拿来检查UV的方向是否和模型方向一致,虽然正放倒放不影响贴图制作,但是行业默认能和模型一致就和模型一致展开UV。

在烘焙时,如果有公用的UV需要挪出【0,1】框,如果不挪出去烘焙时会识别不了你需要烘哪一边作为结果,导致得到的法线贴图出现错误。

硬边的地方UV必须断开,UV边界才能按正确的法线去烘焙,否则烘焙出来的法线贴在模型上必然会出现接缝(不可修复),关于硬边和光滑组在下一节有介绍。


三、光滑组

光滑组是中通过对面的定义来定义软硬边,软边就是如果点处于不同平面时,点会获得所在平面的平均法线,硬边这是拥有多个方向的法线(如图)

3Dmax中光滑组:

当平面1和平面2在一个光滑组时,此时相交边为软边

当平面2单独在另一个光滑组中时(平面1为光滑组1,平面2为光滑组2),此时相交边为硬边

值得注意的是,在三维软件中(maya,max)导出模型法线会处于锁定状态,而导入模型后解锁法线,由于maya和max定义软硬边的方式不同(maya直接对边定义软硬边,max通过定义面的光滑组定义软硬边),会导致光滑组/软硬边丢失,可以通过插件实现在保持软硬边的情况下解锁法线,也就是先记录软硬边信息再去解锁,解锁后重新赋予即可。

由于定义了软硬边,后期的烘焙过程中,烘焙时拾取的是你最后使用的模型的点的法线,如果你在烘焙结束后又去修改了软硬边信息,正常情况下软硬边信息不对等的地方法线会出现错误。


四、模型基本规范

我们制作完模型导出时请检查一下基本信息:

1.该合并的点全部合完了

2.没有非法面,N边面等不规范面的存在

3.有UV,用于贴图

4.不出现镂空面穿帮

5.场景大小设置正确

6.拥有规范命名,方便资产整理(模型一般前缀使用“SM_”,及static mesh)

7.Maya模型请检查历史清除干净没有,Max模型请塌陷编辑器

8.模型的坐标轴归零(习惯问题,否则进入引擎后你可能法线坐标轴不在你模型的周围)

9.进入引擎前最好三角面化


五、常见问题

SP导入模型时出错(可能是没有UV,UV没在(0,1)框内等等,SP的log里面一般会把报错原因直接写出来)。

Maya里制作的模型导入Max(或者反向导入),赋予软硬边缺没有效果变化(导出模型时发现会被锁定,所以请先解锁法线,再重新定义软硬边)。

Maya里制作的模型导入Max(或者反向导入),发现模型大小不一致(检查maya和max的场景单位设置是否一致)。

作业总结

-----------资源目录-----------

目录结点

说明

图例

项目最上层文件夹

项目最上层目录

里面包含项目所用到的所有资源、代码、插件等等

主干

项目主要目录,一般工作都在此处。

分支

简单理解为项目的备份,一般美术不需要关注此处,直接去主干工作即可。

美术资源文件夹

美术用到的所有资源、插件等

资源文件夹内部

可以简单分为几大块:模型、贴图、特效、材质球等。(文件夹内的文件必须用英文命名)具体需要根据项目来走。

美术工程文件夹

里面也是有可打开的项目,主要给美术测场景、特效、镜头表现等等,不涉及复杂的逻辑功能,满足美术表现需求即可

引擎资源文件夹

项目主工程目录(实际运行,打包),程序、策划日常的工作区域

表格文件夹

项目中用到的各种表格,策划日常的工作区域

声音工程文件夹

如果项目接入WWISE、FMOD等第三方音频引擎,就需要另创建一个目录

-----------美术命名规范-----------

后续具体文件名都需要用英文命名,(首字母大写)

角色模型预制体

物体

命名

说明

图例

角色非战斗预制体

xxProjectName_CharacterNamePre_Normal

Pre代表Prefab(预制体),在某些游戏中角色分为战斗与非战斗,预制体需要分开。(视项目而定,也可以只有一个预制体)

角色战斗预制体

xxProjectName_CharacterNamePre_Battle

xxProjectName视项目而定,如果公司只有一个项目,或者很少项目时不需添加,添加项目名还是为了外包收包检查,或者自身是外包人员定制的,防止各个项目的混乱。后续命名就不添加xxProjectName了.

角色模型Mesh

物体

命名

说明

图例

角色模型

CharacterNameMod

Mod代表Model(模型)

角色模型手部

CharacterNameMod_Hand

代表角色模型手部,如果是根节点下手部就不需要添加Mod了直接CharacterName_Hand

角色模型XX部分

CharacterNameMod_XX

代表角色模型XX部,依次类推

另外'_'下划线多不要怕麻烦,主要是为了后期好管理,维护。

角色模型贴图

物体

命名

说明

图例

角色身体法线贴图

CharacterNameT_Body_Normal

T代表Texture(贴图)

角色xx部分yy贴图

CharacterNameT_xx_yy

角色xx部分yy贴图,以此类推

带a通道的角色身体贴图

CharacterNameT_Body_BaseColor_Aph

Aph代表apha值

带a通道的角色xx部位yy贴图

CharacterNameT_xx_yy_Aph

依次类推

角色材质球

物体

命名

说明

图例

角色身体材质球

CharacterNameMat_Body_01

Mat代表Material(材质球)

角色xx材质球

CharacterNameMat_xx

角色xx材质球,以此类推

角色动画

角色动画可以先简单分为两种

一种是通用角色动画,例如大街上行走的NPC,他们就是用的通用的角色动画。

另一种是主角专属动画,例如原神里每个角色都有各自不同的动画表现,需要单独命名。

物体

命名

说明

图例

通用角色女待机动画01

CharacterComAnim_Female_Idle_01

Com代表Common(通用)

Anim代表Animation(动画),不要问为什么是4个字母。。个人感觉相较于Ani更好识别

通用角色男待机动画02

CharacterComAnim_Male_Idle_02

为了展现角色动画的多样性,一般都会给角色做多个动画,所以有02、03等一说

通用角色女死亡动画01

CharacterComAnim_Male_Dead_01

——

xx角色待机动画01

CharacterNameAnim_Idle

Mat代表Material(材质球)

xx角色待机动画02

CharacterNameAnim_Idle

角色xx材质球,以此类推

xx角色技能1连招动画01

CharacterNameAnim_Combo01_01

或者

CharacterNameAnim_Skill01_01

Combo代表连击、Skill代表技能,结合项目命名。

xx角色技能1连招动画02

CharacterNameAnim_Combo01_02

——

xx角色技能1连招动画03

CharacterNameAnim_Combo01_03

——

xx角色死亡动画01

CharacterNamAnime_Dead_01

——

角色特写镜头命名

特写镜头这里就简单说下,特写镜头譬如原神5星角色开大招时都会有个不受玩家控制,固定死的镜头,这就是一个角色特写镜头。

物体

命名

说明

角色特写01

CharacterNameAnim_ShowTime_01

ShowTime(展示时间)

角色特写02

CharacterNameAnim_ShowTime_02

特写02,以此类推

有了角色命名规范,就很好推出场景,特效等的命名格式了,后续如果有需要在写。

-------美术资源制作规范-------

建模阶段

规范项

说明

图例

坐标轴归0

如果模型是放在地面上那么以模型底部为坐标原点,如果模型以靠墙侧则中心点为坐标轴原点。

单位比例统一

默认Unity系统单位1等于1米,需要将DCC工具单位对应到Unity中

方向

Unity默认左手坐标系,Max则是右手坐标系。

Max中先将坐标系设置为Local,然后点击AffectPivotOnly旋转茶壶坐标轴,将其调整为Y轴朝上,Z轴朝壶嘴方向,即可。

清除新项目中的预制物体

如果是新建的项目,在建模前先将预制的物体清除(如灯光、cube、摄像机)。每种DCC不尽相同。

多星点问题

减少多星点的出现

合理的布线

出现不合理的三角面,或者多余的线,需要删除。

且低模阶段减少三角面及四边形以上多边形的出现,尽量全部是四边形。

模型优化

以Blender为例,编辑模式下全选,然后右键选择合并顶点->按距离合并,防止出现顶点重叠的情况

Mesh命名(不要出现中文命名,每个物体都要命名)

物体命名是物体唯一的标识,物体与物体下模型需要命名两次!!命名规则 如:“物件名+部件名+类别名+编号”

顶点与面数量

移动设备每个网格模型控制在300~2500个三角面会达到比较好的效果。

展UV

规范项

说明

图例

打直UV

打直UV,提高利用率,减少不均匀的拉伸,烘焙时,共用的UV移出01框(如重叠的UV),断开硬边避免接缝,接缝处的UV两边对齐,避免Tiling时出现错误

UV保证在【0,1】范围内

超过【0,1】的话,后续在SP中绘图会绘不上

断开硬边

如果硬边不断开的话,硬边处过渡时无法均匀过渡,导致烘焙时出错。

保持连续性,允许均匀的拉伸

如果模型的贴图为四方连续的,UV要保持水平平齐,允许均匀的拉伸。

UV焊接处尽量选择视线看不到的地方

选择看不到的地方,防止穿帮,比如人物的腋窝,手臂大腿内侧等。

动作(待补充)

规范项

说明

图例

模型导出

规范项

说明

图例

再次检查是否有没用到或者重叠的顶点

防止出错

再次检查是否坐标归零

防止出错

再次检查是否单位统一

防止出错

合并顶点

合并顶点,清除场景,删除没有用的一切物件

UV通道

检查是否道出了多余的UV。并且检查材质UV是否在第一通道。

导出设置

选择对应的导出项,场景、物件等一般只导出网格,带有动作的模型则把骨骼也勾选。(图例是Blender,其余DCC大体类似)

导出格式

一般来说导出的是FBX,具体看需求

贴图导出

根据需要看是否导出贴图,PBR的话一般只导出白模,然后再SP里面进行贴图绘制。

SP烘焙

规范项

说明

图例

先烘焙

导入新的模型后先烘焙一遍

贴图导出

选择对应的贴图,或者自定义导出贴图

导入Unity

导入引擎Unity

Metallic/Roughness 流程

规范项

说明

图例

Albedo贴图

勾选sRGB

MetallicSmoothness贴图

不勾选sRGB

Normal贴图

TextureType改为NormalMap

效果对比

SP

Unity

导出完模型和各种贴图后就可以导入引擎里面看效果了。

如果是外包发来的模型就需要另一步验收流程。

-------美术外包验收规范-------

规范项

说明

图例

测试环境

先将模型,角色丢到一个测试环境,测试环境中包括几张环境贴图,模拟不同场景下的光照。

原点位置

首先检查模型原点是否在正确位置。

命名规范

然后检查命名是否付个规范。

材质

检查模型上是否自带材质。

贴图检查

检查贴图是否缺少、贴图命名是否规范,有自发光和Alpha通道的是否正常。

动画

动画是否正常,命名是否规范。

顶点、面数

检查顶点、面数是否超标。

拉伸

对模型进行拉伸缩放,贴图位移、拉伸看是否正常。

是否藏东西

切换视口模式,看角色、物体内部是否正常,是否有冗余的模型。

好多地方不完善,等后面更加熟悉DCC、以及整体流程时再来补充。。

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

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

相关文章

基于SSM医院员工考勤管理系统,请假系统,员工管理系统,部门管理系统(Java毕业设计)

大家好,我是DeBug,很高兴你能来阅读!作为一名热爱编程的程序员,我希望通过这些教学笔记与大家分享我的编程经验和知识。在这里,我将会结合实际项目经验,分享编程技巧、最佳实践以及解决问题的方法。无论你是…

电流测量原理

由于直接测量电流信号是很难的,但是测试电压信号比较容易,因此通常都是先将电流信号转换为电压信号,将电压信号进行调理后送至 CPU,CPU 通过 AD 转换得到一个码值,软件读出该码值,先根据主控的硬件设计参数…

1688一件采购实现指南:含代码实现采购流程

一、引言 1688是中国最大的B2B电子商务平台之一,提供了丰富的商品信息和采购服务。一键采购是1688平台的一项便捷功能,可以帮助用户快速完成采购流程,提高采购效率。本文将详细介绍如何使用1688一键采购功能,并通过代码示例演示如…

语音群呼有哪些常见的应用场景?

事务通知提醒 银行信用卡还款通知、帐户进出帐通知等;供电部门电费收缴通知、客户查询、公告通知等;通信企业话费欠费通知。其他行业如:物业行业、自来水行业、人社局、法院等事务通知。 预警通知 譬如台风、防汛、防洪、地震、海啸、泥石…

AppLink+WMS,实现仓储管理一体化

WMS像全能的库管员,可以在线还原真实仓库,让企业进行科学化、条理化、俯视化的仓库管理。 随着移动互联网和物流行业的快速发展,如何提高仓储管理的效率和准确性成为了企业关注的焦点。在这个背景下,结合AppLink和WMS系统&#x…

windows 网卡设备收包禁止自动剥掉VLAN

windows网卡驱动默认会在接收数据包的时候剥掉vlan tag,使得用wireshark抓到的数据包中不含vlan tag,此时需要通过修改注册表让驱动保留vlan tag。 1. 打开网络连接 找到需要修改的网卡。属性-配置-详细信息-驱动程序关键字。复制{4d36e972-e325-11ce-…

10款AI绘画软件,一次性打包给你!

科技的发展如疾风骤雨,人工智能的影响已渗透到我们生活的各个角落。其中,艺术界同样在这股大潮中得到了翻天覆地的改变。人工智能与艺术的结合,开辟出了科技与艺术融合的全新视野。例如,人工智能绘画软件,这种类型的软…

使用@ExceptionHandler对数据库异常进行统一处理

使用ExceptionHandler对数据库异常进行统一处理 数据库插入异常信息,插入字段长短超时数据库设置字段长度 ### Error updating database. Cause: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column remark at row 1捕获异常处理…

【T1】T1飞跃专业版软件中, 操作添加现金银行信息时提示:该父类账户信息有财务数据,不能分级。

【问题描述】 在T1飞跃专业版软件中, 操作添加现金银行信息时提示:该父类账户信息有财务数据,不能分级。 【解决方法】 该问题是原因是因为T1和U通用财务联用。 Ps:留一下软件版本【飞跃19.5财务15.0.2.5】 针对账套库执行下属语…

【含泪分享】OpenCV4工业缺陷检测的六种方法

机器视觉 机器视觉是使用各种工业相机,结合传感器跟电气信号实现替代传统人工,完成对象识别、计数、测量、缺陷检测、引导定位与抓取等任务。其中工业品的缺陷检测极大的依赖人工完成,特别是传统的3C制造环节,产品缺陷检测依赖于…

PyQt6 QSlider滑块控件

锋哥原创的PyQt6视频教程: 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计45条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话版…

【数据结构—栈的实现(数组栈)】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、栈 1.1栈的概念及结构 二、栈的实现 2.1头文件的实现—Stack.h 2.2源文件的实现—Stack.c 2.3源文件的测试—test.c 三、栈的实际测试数据展示 3.1正常的出…

好用便签类工具有哪些?让上班族更轻松一些

想象一下你坐在电脑前,正在为即将到来的会议做准备,你需要整理一些重要的信息,以免在会议中遗漏关键内容。可是,你的电脑桌面上堆满了各种文件和图标,让你感到有些凌乱。这时,好用的便签类工具就成了你的救…

使用Allure框架创建个性化测试报告的步骤

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

FindMy技术用于手表

手表是一种用于计时和显示时间的仪器,通常由机械、电子或石英等机制驱动。手表可以作为配饰佩戴在手腕上,具有方便携带、时尚美观等特点。手表的种类和款式很多,可以根据不同的需求和场合进行选择。常见的手表类型包括机械表、石英表、电子表…

如何进行产品数据分析一——移动应用APP分析方法

如何进行产品数据分析 产品的定义产品分析的构成移动应用APP分析方法AARRR1.流量拆解DAUMAU活跃率拆解流量深度 2.流量引入反作弊算法识别系统(量)拉新质量评估体系(质)渠道价值评估体系(值) 3.流量输出 产…

同义词替换器降低论文重复率的最新技术进展

大家好,今天来聊聊同义词替换器降低论文重复率的最新技术进展,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧: 标题:同义词替换器降低论文重复率的最新技术进展 一、引言 随着学术…

RK3568全国产化多网口板卡带poe供电,支持鸿蒙麒麟系统

信迈XM-3568-01主板采用瑞芯微RK3568四核Cortex-A55 处理器,主频最高可达2.0GHz,效能有大幅提升最高可配8GB内存容量,频率高达1600MHz;支持全链路ECC,让数据更安全可靠配置双千兆自适应RJ45以太网口,并扩展…

kernel32.dll如何解决,教你如何快速修复kernel32.dll文件缺失问题

kernel32.dll是Windows操作系统中非常重要的一个动态链接库文件,它提供了许多系统级的功能和服务。本文将介绍kernel32.dll动态链接库报错的五种解决方法,并探讨kernel32.dll丢失对电脑的影响以及其作用的介绍。 一、kernel32.dll动态链接库报错的五种解…

每日一练2023.12.13——6翻了【PTA】

题目链接:L1-058 6翻了 题目要求: “666”是一种网络用语,大概是表示某人很厉害、我们很佩服的意思。最近又衍生出另一个数字“9”,意思是“6翻了”,实在太厉害的意思。如果你以为这就是厉害的最高境界,那…