001 创建森林地面


这里开始的时候我们需要在UE4商店中下载一个叫做Infinty Blade:Grass Lands的工程文件,和一个KiteDemo的工程文件。

                          本地购物车。

     里面包含了所需要用到的模型材质等资源。



              -----------------------我是笔记开始分割线---------------------------



     开始时我们只需要创建一个场景利用里面的场景进行地形材质的创建与修改。
     将我们下载好的两个工程文件导入这个新建的工程文件中。


        在KiteDemo下KiteDemo\Environments\GroundTiles\Grass
找到M_AssetPlatform_Grass的文件,进行复制,然后移动到自己的目录结构中,进行二次修改。



unreal engine 源码 架构 unreal engine is_Unreal Engin



复制并转移文件位置,放到自己的项目结构中。

unreal engine 源码 架构 unreal engine is_UE4_02


然后双击打开材质进行编辑。


     打开之后可以看到各种节点,比较混乱,这个时候我们可以先整理一下让自己开起来不是那么混乱,也可以顺一下,看看他的逻辑。

   


unreal engine 源码 架构 unreal engine is_UE4_03



这里我标注了一下,以模块的形式来看。

1、是设置贴图的精度的部分

2、是各种贴图的部分

3、是通过RGBA(也就是红,绿,蓝,透明度)地形画刷刷地形的部分

4、5、6、7、都属于数学运算,这里的部分可以查阅文档。

http://docs.unrealengine.com/latest/CHN/Engine/Rendering/Materials/ExpressionReference/Math/index.html


   这里我们需要再次选中两组贴图,拖放进材质编辑器中。

  

unreal engine 源码 架构 unreal engine is_unreal engine 源码 架构_04



unreal engine 源码 架构 unreal engine is_Unreal Engin_05




unreal engine 源码 架构 unreal engine is_游戏_06




unreal engine 源码 架构 unreal engine is_游戏_07



unreal engine 源码 架构 unreal engine is_unreal engine 源码 架构_08


这里只用到了Lerp的数学算法,<线性叠加>

这里的Lerp创建可以点L键,然后鼠标左键进行创建。


标记为1的是为贴图服务的,

标记为2的是为法线贴图服务的,




unreal engine 源码 架构 unreal engine is_unreal engine 源码 架构_09


这里的TexCoord是控制贴图精度的,所以,放在贴图,和法线贴图之前来进行管理精度。


这里的数值越大,精度越大,反之越小。



这里我们就可以利用地形画刷为地形刷地。





这里简单说一下地形画刷中功能。




unreal engine 源码 架构 unreal engine is_游戏_10

1、这里红色箭头是油漆桶工具,可以为地形刷最基础的贴图,很方便。

2、这里绿色箭头是切换工具,这里是控制紫色箭头所指的内容,这个机制简单说就是利用黑白,切换同一个颜色下画刷的不同。

3、绿色箭头就是之前说的利用RGBA和绿色箭头内容,控制贴图的变换(与Lerp有关).

4、黄色箭头指的是控制画刷的属性,可查阅官方文档。



这里是完成地形材质,画上去的效果。


unreal engine 源码 架构 unreal engine is_UE4_11



但是这里的画刷切换是有覆盖性的,所以理解之后,画起来会方便许多。




------------------------------我是分割线---------------------------------


这里有个补充一个知识点。


unreal engine 源码 架构 unreal engine is_unreal engine 源码 架构_12




这里可以看出来画刷刷出来的地形,变高了,是因为材质中的偏移量控制,如图。




unreal engine 源码 架构 unreal engine is_游戏_13

unreal engine 源码 架构 unreal engine is_游戏_14