本文主要是介绍第091封“情书”:一分为二Vellum Cell Replication- Part 2a<Adrian Meyer>Houdini 2019,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
▉ 既纯真又邪恶,既自卑又傲慢,既难过又开心,这个世界太复杂。 — 每天翻译一篇教程,这就是我写给houdini的情书。【首发于同名公众号:“致houdini的情书”】
█ “ 疯人院 ”
前言不搭后语
你见,或者不见我,我就在那里。不悲 不喜。我就在那里。不悲 不喜。你念,或者不念我。情就在那里。不来 不去。你爱,或者不爱我。爱就在那里。不增 不减。你跟,或者不跟我。我的手就在你手里。不舍不弃。来我的怀里。或者。让我住进你的心里。默然 相爱。寂静 欢喜。
仓央嘉措《你见或者不见我》
A自定义分割逻辑。
B 解决初步模拟出现的问题:比如约束几何体设置。
首先
制作步骤
。
小节提要
B03
自定义分割逻辑
1)foreach循环封装的分裂节点。
2)在应用分裂事件之前在每一帧重设split group。
3)定义一个初始化的split age,一个细胞时定义分裂时间点。
4)获得ID数量的方法。
5)设置分裂流的方法。6)根据每个cell id 创建随机的“分裂age”。7)细胞age的重置 8)为分裂的细胞分配ID
B04
设置约束几何体
A 重置vellum部分模拟参数;
B 修复normal
C 确保属性为point和prim类
D 创建分裂之前cell_id的属性
E 设置输出约束几何体
e1 设置输出约束几何体。e2重置restlength静态长度。
上回
⚪ sopsolver基础分裂设置 ⚪
❖ 基本的分裂设置 ❖
❖ 分析 ❖
⚪分裂流程:这个流程只在第一帧⚪
❖阶段问题❖
cell_splitter封装的分裂功能只针对一个细胞
❖ 阶段目标 ❖
确保细胞分裂功能可以应用在每个细胞上
?解决方案?
a)使用For-Each Named Primitive循环
⚪小问题⚪
将“分裂功能”连接出错。
⚪解决方案⚪
循环前attribpromote的cell_id转成prim。
❖ 阶段目标A ❖
a)根据age定义归组,在应用分裂事件之前在每一帧重设split group。
b)接下来 定义一个初始化的split age,只有一个细胞时定义分裂时间点。比如在50帧之后有些不同的控制。
? 具体操作 ?
B01-14)attribwrangle:命名split_age_group
//--1 每一帧重新设定一个split group,然后再分配
i@group_split = 0;
//--2 定义一个初始的split edge,如果只有一个细胞时,定义某时分裂它
float init_split_age = chf("init_split_age");
//--3 需要知道在模拟中有多少个细胞要处理
// int num_cells = 0;
//--4 加入最大细胞数
int num_cells = detail(0,"cell_id_max",0)+1;
❖ 小目标 ❖
获得ID数量的方法
B01-15)attribpromote命名_cell_id_max
a)转成“detail”类;
这样能看到几何体上所有属性。
所以如果有多个cell_id;加入有0,1,2,3.如果把promote方法设成最大值,它会选择
这篇关于第091封“情书”:一分为二Vellum Cell Replication- Part 2a<Adrian Meyer>Houdini 2019的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!