To get ripples radiating from a center, base the sine function on the distance of the point to the center of the surface:
Position Y |
|
To animate this, add a time-based variable to the expression:
sin(sqrt(($BBX-0.5)^2+($BBZ-0.5)^2)*720+$F*4)
Point节点中Position Y : sin(sqrt(($BBX-0.5)^2+($BBZ-0.5)^2)*1080-$F*4)*0.4
This creates a logarithmic spiral, reminiscent of nautilus shells.
Position X |
|
Position Y |
|
Use the repeat function to copy or repeat repetitive motion. The basic form for the repeat function is:
repeat (start_keyframe, end_keyframe)
If you have keyframes at 0, 22, and 36, and you want to repeat the curve from 0 to 36, you select the segment from frames 36- , and enter:
cycle(0,36)
This works within a channel, without referencing another channel.
Your repeat range must be outside the range of the currently selected segment. For example, if you have keyframes at frames 0, 22, and 36, you cannot select the segment from 0-22 and assign a cycle()
function with values within the range of 0-22, because it would be trying to repeat values of itself that have not yet been determined.
// Attribute Wrangle 中 查找点属性id值为11300的点,对应的点的序号(point number),findattribval 可以查询 detail/primitive/point/vertex number
1 float value = findattribval(geoself(),"point","id",11300,0); 2 printf("%s \n",value);
// POP 属性: i@stopped
A stopped particle. It preserves its velocity, but no longer integrates its position, velocity, orientation, or angular velocity. Note that direct changes to these can still be performed - such as a Look At POP altering the orientation.
静止粒子。它保留了速度velocity属性,但是不会因为速度改变位置。并且,速度velocity,oriemtation,angular velocity(角速度)不再改变。但是注意,对这些属性的直接改变还是会被执行的,比如使用POP Lookat 节点
// POP 属性: v@pprevious
Stores the position of the particle on the previous frame. This is used in collision detection to ensure collisions can be registered regardless of how the particle moves.
存储粒子上一帧的位置,这通常用于碰撞检测,确保碰撞被记录下来,无论粒子是怎样运动的。
// POP 属性: i@hitnum
The number of times the particle collided in the last POP Collision Detect. @hitnum>0 can group all the particles that hit once. Only the first hit is stored in the attributes. Corresponds to $JUSTHIT of the old POPs.
POP Collision Detect (粒子碰撞检测)在最近的一次检测中,检测到的粒子碰撞次数。@hitnum>0 可以选中所有发生过碰撞的点,只有第一次碰撞会产生记录,跟老的POPs中的$JUSTHIT变量相一致。
// POP 属性: v@hitpos
Where the hit actually occurred. Usually a primuv on P will give you this, but if the colliding object was moving it won't.
碰撞发生的位置,通常primuv(v@hituv)可以得到位置,但是如果跟粒子产生碰撞的物体是运动的就不行了。
// POP 属性: @bounce
Default is from POP Object.
When particles bounce off another object, this controls how much energy they keep in the normal direction. It is multiplied with the bounce value of the other object. A value of 1 will keep all the energy, a value of 0 will come to a stop.
默认是针对POP物体。
当粒子从其他物体反弹时,它可以控制在法线方向能量保持多少。它跟物体的弹力属性值相乘(POP Object 节点中设置的)。1 保持原来的能量,0 静止。
// POP 属性: @bounceforward
Default is from POP Object.
When particles bounce off another object, this controls how much energy they keep in the tangential direction. It is multiplied by the bounce forward value of the other object. A value of 1 will cause the particle to keep moving tangentially, ie, a perfect bounce. A value of 0 will bring the particles to a stop relative to the collision object in the tangential direction. A value of -1 will cause the particles to retro-reflect. A value of 2 will cause them to gain energy with every collision.
默认是针对POP物体。
当粒子从其他物体反弹时,它可以控制在切线方向能量保持多少。它跟物体的向前弹力bounce forward属性值相乘(POP Object 节点中设置的)。1使物体沿切线继续移动,比如完全碰撞,0使粒子在切线方向上,与碰撞物体相对停止。-1会导致反向运动,2 会加强在切线方向上的弹力。
// POP 属性: i@nearest
Default is -1.
@id of the closest particle. Could also be @ptnum if the id attribute was missing. Created by the Proximity POP. Value of -1 if nothing within the search range.
默认-1。距离当前粒子最近的粒子的id,如果没有id属性,会取最近点的序号@ptnum。 POP Proximity 创建的该属性,如果在搜索的范围内(POP Proximity设置),没有发现粒子,会返回-1 。
// POP 属性: f@nearestdist
Default is -1.
Distance to the nearest particle. -1 if nothing in range. Created by the Proximity POP.
默认-1。到最近点的距离。 POP Proximity 创建的该属性,如果在搜索的范围内(POP Proximity设置),没有发现粒子,会返回-1 。
// POP 属性: i@numproximity
Default is 0.
Number of particles within the specified range. Created by the Proximity POP.
默认0。在搜索的范围内发现粒子的数量(POP Proximity设置)。POP Proximity 创建的该属性。