导言

这篇文章基本是翻译了官网文档,勿喷~侵删~

胡地泥的地形工具主要使用了叫做height field的2D volume,其中每个voxel包含了当前grid的高度信息。一个geometry network(几何网格体)可以包含多个height fields信息,这些height fields被称作height layers。比如一个工具可能会用一个height layer代表地形基底,然后用另一个height layer代表上面的土壤。默认的height layer叫做height 。

还有一种不同的2D volume,叫做mask layer。绝大多数地形都会有mask layer,来控制地形的哪些部分会被修饰。默认的mask layer叫做mask,当然,一个geometry steam里可以有多个指定名字的mask layers。

houdini viewport会把2D的高度展现成3D的表面,然后mask会在表面上被着成红色。


节点

从拖拽栏中生成一个height field

Height Field node 创建一个新的,平整的height field。

Height Field Noise 创建一些最原始的随机地形。

Height Field node 创建一个新的,平整的height field。

Height Field Noise 创建一些最原始的随机地形。

I/O

HeightField File 从2D高度图加载地形

Lidar Import 可以把LIDAR格式的文件加载为height field

HeightField Output 写到一个2D高度图中

HeightField Quick Shader 为layer和mask添加材质

HeightField Scatter 在3D表面上散布点,常用来布置植被或者将高度信息变成点云

HeightField Tile Split 将一层变为多个tile,用于分散工作流,或者导入引擎。

HeightField Tile Splice Split的逆操作,合并tile

为地形添加一些东西

HeightField Layer 合并layer,这个节点可以正确的合并volume(即使不是轴对齐),所以合并前可以旋转和放置要合并的volume。

HeightField Project 用3D geometry的形状抬升或者降低地形

HeightField Paint 可以在地形上手画layer

HeightField Pattern 生成一些重复的规律,比如条纹。可以加入一些扭曲控制让几何规律更加自然。用mask在高度图中添加pattern可以在场景中创造一些有趣的细节

调节地形

HeightField Blur 使地形细节变平滑

HeightField Noise

HeightField Distort by Noise 添加随机细节

HeightFile Clip 在一个确定高度之上/之下平整区域,比如创建一个高原。

HeightField Terrace 创建类似于梯田的台阶式斜坡。

模拟自然处理

HeightField Erode 模拟自然侵蚀

HeightField Slump 模拟土壤或者地基沿着下坡坍塌

制作和编辑mask

HeightField Draw Mask 可以手绘mask区域

HeightField Mask by Feature 基于高度,朝向,斜率等创建mask

HeightField Mask by Object 从一个height layer和3d对象的接缝处创建mask

HeightField Noise 为mask添加一些噪点

HeightField Layer Clear 清理mask

*如果在mask node节点看到了原来的结果,使用Heightfield Isolate Layer或者Heightfield visualize来定制mask的着色。mask只支持0-1的值,如果小于0或者大于1都会表现为白色

Layer工具

HeightField Transform 移动和旋转fields

HeightField Visualize 可视化

HeightField Remap 基于ramp重新分配高度值

HeightField Resample 更改field潜在grid的分辨率

HeightField Wrangle Volume Wrangle的别名,可以使用VEX编辑height volume的里的值

HeightField VOP Volume VOP的别名,允许你创建一个VOP网格来编辑height volume里的值

HeightField Copy Layer 通过拷贝创建一个新的layer

HeightField Layer Property 设置layer的选项,比如如何计算边界外的值

HeightField Layer Clear 清空layer

HeightField Isolate Layer


真实地形制作流程

地形生成流程大致如下

基础构建(Massing)

包括在三个维度上涂抹出大致范围的地形结构。比如,在山脉地形中,山峰大概占多少比例,被山体包围的空间形状,山峰的高矮。

在heightfields中,这意味着创建一个表达最终地貌特征的基础的,低分辨率的field。此时的表面可以是平滑或者块状的,我们会在稍后增加噪点。

你可以用以下途径来创建一些基础地形

直接在heightfield上画

在heightfield上投射一个3D集合体

导入2D图片(Liday,GeoTiff,image maps,COPs)

