大家好,小编次世代建模师一枚。今天给大家详细讲解下崩坏3人物模型是次世代还是手绘的。文笔不好,请见谅哦。

崩坏3这个游戏我大概玩了几分钟,印象中模型贴图质感类似火影忍者究极风暴。

图片来自网络

崩坏3属于日系卡通渲染,贴图来讲通常是单色 可以渐变但不可以有手绘的笔触(这个看项目的美术需求,通常走日系漫画风格是禁止有笔触感的)从美术风格上看这是接近日系动漫的风格,可以说和传统的次世代写实的认知分道扬镳了。

而从本世代技术层面来看,崩坏这种卡通/动漫角色并没有引入pbr技术。然而崩坏3采用的画面技术,某种意义上也能称为次世代。是次世代的卡通渲染技术。卡通渲染技术的核心方式是阈值分割的明暗表现,完整的色块式的贴图风格以及对角色和物体的描边处理。早期的卡通渲染效果并不是是很好,比较依赖美术设计的水平,比如CAPCOM的大神和幻侠乔伊。

关于是不是次时代模型 次时代跟手绘模型主要区别就是模型的精度高低,次时代面数多 手绘少。其次是否有法线。崩坏3应该是没有法线的,至于模型面数要达到多少量值才算是次时代这个没有硬性规定。

图片来自网络

通常来说现在的写实类次时代一个主要的NPC角色模型是十几万面数起,如果跟这种类型对比崩坏3的模型就会显得很手游了,如果跟普通手绘类手游的一些游戏相比较模型面数,崩坏3的面数算比较多的,硬要说的话可以算是手绘模型?大概…

崩坏3的呈现效果还不错,但如果套用典型的次世代模型定义是不符合,如果以卡通渲染的角度看,基本算得上是次世代的卡通渲染。

下面再来稍微解析下崩坏3角色渲染

(非专业人员可能看不懂哦)

渲染逆向方法:

用Adreno Profiler抓帧, 并且分析其中的OpenGL调用及相关资源(顶点数据、纹理、Shader代码等)

其中Shader代码和在Unity里选中Shader并点击Compile and show code看到的gles3部分类似, 建议转换成更易于阅读的形式

卡通着色思路:

光照计算仍然是漫反射+高光反射, 其中漫反射是HalfLambert, 高光反射公式来自于Blinn-Phong模型

比较关键的点是, 漫反射部分不是渐变的, 而是分了3档, 以实现卡通风格的层次感, 即所谓的梯度漫反射(Ramped Diffuse)

上图是还原出来的Unity Shader及渲染结果,

描边的实现:

将模型在观察空间中, 按法线往外扩张, 以剔除正面的方式绘制 (Shader中声明的顶点属性是切线, 但实际提交的数据应该还是法线)

下图输出-膨胀方向.png, 其中红色表示右下, 绿色表示左上, 黄色表示右上, 黑色表示左下, 注意: 只是大概的方向不是绝对的

最终描边结果输出-最终结果.png, 为了更明显, 描边颜色设置为了黑色, 游戏中实际的值为(0.4117647, 0.3112941, 0.3768184)

如果真的遇到好的同事,那算你走运,加油,抓紧学到手。 次世代3D建模资源分享企鹅圈: 809583402 包含3Dmax,
Zbrush等次世代游戏建模软件,以及机械具、人物、怪物等模型的制作方法。 打造从零基础到项目开发上手实战全方位解析!

点击加入

