python绘制三维图像球_16行Python实现3D破坏球效果

原标题:16行Python实现3D破坏球效果

来源:Python程序员

ID:pythonbuluo

d92bcbf9cb3345f289743acfffa939f1.gif

以下是制作上面炫酷动画所需的全部代码:

d57da0ba36884777aa8cc8a3a380ee53.png

(如果你对Blender Python完全陌生,访问链接:http://slicker.me/blender/3d_mandelbrot.htm了解如何复制粘贴代码。)

我们需要三组刚体(当您在Blender的对象上打开一个刚体的属性时,Blender将模拟与其它刚体的碰撞):

1.平面

第2行代码创建了一个简单的平面,立方体将放置在该平面上。为了防止它因重力而坠落,我们将其设为“受体”[第4行代码]。

2. 圆环

x循环[5-12行代码]创建由18个圆环组成的链条,它们将撞击墙体:

[6-8行]确定它们的坐标并沿Y轴依次旋转90°。旋转是通过x除以2的余数(获得“0-1-0-1-0...”序列)乘以90度(弧度1.5708)实现的。

[第10行]将它们的碰撞形状设置为“MESH”。如果设置为默认的"Convex Hull",Blender就不会考虑到中间的孔洞,链条就会脱落。

[第11-12行]将第一个圆环的"Enabled"属性设置为false,防止由于重力而坠落。这样它就固定在那牵住整个链条。

3. 立方体

在13-16行代码中,我们创建了一个由10个立方体组成的列,重量非常轻,以便在撞击时飞得更远。

因为z循环[第13行]嵌套在x循环[第5行]中,我们将得到一个18X10的立方体组成的墙。

好了!当您点击时间线上的“播放”时,链条就会掉下来,撞上立方体并让它们飞起来!

2abff72296ff472393f62437d67a59f2.gif

现在我们让最后一个圆环变大一点,让它看起来更像一个实际的破坏球,而不是用一根链子打破墙壁。为了有更酷的碰撞效果,将第6-8行代码更改为:

314821be98434695be8efb88bb41629e.gif

下载相关代码请点击此链接:https://od.lk/d/OF8xMzk3MDkxODVf/wreck.blend

你还要打破别的东西吗?让我们来撞碎这个坏小子:

b05f53abaf654e8a933c51826fa4ddca.gif

将第13-16行代码替换为:

be2123a2cb3c48469df2ac32add3d1c6.png

并在代码的最开始处添加以下行,这样才能使用sin和cos三角函数:

享受破坏的过程吧!

英文原文:http://slicker.me/blender/wreck.htm

译者:钱利鹏

*声明:推送内容及图片来源于网络,部分内容会有所改动,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值