datatables 重新生成序号_UE4与Houdini城市道路生成器(上篇)

本文是关于使用Houdini创建UE4城市道路的教程,上篇主要介绍交叉路面的制作。内容包括:道路曲线的合并、细分、切割,点序号的重新分布,以及路面的端点排序和连接成线的方法。教程通过Vex代码简化了原VOP节点的流程,便于理解和记录。
摘要由CSDN通过智能技术生成

本文为教程记录笔记,内容比较多,分为上下篇。(对原著精简与修改了一部分)

上篇主要介绍交叉路面的制作;

下篇主要介绍延申路面,围栏桥柱等制作;

本人Houdini萌新,如有书写和理解错误还请大佬扶正;

原教程为三部分,每部分下边都有工程的源文件;

教程地址 :

https://www.sidefx.com/tutorials/complex-roads/​www.sidefx.com

原教程主要用VOP节点制作,本次记录主要用Vex代码替代,一是更好的记录,二感觉更直观一些,理解更容易一点;

效果预览(截取教程内容)

47652ad5320a6625cab4d00ccfd2ed9e.gif
效果预览

制作思路(如图):

60f6dde85c95e5940d93c0d4e96270b3.png

一,建立道路曲线以及对曲线进行合并,细分,切割操作;

  • 建立道路曲线;(节点Curve)
  • 只保留曲线点的位置属性,以免导入引擎出现属性不一的问题;(节点attributedelete)
  • 合并曲线的交点;(节点fuse)
  • 细分曲线;(节点resample)
  • 创建路面属性,路面的宽度;(节点attribcreate)
  • 翻转曲线为下一步从两边分割曲线,从中点重新分布点的序号,分成两个基元准备;(节点reverse)
  • 从中点分割曲线,分成两部分,路面交界与路面延申的曲线;(节点carve)
  • 合并分割后的点;(节点fuse)
  • 找到曲线的交点,并标记其属性值为1,其余为0;(节点pointwrangle)
  • (节点pointwrangle分支)只保留曲线的交点;(节点delete)
  • (节点pointwrangle分支)转移属性,把上一步交点属性转移到基元属性;(节点attribpromote)
  • 保留与曲线交点相连接的线段(保留路面交界处曲线),通过上一步的属性进行删除;(节点delete)

1c51bc83c07da60734355f46a1cb8cb3.png
节点预览

其中pointwrangle节点代码

//neighbourcount() 返回连接到指定点的点数;
//连接曲线交点的点数为4,其余为2和1均不大于2,可以找到四条线的交点; 
 int nc = neighbourcount(0,@ptnum);  

//赋予曲线交点属性 
if (nc>2)  
{    
 i@intersectionid = 1; 
} 
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值