我希望有人可以帮助我。我想在Blender中有一个IntProperty,我只能设置偶数(0,2,4,6 ..)
我知道Float属性的语法如下:
bpy.types.Scene.MyFloat = FloatProperty(
name='FLoat',
default=1,
min=0,
step=200,
)
但是在GUI中使用此代码我仍然可以选择例如“4.2”作为一个值,因此不适合解决我的问题。
以这种方式使用IntProperty的语法是这样的:
bpy.types.Scene.MyInt = IntProperty(
name='Int',
default=1,
min=0,
step=2,
)
不起作用。
有没有人知道是否有只选择偶数的代码以及它是如何编码的?
答案 0 :(得分:1)
与此同时,我找到了解决问题的方法。
只需使用步长为200的Floatproperty并定义一个更新函数,然后检查调整后的值是否为偶数 - 如果不是,则强制转换为下一个偶数偶数。然后代码如下:
bpy.types.Scene.even_number= FloatProperty(
name='Even Numbers',
description='Just even numbers are possible',
default = 10,
min = 0,
max = 90,
step = 200,
update = update_even_numbers
)
def update_even_numbers(scene, context):
if bpy.context.scene.framestep % 2 == 0:
print('Even number')
else:
x = bpy.context.scene.even_number
bpy.context.scene.even_number= round(x/2)*2
也许如果其他人正在寻找解决方案,这个人会帮助他