zoukankan      html  css  js  c++  java
  • 如何用UE4制作非写实草浪

    最近在A站看到了一个UE4大佬经常分享一些有趣的小教程,这个大佬就是Jack McKelvie(A站)Midwinter Entertainment的环境艺术家,今天就让我们来看看他是如何用UE4制作非写实“草浪”的。

    为了学这篇教程首先你需要准备一张平滑的大理石噪点图。这个可以给你提供用于计算风的必要数据。

    这会成为我们的核心节点设置。我们需要取得一个绝对世界坐标(absolute world position)然后遮罩排除蓝色通道来得到双向量(2 vector)。然后我们需要用它除以256 。256是我们用来在世界空间中确定纹理平铺的数值。然后我们只需要将它加到已经乘以时间的2个向量(这是为了得到让纹理添加到摄像机摇摄中)然后将它连接到我们的置换贴图。然后我们需要将它乘以-50.这样就完成了整体置换距离的控制器。

    现在我们有了我们小规模的风动,复制整个节点集合然后让我们做一些变化。我做的第一件事就是让2个向量略微低一点来抵消一些纹理摇摄的速度。然后我增加了平铺数值来降低了平铺的数量。这样既可以得到不错的速度比较慢的大规模风动变形,同时又可以有一些非常棒的微小位移。

    最后将你上一张图中的插值(lerp)连接到这张图中的b槽中。接着我制作了一张渐变遮罩来遮住植物的根部来防止他们与地面分离然后将它连接到Alpha槽中。然后我用组件遮罩(component mask)遮住了蓝通道来只得到水平方向的运动。这个之后被连到了世界坐标补偿(world position offset)输出。

    福利

    为了得到动态变化的顶点法线,你只需要做两个简单的步骤。你需要找到你材质球的详细(details)栏中的切线空间法线(tangent space normals)然后禁用它。然后你只需要创建一个三向量节点,让它的蓝通道数值为1,然后将它连到你材质的法线(normal)输出通道。

    好了今天的教程就到这里了

  • 相关阅读:
    Keil MDK中单个c文件生成LIB文件
    STM32标准外设库、 HAL库、LL库
    STM32CubeMX介绍、下载与安装
    static关键字的总结
    Qt中 QString 转 char*
    字符串(string)与整型(int)、浮点型(float)等之间的转换
    RF相关知识
    Qt4问题集锦
    Qt4程序在windows平台下打包发布
    (81)Client、Server通信模式和P2P通信模式的区别
  • 原文地址:https://www.cnblogs.com/dyf214/p/12504776.html
Copyright © 2011-2022 走看看