大家一起听着音乐看文章吧
美好的周末又来了
在比基尼海滩上又响起了熟悉的声音
“ 派!! 大 !!星!!!”
奥 ,抱歉 !播错节目了
欢迎大家来到
「游戏开发小科普」第六期节目
叮咚 ~ 叮咚 ———
“ 小傻瓜 ,起床咯 ! 今天去逛街吧 ”
系统提示: 请选择你的今日女朋友 ~
系统提示: 正在分配您的女朋友 — 请稍候
“ 分配成功 ,获得女朋友 x 1 ”
Press any key continue ~~
别打我啊喂!
扔鸡蛋的什么意思啊喂!
怎么还有扔“你是好人,我们不适合”
的好人卡啊喂!
鼻青脸肿的系统温馨提示:
“ 恭喜你,获得优质女朋友 x 1 ”
正在载入逛街地图 — 请稍候
怎么在Csgo A大逛街啊喂 ?
加载错了吧,啊喂
也不是在召唤师峡谷!正经点啊喂 !
卡特真的好美啊! 我要死了 !
也不是在 戴夫家里做客 !啊喂 !
正在载入街景 —— 请稍候 !
“ 哇!这家的衣服都好好看啊 ”
“ 我们进去看看吧 ”
你满脸的开心响亮的回答着:“ 好!”
但是内心小声嘀咕着:“唉 一天又要没有了”
等等 !突然出现了强烈的死亡气息 !
系统提示:
具有生命危险 !危险指数 ⭐️⭐️⭐️⭐️⭐️
你赶忙打趣的大喊到:“ 逛街大作战开始!”
系统提示: 恭喜你成功逃脱危险 !
女朋友非常开心的挑选衣服
在镜子面前比对着
时不时的问你:“这件怎么样啊?”
你一边回复着真好看
一边看着小黑盒的「游戏开发小科普」津津乐道
“ 我穿这件衣服好看吗?”
你已经听到无数次这句的死亡问题了
你知道总是不走心的说着 “ 好看 ”
终究会逃不过 — 正义铁拳
你看着手机 ,顺口回答道: “这件一般吧 ”
“ 认真系列 — 必杀技认真一拳 !”
砰 ————
好 — 好疼 !!
“ 老娘穿的是泳衣!
你意思是我身材也一般咯 ? ”
“ 啊 啊 啊 !那怎么会呢 !你穿着泳衣
有一种天生丽质貌美如花的美
有一种轻灵之气肌肤娇嫩悠然的气息!
有一种英语四级426的快乐!
有一种海底捞双椒牛肉半价的幸福!
有一种4090Ti显卡游玩游戏的流畅!
有一种大学高等数学60分的幸运!
先看看在现实中,人物的穿着效果吧!
在游戏的世界里 ,人物穿着各种好看的衣服
比如:
那么我们一起来探索
「游戏开发小科普之服饰的秘密」
温馨提示:
此区域内容你会阅读的 很轻松有趣
很多的3A 游戏
已经接近做到了接近现实的服装效果 .
游戏中与现实模式几乎相似
首先有请我们的 小黑同学
小黑同学目前是并没有穿衣服
问我为什么不选择女生的同学!
过分为了啊喂!
会被抓去小黑屋的啊喂!
如上一期所说的 , 人物是一个胶囊
里边紧紧的裹着一层骨骼
而所谓的 “材质Material” 就是他的皮肤
想起来上一期的蓝精灵小姐姐了吗?
这就是他最基本的模型
也称为 骨骼网络体资产
注意看到他胸前的“ 奥特曼能量灯”了吗 ?
这并不是服饰 , 而是材质(皮肤)
也可以理解为皮肤
在想象一下英雄联盟的卡莎
抱歉 ! 又放错了哦!(手动狗头保命)
那么你已经知道了这个
让我们的目光来转移到小姐姐身上吧
如你所见到的
小姐姐白嫩嫩的皮肤!
让我不禁想起来我逝去青春!
我在青春下的奔跑!
察觉到你有想跑的意思!
赶紧奉上一张美图
给我认真学完啊喂 !
这是小姐姐的皮肤
咳咳咳!
正经一点!那么你肯定猜到了
让我们来看看小姐姐的皮肤是怎么样的吧 ?
小姐姐的皮肤是这样的(材质球)
这是无光照下, 小姐姐的样子!
对,你注意到了!
为什么头发依旧为黑色?
留个伏笔 , 可以期待下一期小科普哦!
这里可以简单的解释一下:
因为头发也可以是一个材质
恭喜你 !对于游戏中的身体已经了解
那么让我们来看一看服饰吧
如你所看到的 , 服饰拥有很多
上衣,裙子,鞋子,袜子等等
谁打的马赛克啊!
真的很想打他啊喂!
那么他们在游戏世界中 - 游戏引擎角度 是怎么样的呢?
我可以告诉你普遍的分为两种 :
第一种 - 代表作 : 荒野大镖客2
因为属于小科普
没办法完全正确的阐述
在这里做基本的了解
这些服饰就是 “活生生的物体” , 也像是胶囊一样(和人体模型一致)
为什么要这样呢?
因为这样服装也可以做到真实感的褶皱,浸湿等效果 .
那么如果和人物保持吻合呢?
哈哈哈,比如鞋子可真的在游戏里没法系鞋带让他吻合啊.
而是通过布置很多的点
通过实时的计算与人物的所需要保持的位置
当然这样的方式使用的地方非常的少
使用了也是为了保证局部性的最真实效果
第二种 - 最常见最通用的方式
有玩过辐射4 ,老滚5的 MOD 吗?
如果有的话你更容易理解
那就是将衣服摆放好位置 , 与人物的身体正好吻合紧贴着.
然后覆盖到人物的身上, 来看看效果图就明白了
衣服单独的组装在一起 .
将衣服与人物的位置进行重叠
这样也可以根据位置针对物体做相关的计算
或者更换衣服 .
在这里再强调一下
上面是站在引擎开发角度考虑
在游戏开发中 ,
大部分还是在建模师给出人体模型的时候
直接在建模软件上就带有这样服饰
那么衣服又是什么呢 ?
其实他一点也不神秘
他和人物模型是一模一样的东西 ( 骨骼网络体资产 )
就这样我们可以制作出不同衣服的小姐姐了
本期内容就到此结束
那么敬请下一期「游戏开发小科普」 !
我们不见不散 !
悄咪咪 : 其实底下还有内容
———
上一期科普导航 :
[游戏开发小科普-5]小姐姐腿有我的好看吗?
上一期科普收入捐赠:
额外解释一下 - 以后就不再提了
目前属于一级作者,收益为H币
对于我来说没什么用处,所以一定比例转化为现金捐赠
后续收益为 <可提现金额> 则全部捐出
—————等一下 —————
还没有结束 !
以下内容逐渐硬核!
请选择性收看 !
请选择性收看 !
请选择性收看 !
系好安全带 ! 出发咯 !
温馨提示:此区域内容适合
1. 认真看过 本章内容 与 [游戏开发小科普-5]
2. 对本文章感兴趣 , 想要继续了解一下
在游戏引擎与3D建模软件的视野里是这样的
称之为: 线框
可以理解就像拿着笔刷绘制出来的立体图
可以更加清晰的看出来建模出的内容是否对齐等
那么来看看人物穿着衣服的样子是怎么样的 .
很明显的看得出来两者(衣服与人体)
属于重叠在一起的线条 .
别忘啦,我们前面
一直在强调人物的皮肤颜色
一直提到的所谓的 材质
那么当我们去掉所谓的材质之后呢 , 那就真的只剩下 “模型”了
有时候 , 为了更容易的适配衣服
也会将人物模型拆开的(可以理解为积木一样)
拆开是为了什么知道吗?
嘻嘻,可以稍微的想一下
倒数 5 , 4 , 3, 2 , 1 --
为了更节省资源 , 比如
如果衣服是全部包裹的 , 是不是可以不需要人物的身体了
如果穿的是丝袜 , 那么是不是可以并不需要腿部了呢
让我们继续深入一下吧 !
温馨提示:
此区域内容硬核
材质是什么 ?是 Material !
都知道啊喂! 能不能别抖机灵啊喂 !
材质就是让模型的表现更加的生动
我们以这个裙子举例
逐步看一下这个材质是怎么形成的吧
先看一下裙子的模型(没有加入材质的效果)
这里是通过游戏引擎渲染出的材质球. 也就是我们一直提到的 材质Material
首先,观察裙子样子
这里使用的纹理 , 一个是金色的折射 , 一个是裙子的磨砂感
左边的图是 为了渲染裙子更真实的效果
右边的图是 裙子本身的纹理 , 也就理解为 你所看到的样式
那么左边的这个 RGB 是干嘛的呢 ?
裙子的粗糙贴图(上图中的 左- R通道 )
是为了让粗糙度增加后更加逼真
世界上并不存在绝对光滑的物体
所以注意到了裙子上的粗糙的白点了吗?
那么R底下的G通道被称为: 高亮贴图
其实这里的G就是为了增强上面提到的R通道的质感.
那么 R, G 底下的B是什么呢 ?
为什么不连接呢?
B是金属贴图通道 .
裙子嘛,并不需要什么金属质感
好了 , 好了
让我们离开一下游戏引擎
步入图形学的世界去看看吧
在游戏引擎的视野下
在模型上 , 之前很容易出现的自阴影的瑕疵
顾名思义
就是在光照下,阴影褶皱部位会产生小点点
图中看不到,是因为游戏引擎已经避免了这个问题
什么情况呢 ?
其实就是所谓的 精度问题引起的
比如举个例子软件开发中,当int数值过大时候,就会报告溢出
一个像素的对应深度值为24 位
深度缓冲区会带有一个模板缓存区
这个区域像素保存为8位信息 .
所以每一个像素需要32位缓冲区数值
而在新的CPU中 , 产生了浮点深度缓冲区
所以导致这些区域对应的深度值是不同的.
那么会造成什么影响呢 ?
那就是假设从光源方向倾斜的角度渲染一个表面时候.
在同一个小领域中的像素对应阴影图中的相同的深度值
一些像素被绘制成了阴影而一些并没有
注意到了吗 ,其实紫色圆圈的地方在光的背面
并没有出现所谓的斑点,这是因为现代引擎都已经避免了这个问题
那么这个图不清晰的话,我们使用一个模拟图吧
因为深度缓冲区有限精度会导致阴影瑕疵
所以深度值只能为一个整数, 也就是说与光线没有垂直的表面就会忽隐忽现
所以给增加一个偏移值, 也就是比原来更深入一些 . 也就是把投射表面整体的相对向下移动
OpenGl 中glPolygonOffset()函数计算每个像素时候
根据表面在相机空间的斜率进行深度偏移就好了
glEnable( GL_POLYGEN_OFFSET_FI LL) // 开启
glPolygonOffset( 1.0F , 1.0F ) // 偏移
这是一个动态的计算
因为人物运动 , 相对的光线也在运动
注意这里的相对
看到这里也是辛苦了!
那就用一张小姐姐图来结束今天的旅程吧!
期待下一期吧 !