使用normal map的目的

使用normal map的主要目的是使得low-poly的模型看起来如同high-poly的模型那样精致,比如一个1500个三角形面片的模型在细节上看起来跟一个拥有200万个三角形面片的模型一样精细。基本想法是将high-poly模型的细节拿来放到一张normal map中,将该normal map应用到low-poly模型,这样low-poly模型将会看起来跟high-poly模型那样精致。

下面开始讲如何利用normal map 制作精美骰子
一、配置场景环境
1. 场景单位,Customize > Units Setup..., 选择Generic Units;
2. 渲染驱动器,Customize > Preferences..., Viewports tab > Display Drivers, 确保驱动器是Direct3D 9.0。如果不是,则可以从Choose Driver选择它。

二、创建两个Box, 一个为low-poly,另一个为high-poly
1. 创建一个50*50*50的box,命名为lowPolyDice;

2. 将lowPolyDice复制一份,命名为highPolyDice;

注:highPolyDice由lowPolyDice复制而来这一步非常重要,这意味着它们的结构及空间位置都是一样的,这在后面生成normal map非常重要。若它们俩的位置不一致,则生成的normal map会有错误。

三、在具体做骰子之前需要知道的事情
1. 生成normal map有两种方法:
 制作lowPolyDice和highPolyDice,然后在3ds max中生成normal map;
 只制作lowPolyDice,使用Photoshop生成normal map,事先需要安装NVIDIA Normal Map Filter; 具体安装与使用见http://developer.nvidia.com/nvidia-texture-tools-adobe-photoshop;
2. 选择何种方法来生成normal map的技巧
 如果模型的边缘非常光滑,则使用high-poly模型来生成normal map;
 如果模型上有文字,或者非常精细的细节,则选择在photoshop中生成normal map;
3. 本文利用混合法来生成normal map
 对于骰子光滑的边缘以及面上的洞,在highPolyDice上造型;
 对于bevel的文字,则使用Photoshop;
四、创建highPolyDice

1. chamfer edges and connect

0) 在编辑highPolyDice时,可以先隐藏lowPolyDice。但是注意不要改变它们的位置关系;

1) 将上述已创建好的highPolyDice转化为editable poly;

2) 激活按边选择,用ctrl+A全选它所有的边,对所有边进行chamfer,值为2;
3) 选中8个角落处的所有边8*3 = 24条,并connect,如Fig. 1。这一操作的目的是当使用修改器MeshSmooth时,能使它仍然保持成立方体;

Fig. 1

2. 加强edge部分
1) 仍然激活按边选择,以一个顶点作为基点,选中highPolyDice的一条边,用Ring选择所有与该边平行的边,并以2段数Connect它们,如Fig.2中右下角小图;
2) 以Loop选择方式,选择第一步所生成的边,分别将它们向两边缘平移。为方便计算平移的量,将highPolyDice移至中心点,我这里的平移量为14,具体操作的时候,这个数值可以调整;
3) 对于与基点相连的另外两条边,重复作第一步与第二步,结果如Fig.2;

Fig. 2

3. 重复2的操作,但这次不需要平移行生成的边,这样保证将每个面分成等面积的块,如Fig.3。

Fig. 3

4. 打洞,进行如下操作:
1) 激活按多边形选择,选择所有需要打洞的块,如Fig.4右下角小图;注意,在选择六点时,由于它的三个块是连续的,在进行下面操作可能会得到错误的结果,所以对于六点我们可以先选择分隔开的四点,对它操作完后,再进行另外两点同样的操作。
2) 进行Inset,值为2;
3) 进行Bevel,高为-2,outline amount为-1,最后结果如Fig.4;

Fig. 4

5. 完成highPolyDice
1) 退出按边选择模式,给模型添加修改器MeshSmooth, 迭代次数为3,如Fig.5;

Fig. 5

五、在生成normal map之前,对lowPolyDice进行unwrap,以确保它的多边形没有使用同一个UV空间

