最近会在UE4上实现风格化渲染的需求,所以也借机写一下相关的制作教程。对应日系风格化渲染技法来说,关键还是法线的处理。
 
法线处理以前翻译的资料很多了,所以也不多做解释了,比如下图是最新的UE4上的卡渲游戏【四女神OL】
 
UE4开发四女神的示例详细介绍在这里。
http://cgworld.jp/feature/201611-ue4fst2016-4gdss.html
 
用会Max Script或Python的话,可以很方便的在3dsMax或Maya上实现法线替换和烘培的工具,这里时间关系,还是暂时使用GGXrd中使用的SoftImage XSI插件UserNormalTranslator。

UserNormalTranslator的安装和设置

Youtube上UserNormalTranslator的教程视频,同时也为了不擅长日文或英文的同事理解方便,这里也简单的做了一下中文描述。
 
 
首先是在Githhub上下载UserNormalTranslator的插件。https://github.com/Gotetz/UserNormalTranslator ,然后启动XSI,把UserNormalTranslator.xsiaddon拖入到窗口中就算安装成功了。
 
因为XSI和3ds max的交互模式的键位有区别:
S键切换选择模式与视口操作模式之间的切换,然后可以鼠标配合左中右键做视口操作
A键按选中可以适应视口
X C S键对应缩放,旋转和移动
 
所以建议在启动时把交互模式设置为3ds Max或Maya模式
 
在XSI里设置视口中选择显示法线,在2014中,也遇到过因为FBX物件缩放比例问题导致法线无法显示的问题。

 
这里可以删除出导入时的法线
 
XSI自带的法线旋转功能
 
XSI里可以设置法线值

UserNormalTranslator的使用

 
UserNormalTranslator的面板
 
法线的Add功能,视频中的示例是当从上向下打光时,角色的脸会变黑,这时通过法线加入一个向上的向量,就可以很好的对应光照了。

 
 
法线乘法,可以增加法线向某个方向的权重。

 
UserNormalTranslator的一个主要功能就是法线球状化 ,对于制作树冠这类的风格化渲染很有帮助。例如下图中美术刚做完的一部分树叶,法线取的是每个树叶多边形自带的,着色看起来也比较杂乱。
在XSI里打开法线显示
 
简单的

 
配合法线乘法明暗分布可以更加半球化
 
通过Create Center,可以改变球心位置

 
将球心下移,可以减少阴影部分

 
法线平滑,这个很多工具都有的了。

 
法线向顶点颜色的拷贝,方便编辑的同时,一些需求上也需要模型有2套法线来应对不同的着色

UserNormalTranslator所欠缺的

1 法线拷贝功能,根据顶点的距离关系从源模型向目标模型拷贝法线信息,这个在服装和头发的法线调整上比较有帮助
2 XSI在国内并不算主流,有时间时还是通过他的JS源码,移植到3dsMax或Maya上更好一些。
 
下一讲的内容是UE4支持风格化渲染的几种实现方法
 

 
 
 

