当前位置: 首页 > news >正文

Houdini To Niagara 插件

目录

安装

介绍


参考:https://www.sidefx.com/docs/houdini/unreal/niagara.html

将Houdini粒子烘焙到hbjson文件,从文件可被Niagara使用;此插件会在UE添加一种额外资产(Houdini Point Assets),其中包含houdini导出的各种点属性;

安装

将D:\software\Houdini\Houdini 20.5.487\engine\unreal\5.4(houdini安装目录)文件夹下的HoudiniNiagara复制到UE安装目录下的Plugins文件夹内或复制到工程项目内的Plugins文件夹内;最后打开UE并在Edit/Pugins内激活HoudiniNiagara插件;

介绍

ModuleDesciption
Init Houdini Point Cache发射器生成组,该模块跟踪spawning info并确保每个发射器唯一点ID;
Spawn Particles from Houdini Point Cache发射器更新组,该模块读取Hou点缓存并基于相对Emitter.LoopedAge生成粒子;
Sample Spawned Houdini Point Cache

粒子生成组,该模块读取Hou点缓存并设置默认属性;

  • SetLifeTime参数设置Particle.Lifetime为life;
  • SetVelocity参数设置Particle.Houdini.Velocity为v;

然后可在直接设置Particles.PositionParticles.Houdini.Position

Sample Houdini Point Cache粒子更新组,该模块读取Hou点缓存并更新默认属性;

Sample模块将尝试从Houdini点缓存中读取以下属性,如不存在,则设置为0:

Particles.Houdini.PositionP
Particles.Houdini.NormalN
Particles.Lifetimelife
Particles.Houdini.ColorCd
Particles.Houdini.AlphaAlpha
Particles.Houdini.Impulseimpulse
Particles.Houdini.Forceforce
Particles.Houdini.Typetype
Particles.Houdini.Velocityv
Particles.Houdini.Pscalepscale
Particles.Houdini.Orientorient

自定义属性,可通过自定义模块读取;

Houdini Point Cache Asset

Labs Niagara ROP,可生成.hbjson.hjson.hcsv(支持float、vector、int);首选.hbjson格式(此文件更小,导入速度更快),.hjson文件较大且慢但可使用文本编辑器打开以检查内容,.hcsv已弃用;

插件现可支持超过2GB的大型点缓存文件,由于Niagara限制,最大值仍限制在32位(必须小于2,147,483,647);如想导入大型数据,可拆分为多个点缓存文件;

如导出vector或tuple,则将被展开,如P将变为P.x、P.y、P.z;

Houdini-Niagara Data Interface

通过Data Interface数据接口Houdini Point Cache Info,来访问点缓存数据;

从Houdini点缓存资源获取属性的所有函数都需要:

  • Houdini Point Cache Info,Point Cache Asset文件;
  • PointID,唯一的粒子ID,通常为Particles.Houdini.NID;
  • SampleIndex,索引整数值(使用Get Sample Indexes for Point at TimeorGet Last Sample Index获取);
  • Time,当前发射器时间,通常为Emitter.LoopedAge;
FunctionDescription
Get Sample Indexes for Point at Time返回点在给定时间的sample index;
Get Last Sample Index at Time返回last sample index;
Get Point IDs to Spawn at Time返回点的count、point IDs,参考Spawn Particles From Houdini Point Cache
Get Number Of Attributes返回属性数量;
Get Number Of Points返回点数量;
Get Float Value返回给定sample index和attribute index的float值;
Get Float Value by String返回给定sample index和attribute名的float值;
Get Point Type返回给定点在出生时的整数type值;
Get Color返回给定sample index的color;
Get Position返回给定sample index的position;
Get Velocity返回给定sample index的velocity;
Get Impulse返回给定sample index的impulse;
Get Normal返回给定sample index的Normal;
Get Point Life返回给定点生成时的life值;
Get Time返回给定sample index的time;
Get Position and Time返回给定sample index的position和time;
Get Point Type at Time返回给定点在给定时间的整数type值;
Get Point Color at Time返回给定点在给定时间的线性插值color;
Get Point Impulse at Time返回给定点在给定时间的线性插值impulse;
Get Point Alpha at Time返回给定点在给定时间的线性插值Alpha;
Get Point Life at Time返回给定点在给定时间的剩余寿命;
Get Point Normal at Time返回给定点在给定时间的线性插值normal ;
Get Point Position at Time返回给定点在给定时间的线性插值position;
Get Point Velocity at Time返回给定点在给定时间的线性插值velocity;
Get Vector Value返回给定sample index和属性索引的vector;
Get Vector Value Ex

返回给定sample index和属性索引的vector;

DoSwap表示是否将向量从Hou的坐标系转换为Unreal的坐标系;
DoScale表示是否将Vector值从米(Hou)转换为厘米(虚幻);

Get Vector4 Value返回给定sample index和属性索引的vector4;
Get Quat Value返回给定sample index和属性索引的Quat;
Get Vector Value by String返回给定sample index和属性名的vector;
Get Vector Value Ex by String