1. 修改lowPolyDice纹理坐标

0) 隐藏highPolyDice,显示lowPolyDice;

1) 给lowPolyDice添加修改器unwrap,并打开UV编辑器;
2) 激活按多边形选择,菜单Mapping > Flatten Mapping...,按其默认设置并确定,生成的纹理图片如Fig.6左上角小图;
3) 将最上面的方格移动到如Fig.6红色块显示位置;

Fig. 6

六、生成normal map
0. 确保同时显示highPolyDice和lowPolyDice,此时两者的几何空间应该是重叠的,如Fig.7中右下角视图中绿色部分显示的是highPolyDice;
1. 选中lowPolyDice,点击Rendering > Render To Texture..., 或者按快捷键 0打开对话框;
2. Enable Projection Mapping (2),并点击Pick,选择highPolyDice,此时工程会自动给lowPolyDice加Projection修改器;
3. 点击Options... (3)打开Projection Options对话框,勾选Use Cage;若以antiliasing方式渲染纹理图片,则点击Set up...打开Render Setup对话框,勾选Antialiasing,并且在Global Supersampling 下勾选Enable Global Supersampler, 选择Max 2.5 Star;若不想以antiliasing方式渲染纹理图片,则勾选Disable all Samplers;
4. 点击Add... (5),选择normal map;
5. 在File Name and Type (6)可以选择normal map输出的路径;
6. 其它设置如Fig.7所示;按Render渲染出来.tga文件自动保存到设置好的路径中;生成好后,normal map显示在viewport中,正确的normal map 如Fig.7右下角图;

Fig. 7

七、将生成的normal map在photoshop中打卡,保存.psd格式,并应用到lowPolyDice

1. 在photoshop中添加文字并合并到normal map中

1) 将normal map在photoshop中打开,新建一个图层,输入如图示文字;

2) 将文字层转化为normal map,利用NVIDIA Normal Map Filter,Filters > NVIDIA Tools > NormalMapFilter...;

3) 将文字层与normal map图层合并为一个图层,并保存;

2. 创建standard material,并将normal map设成bump map

1) standard material > Maps > Bump..., 选择Normal Bump, 在normal map的normals 选项,选择上述保存的图片;
2.将生成好的材质应用到lowPolyDice, 渲染后的效果如Fig.8

Fig. 8

八、通过normal map生成specular map 和 diffuse map

1. 通过normal map生成specular map

1) 对normal map 先后进行去色(Desaturate),反向;

2) 调节色阶(Level);

3) 其他地方选择并填充为白色,结果如页首效果图;

4) 将specular map应用到材质specular level对应的map中;

2. 通过normal map生成diffuse map

1) 用魔术棒,调节颜色容差值,选择圈圈以外的地方并用红色填充;

2) 选择红色区域并反选,填充为白色;

3) 将它应用到diffuse map中,结果如页首效果图;

参考教程:
http://www.game-artist.net/forums/spotlight-articles/43-tutorial-introduction-normal-mapping.html