崩坏3人物模型详解—是次世代还是手绘?相关推荐

  1. 使用pickle保存机器学习模型详解及实战(pickle、joblib)

    使用pickle保存机器学习模型详解及实战 pickle模块实现了用于序列化和反序列化Python对象结构的二进制协议. "Pickling"是将Python对象层次结构转换为字节 ...

  2. Transformer 模型详解

    Transformer 是 Google 的团队在 2017 年提出的一种 NLP 经典模型,现在比较火热的 Bert 也是基于 Transformer.Transformer 模型使用了 Self- ...

  3. TensorFlow Wide And Deep 模型详解与应用 TensorFlow Wide-And-Deep 阅读344 作者简介:汪剑,现在在出门问问负责推荐与个性化。曾在微软雅虎工作,

    TensorFlow Wide And Deep 模型详解与应用 TensorFlow Wide-And-Deep 阅读344  作者简介:汪剑,现在在出门问问负责推荐与个性化.曾在微软雅虎工作,从事 ...

  4. TensorFlow Wide And Deep 模型详解与应用

    Wide and deep 模型是 TensorFlow 在 2016 年 6 月左右发布的一类用于分类和回归的模型,并应用到了 Google Play 的应用推荐中 [1].wide and dee ...

  5. 数学建模——智能优化之模拟退火模型详解Python代码

    数学建模--智能优化之模拟退火模型详解Python代码 #本功能实现最小值的求解#from matplotlib import pyplot as plt import numpy as np imp ...

  6. 数学建模——智能优化之粒子群模型详解Python代码

    数学建模--智能优化之粒子群模型详解Python代码 import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplo ...

  7. 数学建模——支持向量机模型详解Python代码

    数学建模--支持向量机模型详解Python代码 from numpy import * import random import matplotlib.pyplot as plt import num ...

  8. 数学建模——一维、二维插值模型详解Python代码

    数学建模--一维.二维插值模型详解Python代码 一.一维插值 # -*-coding:utf-8 -*- import numpy as np from scipy import interpol ...

  9. 数学建模——线性规划模型详解Python代码

    数学建模--线性规划模型详解Python代码 标准形式为: min z=2X1+3X2+x s.t x1+4x2+2x3>=8 3x1+2x2>=6 x1,x2,x3>=0 上述线性 ...

最新文章

  1. C++string中find_first_not_of()函数和find_last_not_of()函数
  2. string index out of range_Java 12 骚操作, String居然还能这样玩!
  3. 程序员工资那么高,却不知道怎么花?程序员花钱指南了解一下!
  4. C++ STL 乱序算法
  5. 【好文链接】什么是开环控制?什么是闭环控制?区别在哪里?
  6. HoverTree.Model.ArticleSelect类的作用
  7. python中int占几个字节_小白学python第1问: int 占几个字节?
  8. 笔记:《深入浅出统计学》第十三章:假设检验(显著性检验)
  9. Unity3D渲染系列之SkyBox天空盒
  10. Excel数据分析day1
  11. 从降维攻击详解互联网格局体系
  12. 如何用宏定义的方式实现MAX(A,B),MAX(A,B,C),MAX(A,B,C,D)
  13. VRChat与Anthos Capital携手合作,完成8,000万美元的D轮融资
  14. DOS上登陆FTP的命令和步骤(ftp命令全集)
  15. Java选择题(十八)
  16. word标题4降级标题5无法显示
  17. Swift 参数可选和必选的区别
  18. c uml mysql_UML图不包括()。
  19. 计算机类公务员竞争,考公务员最“吃香”的4个专业,考上几率大,把握住机会!...
  20. cad安装时无法选择浏览和安装键

热门文章

  1. linux 判断文件上传轨迹,linux各种常用命令
  2. java导入包srcy有红叉_eclipse导入项目后出现红色叉号的解决方案
  3. php html5 案例,35个非常好的HTML5+CSS3实例
  4. jsp 定义java类_在JSP中定义一个类
  5. python编程能有什么用_揭秘python都能做什么?
  6. java compareto方法怎么排序的_很简单却能让你面试头疼得Java容器,这里从源码给你解释清楚
  7. cd返回上一 git_使用Git实现自动化部署项目
  8. c盘保护软件_电脑C盘空间越来越小?简单操作这几步,可以释放大量空间
  9. php 可视化neo4j,开源图形数据库Neo4j使用 php开发
  10. Windows10下的docker安装与入门 (一)使用docker toolbox安装docker