返回给定sample index和属性名的vector;

DoSwap表示是否将向量从Hou的坐标系转换为Unreal的坐标系;
DoScale表示是否将Vector值从米(Hou)转换为厘米(虚幻);

Get Vector4 Value by String返回给定sample index和属性名的vector4;
Get Quat Value by String返回给定sample index和属性名的Quat;
Get Point Vector Value at Time返回给定点在给定时间指定属性索引的线性插值vector;
Get Point Vector Value at Time Ex返回给定点在给定时间指定属性索引的线性插值vector;
Get Point Vector4 Value at Time返回给定点在给定时间指定属性索引的线性插值vector4;
Get Point Quat Value at Time返回给定点在给定时间指定属性索引的线性插值quaterion;
Get Point Value at Time by String

返回给定点在给定时间指定属性名的线性插值float值;

DoSwap表示是否将向量从Hou的坐标系转换为Unreal的坐标系;
DoScale表示是否将Vector值从米(Hou)转换为厘米(虚幻);

Get Point Vector Value at Time by String

返回给定点在给定时间指定属性名的线性插值vetor;

DoSwap表示是否将向量从Hou的坐标系转换为Unreal的坐标系;
DoScale表示是否将Vector值从米(Hou)转换为厘米(虚幻);

Get Point Vector Value at Time Ex by String返回给定点在给定时间指定属性名的线性插值vetor;
Get Point Vector4 Value at Time by String返回给定点在给定时间指定属性名的线性插值vetor4;
Get Point Quat Value at Time by String返回给定点在给定时间指定属性名的线性插值quaterion;
http://www.jsqmd.com/news/668579/

相关文章:

  • 2026年4月河北高职单招市场趋势与古冶区服务商专业度评估 - 2026年企业推荐榜
  • C语言完美演绎8-10
  • 元学习不是调参!从MAML到Meta-RL的5层抽象演进,彻底重构AGI适应边界
  • Python生态ASGI、WSGI、ASGI库:Starlette、Twisted、granian、Bjoern、Daphne、Waitress、Hypercorn、Cheroot、Meinheld
  • 告别线束噩梦:一文搞懂ADI A2B音频总线如何让车载音频布线减重75%
  • 关于数据库服务器资源降配的效能分析
  • 保姆级教程:用ESP8266和Arduino IDE搞定华为云IOTDA命令下发与响应(附完整代码)
  • 2026年现阶段开平区对口单招平台深度评估与选择指南 - 2026年企业推荐榜
  • 2026年3月常州液碱工厂,这些评价好别错过,工业合成盐酸/酸碱类危险化学品/精制盐酸/食品级盐酸,液碱生产厂家有哪些 - 品牌推荐师
  • 如何显著提升 Google Sheets 数据库批量更新脚本的执行效率
  • Labelme标注实例分割数据时,如何正确区分‘语义’和‘实例’?附COCO格式转换实战
  • 服务经济发展原则:根据我国国民经济发展的需要,确定不同阶段采用国际标准的方向和任务
  • Windows 11 更新后 VirtualBox 虚拟机启动失败 (VERR_NEM_NOT_AVAILABLE) 排查与修复指南
  • MuJoCo肌腱系统核心技术深度解析:生物力学仿真的物理引擎架构设计
  • 不只是AD9361:手把手教你复用ADI官方demo框架,快速验证你的AD/DA新设计
  • 抖音内容获取效率提升10倍?这个开源下载器帮你告别手动搬运
  • 2026年4月辽宁二手电子产品回收市场:如何甄选可靠的服务伙伴? - 2026年企业推荐榜
  • C语言完美演绎8-11
  • 告别过时教程!用C#和InTheHand.Net.Bluetooth NuGet包搞定UWP蓝牙通信(附完整代码)
  • TRNSYS模块太多记不住?这份保姆级模块速查手册(附中英文对照)帮你快速定位
  • CANoe IL层CAPL函数实战:从故障注入到校验和计算,让你的仿真测试更高效
  • 2026年贵阳找销售工作:AI智能体赛道5大企业深度横评 - 精选优质企业推荐官
  • 抖音无水印批量下载终极指南:告别录屏,轻松获取高清内容
  • TuGraph图数据库:5大核心功能全面解析与快速上手指南
  • Fan Control终极教程:免费Windows风扇控制软件完整指南
  • ADS 2023 保姆级教程:从巴特沃斯到椭圆,手把手仿真你的第一个低通滤波器
  • 汉诺塔问题是经典递归问题,其递归关系推导如下
  • 2026年河北高速护栏选购指南:五大可靠品牌深度解析与采购建议 - 2026年企业推荐榜
  • 2026年4月山西吸塑托盘采购指南:五大实力厂家深度解析与推荐 - 2026年企业推荐榜
  • 实测对比:JDY-23、HC-05、HM-10,三款经典蓝牙模块怎么选?附功耗与距离实测数据