User interface 用于仅使用偶数设置IntProperty的代码
我希望有人能帮助我。我想在Blender中有一个IntProperty,在这里我只能设置偶数(0,2,4,6..) 我知道Float属性的语法如下:User interface 用于仅使用偶数设置IntProperty的代码,user-interface,properties,blender,User Interface,Properties,Blender,我希望有人能帮助我。我想在Blender中有一个IntProperty,在这里我只能设置偶数(0,2,4,6..) 我知道Float属性的语法如下: bpy.types.Scene.MyFloat = FloatProperty( name='FLoat', default=1, min=0, step=200, ) 但在GUI中使用此代码时,我仍然可以选择“4.2”作为值,因此这不是解决问题的合适方法 IntPr
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,
)
不起作用
有人知道是否有只选择偶数的代码,以及它是如何产生的吗?与此同时,我找到了解决问题的方法 只需使用步长为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
也许如果其他人正在寻找解决方案,这将帮助他解决Blender 2.81的问题,似乎在你的
IntProperty
中有一个额外的,
,即bpy.types.Scene.MyInt=IntProperty(name='Int',default=1,min=0,step=2)