UE4实现风格化渲染(一):UserNormalTranslator工具的使用的更多相关文章

  1. UE4里的渲染线程

    记的上次看过UniRx里的源代码,说是参考微软的响应式编程框架,响应式编程里的一些理论不细说,只单说UniRx里的事件流里的事件压入与执行,与UE4的渲染线程设计有很多相同之处,如果有了解响应式编程相 ...

  2. 剖析虚幻渲染体系(14)- 延展篇:现代渲染引擎演变史Part 1(萌芽期)

    目录 14.1 本篇概述 14.1.1 游戏引擎简介 14.1.2 游戏引擎模块 14.1.3 游戏引擎列表 14.1.3.1 Unreal Engine 14.1.3.2 Unity 14.1.3. ...

  3. Unite 2018 | 《崩坏3》:在Unity中实现高品质的卡通渲染(下)

    http://forum.china.unity3d.com/thread-32273-1-1.html 今天我们继续分享米哈游技术总监贺甲在Unite Beijing 2018大会上的演讲<在 ...

  4. (转)为什么在 2013 十月番中出现了很多以 3D 渲染代替传统 2D 绘画来表现人物的镜头?

    一直都有的,特别是三次元这家公司一直致力于3d的风格化渲染既大家说的3d转2d.目前最厉害的商业化软件是pencil+,占领大部分的作品.而mentalray,早期用于disney的部分风格化渲染:i ...

  5. UE4中使用RenderDoc截帧

    RenderDoc(src,doc,ue4 doc,ue4文档)是一个独立的开源图形调试器,通过采集和检查GPU上运行的单个帧,来定位图形bug和优化性能 RenderDoc支持任何在Win7.Win ...

  6. 【UE4】虚幻引擎技术直播汇总(含中英文直播)

    B站虚幻引擎官方账号 中文直播 [中文直播]第35期 | 使用GIS在UE中创造真实地球风貌 | Epic 周澄清 [中文直播]第34期 | 包教包会的Epic MegaGrants申请之道 | Ep ...

  7. 如何使用Goolge Timeline工具

    网上中文的资料版本比较老,找到一个新版本的英文介绍,翻一下,原文:https://developers.google.com/web/tools/chrome-devtools/profile/eva ...

  8. 《Inside UE4》-1-基础概念

    <Inside UE4>-1-基础概念   InsideUE4   创建测试项目 接上文的准备工作,双击生成的UE4Editor.exe,选择创建测试C++空项目Hello(以后的源码分析 ...

  9. 第1部分: 游戏引擎介绍, 渲染和构造3D世界

    原文作者:Jake Simpson译者: 向海Email:GameWorldChina@myway.com ---------------------------------------------- ...

随机推荐

  1. java环境配置为1.7jdk为什么cmd java -version查看版本是1.8

    记录一个小问题: 初始安装的是jdk1.8,后来项目需要要更换成jdk1.7, 因此将环境变量更改为jdk7的目录路径, 但是在cmd命令行运行java -version 发现还是jdk8 解决方法: ...

  2. nginx实现请求转发

    反向代理适用于很多场合,负载均衡是最普遍的用法. nginx 作为目前最流行的web服务器之一,可以很方便地实现反向代理. nginx 反向代理官方文档: NGINX REVERSE PROXY 当在 ...

  3. 数据库模型设计PowerDesigner

    Power Designer 是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,他几乎包括了数据库模型设计的全过程.利用Power Designer可以制作数据流程图.概 ...

  4. WCF 定义SOAP和REST风格的webservice

    摘抄于其他帖子,在此记录以备后用. 1. 定义服务数据契约(SOAP与REST方式相同)  public class Employee   { [DataMember]       public st ...

  5. linux 用户创建、管理、权限分配

    (1)su与sudo su:通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码,什么是权力?这就是!而普通用户切换到其它任何用户都需要密码验证: sudo: sudo扮 ...

  6. Python: Win7下使用 pip install lxml 无法安装lxml?

    1.在网址 http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml 下,搜索lxml,下载Python对应的lxml版本.如下图: 2.打开cmd,进入到lxm ...

  7. 解决JettyMavenPlugin: Failed to load class "org.slf4j.impl.StaticLoggerBinder"

    <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</arti ...

  8. SQL入门语句之INSERT、UPDATE和DELETE

    一.SQL入门语句之INSERT insert语句的功能是向数据库的某个表中插入一个新的数据行 1.根据对应的字段插入相对应的值 insert into table_name(字段A, 字段B, 字段 ...

  9. GitHub团队项目合作流程

    已在另一篇博客中写出关于以下问题的解决,点此进入: 同步团队项目到本地时出现冲突怎么办? 项目负责人merge一个Pull Request后发现有错怎么回退? 目录: 零.前期准备 一.创建开发分支 ...

  10. @Html.Partial和@Html.Action区别

    1.首先看一下它们的对等关系 @Html.Partial 对应 @{Html.RenderPartial();}@Html.Action 对应 @{Html.RenderAction();} 以上相互 ...