优胜UG周平老师 发表于 2012-11-19 11:27:43

UG7.5运动仿真----丘比特神箭之一箭穿心(完美教程)





1:进入草图,画弓。圆弧和右边的直线可以先画一边,另一边用镜像,并且去掉直线的垂直约束。



2:标注相关的尺寸,其中圆弧要标出周长,直线要标出长度。可以看出,在动画中, 弓和弦的长度保持不变。



3:画出箭的骨架,并标出尺寸。



4:在弓和箭的右方画一垂直线,并分别标出与箭尾,弦的距离。注意,这两个尺寸是分别控制箭与弓的
动作的




优胜UG周平老师 发表于 2012-11-19 11:36:51

本帖最后由 优胜周平 于 2012-11-19 11:38 编辑

5:将两个尺寸调整,并将直线加上固定(Fixed)约束。

6:最后看看当你调整这两个尺寸时,能不能达到图中所示效果。以上步骤比较重要,是动画能否正确播放的前提条件!



7:退出草图,做实体,可以用管道与旋转,记得在弓箭的前面加上一个“心”.



8:加入表达式,这里FrameNumber表示动画开始帧数是0,MaxFrame表示最大帧数为25帧,此数越大,所做动画的时间就越长。FrameNumber可以看成是一个变量,从0至25之间变化。表达式A是控制弓的动作的,表达式A与B两者联合对箭的动作进行控制。
在这里FrameNumber*7.2表示一个角度,当FrameNumber在0-25间变化时,角度就在0-180度间变化,前面加了余弦cos,就表示值从1--0---1之间变化,后面乘上20并在最前面加上绝对值abs()表示值从20--0--20之间进行变化,从第4,5,6步可看出,当值从20变化到0时,是拉弓,值从0再变回20时是整把弓的回弹。以上就是弓箭的动作就分开两步走,第一步就是和拉弓时的动作一样,用A表达式,第二步就是箭射出的动作,这里用了B表达式,可以看出值是在0-50间变化,乘上50,表示箭射出的速度要比弓回弹的速度快,再者,最后值是50,就表面箭就在弓前面,也就是说箭射出去了。


优胜UG周平老师 发表于 2012-11-19 11:53:25

本帖最后由 优胜周平 于 2012-11-20 10:34 编辑

9:分别将p7与p8表达式的值变成图中所示,P7就是控制弓动作的,P8用了一个条件表达式,它表示,当变量在 0-12.5之间时,用A表达式,当变量在12.5-25时,就用B表达式。这样子就可以分别控制箭的动作了! 以上两步是最重要的两步了!下面就是动画制作部分了。(   P8表达式为 p8=if(Framenumber<12.5)(A) else(B)   )

注意表达式字母的大小写,我开始做的时候用小写,结果老是做不出动画效果来,最好比照我图片上的来就可以了,具体大家去体会。



10.视图--可视化--创建动画



11.点定义关键桢,给新的名称,添加复制。。。



12.点关键桢,给新的名称。步数25就OK了。

优胜UG周平老师 发表于 2012-11-19 11:57:36

13.点参数,指定输出动画的位置,注意下面的更新公式一定要打勾。



14.生成动画




至此全部完成,

41540046 发表于 2012-11-19 22:07:10

厉害!{:soso_e179:}

王刚1 发表于 2013-1-11 09:01:54

顶一顶,顶一顶

lyz10312509 发表于 2013-8-6 15:26:42

索取是为了更好的回报

lin20091 发表于 2013-8-14 18:49:02


学习学习。

xinshou121 发表于 2013-10-25 13:06:29

新手上路

Y-K 发表于 2018-1-17 18:53:06

谢谢分享
页: [1]
查看完整版本: UG7.5运动仿真----丘比特神箭之一箭穿心(完美教程)