maya 粒子替代 替代物体自身旋转在落地时如何让自身旋转停止给个表达式,讲一下原理.碰撞值是干什么的?
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/28 04:51:06
![maya 粒子替代 替代物体自身旋转在落地时如何让自身旋转停止给个表达式,讲一下原理.碰撞值是干什么的?](/uploads/image/z/4929254-62-4.jpg?t=maya+%E7%B2%92%E5%AD%90%E6%9B%BF%E4%BB%A3+%E6%9B%BF%E4%BB%A3%E7%89%A9%E4%BD%93%E8%87%AA%E8%BA%AB%E6%97%8B%E8%BD%AC%E5%9C%A8%E8%90%BD%E5%9C%B0%E6%97%B6%E5%A6%82%E4%BD%95%E8%AE%A9%E8%87%AA%E8%BA%AB%E6%97%8B%E8%BD%AC%E5%81%9C%E6%AD%A2%E7%BB%99%E4%B8%AA%E8%A1%A8%E8%BE%BE%E5%BC%8F%2C%E8%AE%B2%E4%B8%80%E4%B8%8B%E5%8E%9F%E7%90%86.%E7%A2%B0%E6%92%9E%E5%80%BC%E6%98%AF%E5%B9%B2%E4%BB%80%E4%B9%88%E7%9A%84%3F)
maya 粒子替代 替代物体自身旋转在落地时如何让自身旋转停止给个表达式,讲一下原理.碰撞值是干什么的?
maya 粒子替代 替代物体自身旋转在落地时如何让自身旋转停止
给个表达式,讲一下原理.
碰撞值是干什么的?
maya 粒子替代 替代物体自身旋转在落地时如何让自身旋转停止给个表达式,讲一下原理.碰撞值是干什么的?
可以写有很多写法啊.、可以写、碰撞之后产生新粒子 继承原来的粒子替代属性
或者 碰撞之后.直接原地不动.就ok了
用 if (event ==1)
else
这么写就好了
碰撞值不知道你说的是什么.但是有一个数值是精度的
创建表达式
particleShape1.index_con = rand(1,11);
float $a =rand(0.4,0.6);
particleShape1.scale_con = <<$a,$a,$a>>;
float $b =rand(0,360);
particleShape1.rotate_con = <<$b,$b,$b>>;
全部展开
创建表达式
particleShape1.index_con = rand(1,11);
float $a =rand(0.4,0.6);
particleShape1.scale_con = <<$a,$a,$a>>;
float $b =rand(0,360);
particleShape1.rotate_con = <<$b,$b,$b>>;
particleShape1.rotate_rand = rand(-10,10);
运行前
float $speed = (mag(particleShape1.velocity)/15);
particleShape1.rotate_rand = $speed*particleShape1.rotate_rand;
运行后
if ((mag(particleShape1.velocity)/20<0.1)&&particleShape1.worldPosition)
{
particleShape1.velocity = 0;
};
只要你粒子替代里面修改了照着这个表达式应该没问题
修改一下数值】
收起
楼上几位 都没有回答到楼主的问题本质.
楼主问的是落地停止旋转.
我的做法一般是:
1.首先 给旋转 随着时间的推移,给它一个减函数的 递增.
比如 rotation += 5*rand(-2,2)/(time)
主要是模拟受到空气阻力后,旋转上的动能被消耗.
2.除了当speed 小于一个数时,强制让它的velocity =0 这点是必须的 ,...
全部展开
楼上几位 都没有回答到楼主的问题本质.
楼主问的是落地停止旋转.
我的做法一般是:
1.首先 给旋转 随着时间的推移,给它一个减函数的 递增.
比如 rotation += 5*rand(-2,2)/(time)
主要是模拟受到空气阻力后,旋转上的动能被消耗.
2.除了当speed 小于一个数时,强制让它的velocity =0 这点是必须的 , 但是不够。
因为落地后 你虽然让它的速度为0了, 但是请注意 速度为0,旋转可不为0.
我的做法是在runtime EX里 .
先获取前一帧PP的旋转,然后
后一帧的旋转 = 前一帧的旋转, (what?????哈哈 前一帧的旋转赋值给后一帧,代表旋转无变化,就是不转.
收起