在3ds max中,利用normal map 制作精美骰子相关推荐

  1. 如何在 3ds Max 中使用 Mental Ray 制作逼真的草地和带有光晕的天空

    推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 首先,您将创建一个平面对象,然后添加一个噪点修改器.在此之上应用毛发和毛皮修饰符. 这将用于模拟逼真的草地. 我们用日光系统创造太阳和天 ...

  2. 如何解决Vray for 3ds Max中的3个错误

    大家好,几乎所有艺术家都知道来自Chaos的Vray渲染器.Vray是世界上最完整的用于高端可视化和制作的3D渲染软件.它是一个与3D软件交互的渲染器,几乎可以应用从小规模到大规模的任何工作室工作流程 ...

  3. 遇到V-Ray for 3ds Max中的这3个错误如何解决

    V-Ray是一款可用于高端可视化和制作的3D渲染插件.它是一个可以与3D软件交互的渲染器,从小规模到大规模的任何工作室都能用它. V-Ray虽然有很多优点,但是在使用的过程中,仍然存在一些与生产工艺流 ...

  4. 3ds Max中的V-Ray学习

    时长3h 30m 大小解压后:2.73G 包含项目文件 1280X720 MP4 语言:英语+中英文字幕(根据原英文字幕机译更准确) 3ds Max中的V-Ray简介:官方V-Ray导师 云桥网络 获 ...

  5. 在 3ds Max 中打开或保存文件时间很长,解决方案来了

    3ds Max 场景文件的打开时间比平时长(有时超过 20 分钟). 来自网络的外部参照场景或文件会增加加载时间. 文件也可能在 3ds Max 中崩溃. 成因: 包括但不限于: Windows 操作 ...

  6. 仙剑模型的截取以及导入3ds max中

    仙剑模型的截取以及导入3ds max中. 我前几天截取了 仙剑三, 外传, 仙剑四的游戏模型. 许多人问我是怎么截取的.还有些同学不知道怎样导入贴图. 而且以前做的那个教程没有几个人能看懂. 特地制作 ...

  7. 如何在3ds max中创建可用于真人场景的巨型机器人:第 3 部分

    推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 1. 创建腿部装备 步骤 1 打开 3ds Max. 打开在本教程最后一部分中保存的文件. 打开 3ds Max 步骤 2 转到创建&g ...

  8. 如何在3ds max中创建可用于真人场景的巨型机器人:第 1部分

    推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 1. 创建主体 步骤 1 打开 3ds Max. 打开 3ds Max 步骤 2 在左侧视口中,按键盘上的 Alt-B 键.它 打开视口 ...

  9. 如何在3ds max中创建可用于真人场景的巨型机器人:第 5 部分

    推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 1. After Effects 中的项目设置 步骤 1 打开"后效". 打开后效果 步骤 2 我有真人版 我在Af ...

最新文章

  1. 【Android 安全】DEX 加密 ( 常用 Android 反编译工具 | apktool | dex2jar | enjarify | jd-gui | jadx )
  2. python数组求和函数_python数据分析之Numpy数据库第三期数组的运算
  3. 《构建高可用Linux服务器》卓越网和互动网上架了
  4. pytorch实现L2和L1正则化regularization的方法
  5. django-中间件的执行流程
  6. centos6中office及中文输入法安装 (转载)
  7. SAP License:FI学习笔记
  8. QT tableWidget的使用及其实例
  9. 中电信推大学生3G上网套餐
  10. linux可执行文件的后缀是什么?
  11. 大一python选择题题库及答案_万维考试系统选择题题库(含参考 答案).pdf
  12. c语言中的圆方程,高中圆的方程练习题
  13. PCIe学习笔记之pcie初始化枚举和资源分配流程代码分析
  14. 手把手教你用 Python 爬虫煎蛋妹纸海量图片
  15. 01 PhantomReference没有进入ReferenceQueue
  16. @NotBlank的使用以及效果
  17. utf-8中一个汉字是3个字节,你知道吗?
  18. java8 stream .skip() .limit() 实现分页功能
  19. PKI-CA数字证书验证过程
  20. smobiler仿京东app搜索页面

热门文章

  1. 栈的push、pop 序列
  2. 项目部署在IIS服务器,以及设置防火墙让外网可访问
  3. datatype未定义是什么意思_vue里面的methods写了方法,为什么渲染的时候还是报未定义...
  4. 1851:【08NOIP提高组】笨小猴
  5. Bandicam安装教程(含免费百度网盘资源链接+教程)
  6. 企业网络规划方案设计
  7. 学计算机笔记本屏幕多大,14寸笔记本屏幕大小是多少
  8. 处理阿里云服务被运行挖矿脚本 CPU占用100%
  9. Unity制作RPG游戏——碰撞检测
  10. [datawhale202208]计算之魂共读:怎样寻找最好的算法