朱峰社区首页 朱峰社区

搜索资源 登陆

等待

返回 展开菜单

虚幻4学习心得

MarvelousDesigner中文教程 观看预览

MarvelousDesigner中文教程

包含15节视频教程
关注20.5万

朱峰社区出品完整的Marvelous Designer中文教程,包含Marvelous Designer从初级到高级的软件教程、导入导出到3dmax和maya的解决方案、如果应用到动画的具体实例。是非常完整的Marvelous Designer视频教程。对于想要解决布料和衣服系统的同学,是时候用Marvelous Designer替代你之前的布料创建流程,改变布料的建模方法了。

关闭
Unreal Engine4(虚幻4)学习心得-获取UE4

按照国际惯例自我介绍,多年GPU驱动工作经验,主要研究方向为3D图形学OpenGL,曾效力于Marvell手机部门和Intel开源技术组,目前任职于完美世界3D引擎组,热衷于对开源游戏引擎的研究。2013年开始阅读Cocos2d-x源码,曾录制一套Cocos2d-x教程,获得Cocos引擎中文官网举办的原创Cocos教程二等奖,目前该教程已转移到极客学院,从去年开始使用Unreal Engine4,并阅读其源码,将学习心得整理至此,借此与大家进行交流。个人网站:图形学人

不同人眼中的Unreal Engine

制作一个完整的游戏,需要许多部门的通力合作,比如工程师(引擎工程师、客户端工程师、服务器端工程师)、艺术家(原画、角色、动作、场景、特效、光照、UI)、策划等。不同人使用UE4的侧重点不同:

UE4下载地址
UE4的编辑器

Unreal Engine4(虚幻4)学习心得-Ambient Cubemap 环境立方体贴图
创建项目

如何创建新的项目在这里就不做过多说明了,打开UE4 Editor,就可以选择是创建blueprint项目,还是C++项目。

  • blueprint蓝图项目
    blueprint蓝图项目,使用图形化编程方式,供非程序员可以不通过代码,就可以做出一个不错的UE4项目,可以用作demo,甚至是上线项目使用。
  • C++项目
    C++项目,也就是通过代码来完成一个项目的开发。不过其实说白了,蓝图中使用到的函数、变量,都是底层C++写好之后,选择性的暴漏给蓝图的。

创建了项目之后,从Editor左侧将一些static mesh、light之类的拖到关卡编辑器中,点击播放,也就可以看到场景的效果了。

Ambient Cubemap 环境立方体贴图

  • 用处
    在标准光照模型(Blinn-Phong模型)中,进入摄像机的光线分为4种,自发光、高光反射、漫反射、环境光。其中环境光适用于描述物体所收到的间接光照的。而Ambient Cubemap用于高质量光照环境的立方体贴图。
  • 实现方式
    其实就是对物体的六个方向拍照,得到一个cubemap,然后根据不同的光泽度,生成不同模糊程度的图片保存在不同mipmap中,然后根据物体的粗糙度、法线等因素,在shader中针对cubemap编写算法,然后将计算出来的结果,参与最终颜色的生成上。
  • 注意事项
    由于环境光并非一般的方向光,可以认为它的光照来自四面八方。所以不能对其使用shadow map,而只能使用SSAO,建议与带阴影的动态光照产生的直接光照组合使用。
  • UE4中的使用方法
    很多地方可以使用Ambient Cubemap,这里只说一种使用方式:在后处理中对全场景使用ambient cubemap:
    1. 首先在关卡中拖进一个Post Process Volume,并对其Unbound属性的checkbox进行勾选,目的是是的这个后处理将影响整个世界
      1. 如果不将Post Process Volume与整个世界关联,也可以不勾选其Unbound选项,而是调整其blend Radius即可
    2. 在Post Process Volume的Settings的Ambient Cubemap属性中,赋给其一个Cubemap Texture(),设置其Intensity,用于影响其光的强度,设置Tint用于影响颜色。
      1. 这里赋予的Cubemap就是我们刚才一直说的ambient cubemap,这里用的是预先准备好的cubemap,其实也可以在游戏中生成cubemap,但是会比较耗费性能
      2. Intensity和Tint这俩属性与原生的Ambient Cubemap算法无关,只是UE4给这个算法添加的两个属性,用于,比如我们准备了一个场景白天时候的Ambient Cubemap,然后可以通过修改这个Intensity和Tint,然后不修改Cubemap,就可以获取到这个场景晚上的Cubemap了。
    3. 设置世界中物体的材质,将其金属度设置为1,这个值是用于blend直接光和cubemap的,值越高,cubemap的比重越大;将其粗糙度设置为0,这样将使用清晰的Cubemap mipmap。
      1. 在这里还可以设置法线,但是一般使用默认法线就好,如果设置其他法线可能会造成扭曲的效果
      2. 这里还能获取到上一步设置的Ambient Cubemap Intensity和Tint,用于设计更复杂的算法
  • UE4源码中相关的类
    FCubemapShaderParameters:
    • 成员变量
      1. AmbientCubemapColor,由于AmbiendCubemap的实际使用方法还是将Cubemap中的RGBA值采样出来,参与到最终颜色的计算,所以通过设置这个参数,可以设置使用Cubemap的哪几个通道,各个通道采样的比例、颜色偏移等
      2. AmbiendCubemapMipAdjust,由于需要根据绘制物体的粗糙度等因素,计算出来使用cubemap的哪层mipmap,而设置这个参数,可以对此进行修正
      3. AmbientCubemap和AmbientCubemapSampler用于指定Ambient Cubemap指的Cubemap texture。
    • 成员函数
      1. 函数Bind,用于将4个成员变量与shader中对应的变量进行bind
      2. 函数SetParameters/SetParametersTemplate通过给4个成员变量赋值进而给shader中的对应变量赋值
    • 使用位置
      1. PostProcessAmbient类,正如刚才举到的例子,后处理中可以使用Ambient Cubemap,所以在这个后处理类中使用到了该类。
      2. FInjectAmbientCubemapPS类。