增加扰动(Seeding)

扰动可以给光滑的平面增加小的扰动,来让地形变得更自然。表面越不平滑,后面就会收到更重的侵蚀。

只增加一个简单的全局噪点或者只投射一个大尺寸的几何体,通常无法创造足够的阻挡(比如水或者泥地等必须绕着走的地方)来创造有意思的侵蚀效果。Seeding就是为了增加这些Obstacles的。

向被投射的集合体增加轻微的Heightfield Noise

增加Heightfield Distort by Layer或者Heightfield Distort by Noise

这里有一个实用的技巧,我们创建一个大块随机锯齿的类似岩石的形状(比如使用Mountain SOP)的3D模型,然后带falloff(衰退)的在heightfield上画一个mask,然后把前面提到的模型投射到mask里,最后在上面使用Distort by Layer或者 Distort by Noise。

构建山体(Lobing)

山体构建进场被分解陈小的区块,这些区块呗看作lobes,Lobing就是采用低分辨率heightfield和使用Heightfield Erode来吧山体切成更小区块的处理过程。

Heightfield Erode节点上打开precipitation(沉降)cut angles(切角), and sediment capacity(沉积空间)来达到裁切效果。

重映射(Remapping)

包括多次重复 massing/seeding/lobing步骤来创造不同的层次。(山脚,矮山,高山)。

这个技巧会在“Elevation Passes”上构建你的地形。在前面侵蚀后,增加一个Heightfield Remap,重新映射高度,在垂直上做一个压缩。然后在这次压缩的基础上,重复Massing/Seeding/Lobing。

提高采样(Upsampling)

结束lobing之后,我们需要把heightfield的分辨率提高,让侵蚀能有更好的细节。

使用Heightfield Resample来加倍分辨率(你可能需要迭代这个步骤,所以不要在一开始就把采样提高)

塑性(Shape)

使用Heightfield TerraceHeightfield Clip来添加地质部件。

通过masks,你可以修整山顶,给部分区域添加梯田来创造更有趣多样的侵蚀

重新扰动(Re-seeding)

在高分辨率下重复前面的扰动操作,增加更多的obstacles让侵蚀改变方向。

侵蚀(Erosion)

现在可以全力开启Heightfield Erode来获得你想要的效果了。可能需要一些练习来掌握各种设置的效果,但是通常没有什么“正确”的设置。可以尝试一些极限设置来看看你得到了什么。关键是得到的结果应该有趣和自然。

结束(Final)

一旦你得到了你想要的地形,你可以继续给你的地形着色并散布岩石和数目。

Heightfield Quickshade节点可给你的地形快速设置一些材质。

Heightfield Scratter可以给你提供一些地形上用于散布对象实例的点。

你可以通过mask控制散布

你可以做一些分层散布来防止不同尺寸上的重叠

你可以给这些point添加多种属性,比如实例化为不同的石头或者树

https://www.sidefx.com/docs/houdini/model/heightfields.html

https://www.sidefx.com/docs/houdini/model/terrain_workflow.html

