【发布时间】:2020-07-08 03:40:32
【问题描述】:
我有 10 个对象,我想将这些对象随机放置在 x、y、z 范围内(具有最小值和最大值)。类似的东西:
import bpy
import bpy_extras
import random
import math
bpy.data.objects["Sasso_1"].select_set(True)
bpy.ops.rigidbody.objects_add(type='ACTIVE')
bpy.context.object.rigid_body.mass = 0.25
for obj in bpy.data.collections['Sassi'].all_objects:
obj.select_set(True)
bpy.ops.rigidbody.object_settings_copy()
bpy.ops.transform.translate(value=random.uniform(12,27), orient_axis='X')
bpy.ops.transform.translate(value=random.uniform(-15,15), orient_axis='Y')
bpy.ops.transform.translate(value=random.uniform(13,28), orient_axis='Z')
for obj in bpy.data.collections['Sassi'].all_objects:
bpy.ops.transform.rotate(value=random.uniform(0,360), orient_axis='X')
bpy.ops.transform.rotate(value=random.uniform(0,360), orient_axis='Y')
在我的脚本中,对象“sassi”以随机方式旋转和平移,但不在我想要的范围内。 结果是对象是不可预测的。 Tnx 引起注意。 :)
【问题讨论】:
-
请分享一个完全可运行的脚本。进一步指出哪里出了问题
-
嗨 Vasco,我更改了问题中的脚本。对不起,我是新来的错误。 Blender 随机移动对象,选择 12 和 27(在 x 上)、-15 和 15(在 y 上)等之间的数字。我想在 12 和 27 之间(在 x 上)的范围内移动对象,但我的意思是 x 是位置的范围,而不是翻译值。
-
对象翻译到什么范围?