Unreal Engine4(虚幻4)学习心得-材质
材质

制作材质的过程其实就相当于在写shader,只是UE4制作材质使用的是可视化方式在写shader。下面将介绍一些材质属性:

  • Blend Mode混合模式 
    用于决定材质颜色如何和背景颜色混合。 
    1. Opaque不透明
    2. Masked蒙版,蒙版材质可以利用蒙版贴图,将一些区域设置为可见或者不可见,比如铁丝网就可以使用蒙版
    3. Translucent半透明,可以以某种形式允许光线透过,比如玻璃
    4. Additive叠加,有透明度,用于增加颜色信息,比如各种粒子效果
    5. Modulate调制,将材质颜色乘以背景颜色,适合做贴花效果
  • Lighting Mode光照模式 
    当半透明/透明的时候使用。 
    1. Volumetric NonDirectional,是最节省的光照模式,只使用漫反射颜色,不用考虑材质法线。严格的说,只对动态光照的物体有效。
    2. Volumetric Directional,考虑材质法线。
    3. Volumetric PreVertex NonDirectional,同Volumetric NonDirectional,但是光照只在顶点计算,这样会减轻PS的消耗。
    4. Volumetric PreVertex Directional,同Volumetric Directional,但是光照只在顶点计算,这样会减轻PS的消耗。
  • Base Color常规色 
    通常会通过PS制作一些贴图,作为基本色。所有的贴图都可以通过UV设置其平铺状态
  • Emissive自发光 
    能让材质自己发光,可以用于制作材质外边缘的光晕效果。
  • Specular高光 
    用于控制高光的颜色。光源照射到物体然后反射到人的眼睛里时,物体上最亮的那个点就是高光。高光控制着光线的反射,以展现一种光泽的效果。
  • Opacity不透明 
    用于控制物体的透明度。
  • OpacityMask不透明蒙版 
    用于和混合模式中的Masked蒙版模式组合使用,包含了可见还是不可见信息蒙版贴图就在这里连接。
  • Normal法线 
    法线贴图是材质具有凹凸效果的原因。除非制作的是玻璃或者金属球之类的非常光滑的物体,否则一定要用法线。可以再加上一张细节贴图,与法线贴图相加,一起当做法线贴图。但是法线贴图中的凹凸信息其实是存在于RG通道中,B通道好比基准线,也就是被RG弄皱的底平面,因此如果想再加上一张细节贴图的话,蓝色通道千万不能动。法线贴图通过RGB的信息,以像素为单位来指定表面角度。
  • WorldPositionOffset世界位置偏移量 
    只有要跟踪某个材质的世界位置,并且要沿某个方向移动它,这个属性才会被用到。

  • 材质的其他属性(UDK)
  • Diffuse漫反射 
    提供不透明颜色,好比常规颜色。通常会通过PS制作一些贴图(包含alpha通道,法线贴图),作为漫反射的基本色。
  • DiffusePower漫反射次幂 
    描述颜色随光照信息的流失,从饱和向阴暗渐变的速度。
  • SpecularPower高光次幂 
    用来模拟光滑度。
  • Distortion扭曲 
    它能使一个对象表面的材质发生扭曲。使用方式比如:把混合模式设置为Additive叠加,然后设置无光照,然后把法线贴图连接到扭曲上(扭曲接收的就是法线信息,它要利用RGB通道来决定把像素点移到多远),就能看到热浪的效果,类似折射。
  • TransmissionColor透射色 
    设置一个颜色,这样穿过物体表面的光线,好像会穿透物体扩散开来,呈现出次表面散射(3S)的样子(透射蒙版要设置为1才能看到)。比如设计角色的耳朵的时候,将耳朵部分的透射蒙版设置为1,然后将投射色设置为深红,那么当光线射到耳朵背面的时候,耳朵看上去就有次表面散射的效果。(这里只是模拟S3,而非真正的S3,但是很逼真,移动光源就可以看到半透明的效果)
  • TransmissionMask透射蒙版 
    0和1组成的蒙版贴图用于决定哪里需要透射。透射色和透射蒙版主要用于蜡和人皮肤之类的地方
  • BumpOffset凹凸偏移 
    凹凸偏移需要借用高度贴图。高度贴图可以使用法线贴图的alpha作为其高度值,然后将高度贴图作为基本色和法线的UV即可。


极限精度挑战-仿真赵丽颖建模教程 极限精度挑战-仿真赵丽颖建模教程

朱峰社区网页版
朱峰社区网页版(手机扫描-分享-添加到屏幕)


朱峰社区公众号
朱峰社区微信公众号(微信扫一扫-关注)

资源说明图文教程无法下载,只能观看图片和文字。
版权规则本站图文皆来自互联网共享资源,如涉及到版权请查看版权规则。本平台提供图文仅可用于个人学习,如用于商业请购买正版。您必须遵守的版权规则

未知用户

未知用户

2005-2020 朱峰社区 版权所有 闽ICP备12017399号
2005-2020 ZhuFeng Community All Rights Reserved

VIP

朱峰社区微信公众号

回顶部

1.复制文本发给您的QQ好友或群、微信等;好友点击链接以后,转发就成功了。 2.如朋友点击您的链接,您需要需刷新一下才行;同一个好友仅能点击一次。
购买VIP,观看所有收费教程!!