Houdini Terrian UE4 (〇)Terrian基础相关推荐

  1. UE4 粒子特效基础学习 (04-光圈效果制作)

    在上一个博客(UE4 粒子特效基础学习 (03-制作上升光线特效))的基础上继续完成光圈效果的制作 . 效果: 步骤: 1.打开PS软件,新建一个文档,宽高都设为512 2.ctrl+R打开标尺 3. ...

  2. UE4 Sequence添加基础动画效果 (03-主序列的使用)

    在上一篇的基础上添加一些摄像头的跟拍效果 效果: 步骤: 1.鼠标右键新建 Animation->关卡序列 命名为主序列 2.双击打开主序列 3.点击 窗口->内容浏览器->内容浏览 ...

  3. flowmap怎么做_Houdini Terrian UE4 (六)制作Flowmap

    导言 对于游戏场景来说,水流是动景很重要的一环. 传统的水面制作中,一般是做2-3个方向的波叠加,或者制作一个随机的flowmap,这样做出来的水面自然是没有灵魂的[手动滑稽]. 所以,这里我们用ho ...

  4. UE4中UnLua基础

    UnLua基础 简介 快速开始 安装 UnLua初探 编写HelloWorld.lua 创建蓝图并关联 Lua脚本放在Content/Script的子目录下 关联关卡蓝图和普通蓝图A 无需普通蓝图A, ...

  5. UE4 自建基础玩家时重力的设置

    UE4 导入场景,自己建立一个基础玩家类型,把这个玩家类型拖入场景运行时发现自己所建立的基础玩家类型que却一直从建立的场景中下坠,这个问题比较坑,最后发现是建立基础玩家时重力的设置出了问题,下面说一 ...

  6. UE4实时渲染基础及深入探究

    实时渲染基础:link 实时渲染深入探究:link 目录 实时渲染基础 目标帧率与毫秒 帧时间与GPU/CPU 最常见的四大性能问题 实时渲染深入探究 延迟渲染与前向渲染 渲染之前和遮挡 CPU和GP ...

  7. Houdini to ue4 入门笔记 第一章

    主要是看的 Rohan Dalvi 教程笔记(咖喱味大佬) 原视频地址 https://www.youtube.com/watch?v=GQZIP8IPEf4 一,houdini这里正常出我们 bg出 ...

  8. UE4地编基础-材质蓝图篇

    基本操作(材质编辑窗口) 材质预览窗口中旋转光照:L+左键(在材质预览窗口中) 旋转天空壳:K+左键 复制粘贴节点:Ctrl+W 一.贴图规格设置 1.贴图尺寸规范 官方推荐贴图尺寸为:2的N次幂 如 ...

  9. houdini在UE4中的应用(持续更新)

    UE4 houdini plugin安装 (1)下载houdini时选择同时安装houdini engine for unreal houdini engine for UE5: https://gi ...

最新文章

  1. Promise 简介
  2. .NET Core Generic Host项目使用Topshelf部署为Windows服务
  3. 如何利用CycleGAN实现男女性别转换
  4. GitHub之GitHub Actions的项目自动化持续集成和部署
  5. ASP.NET Core Web服务器 Kestrel和Http.sys 特性详解
  6. mysql ssd优化_mysql ssd 优化
  7. strassen算法java_使用java写的矩阵乘法实例(Strassen算法)_Java_软件编程
  8. Filecoin网络目前总质押量约为2930万枚FIL
  9. js 阻止冒泡 在控件的 onxxx 事件中调用就可以阻止父控件也响应消息了
  10. 有效软件测试 - 50条建议 - 需求阶段
  11. jdbc mysql url写法_详解数据库连接的URL的写法及总结
  12. 英语面试技巧以及准备工作
  13. Prometheus监控学习笔记之Prometheus普罗米修斯监控入门
  14. Ubuntu下安装rsh实现无密码访问
  15. 避雷:六种职场着装可能导致你面试失败
  16. 百度用AI“唤醒”历史,中国文化名片与科技名片相互成就
  17. 百度地图比例尺与级别关系
  18. 基于微信健身房私教预约小程序系统设计与实现 开题报告
  19. 正则“^[a-zA-Z]” 和 “[^a-zA-Z]”的区别
  20. 苹果换芯简史:芯片如何改变苹果的电脑产品线?

热门文章

  1. 格力手机“跳票”认怂?当真你就输了
  2. 载波聚合mac_Lte-a终端mac层载波聚合一致性测试方法和装置的制造方法
  3. DA14580 SDK测试
  4. 第 08 课:自动生成雪碧图
  5. 2022年技术人365天写作手册-day01
  6. NVIDIA TX2 设置开机自启动
  7. VC++界面编程之--使用分层窗口实现界面皮肤
  8. [ 云计算相关 ] KVM虚拟化平台windows虚拟机迁移到openstack虚拟化平台(KVM虚拟化环境中Windows虚拟机安装Virtio驱动程序)
  9. 计算机系统直流地 哪,长春哪有接地模块检测怎么做热情服务
  10. java jsp班主任辅导员管理系统