@ -69,18 +69,42 @@ class PlasmaCollider(PlasmaModifierProperties):
bl_icon = " MOD_PHYSICS "
bl_icon = " MOD_PHYSICS "
bl_description = " Simple physical collider "
bl_description = " Simple physical collider "
bounds = EnumProperty ( name = " Bounds Type " , description = " " , items = bounds_types , default = " hull " )
bounds = EnumProperty ( name = " Bounds Type " ,
description = " " ,
avatar_blocker = BoolProperty ( name = " Blocks Avatars " , description = " Object blocks avatars " , default = True )
items = bounds_types ,
camera_blocker = BoolProperty ( name = " Blocks Camera LOS " , description = " Object blocks camera line-of-sight " , default = True )
default = " hull " )
friction = FloatProperty ( name = " Friction " , min = 0.0 , default = 0.5 )
avatar_blocker = BoolProperty ( name = " Blocks Avatars " ,
restitution = FloatProperty ( name = " Restitution " , description = " Coefficient of collision elasticity " , min = 0.0 , max = 1.0 )
description = " Object blocks avatars " ,
terrain = BoolProperty ( name = " Terrain " , description = " Object represents the ground " , default = False )
default = True )
camera_blocker = BoolProperty ( name = " Blocks Camera LOS " ,
dynamic = BoolProperty ( name = " Dynamic " , description = " Object can be influenced by other objects (ie is kickable) " , default = False )
description = " Object blocks camera line-of-sight " ,
mass = FloatProperty ( name = " Mass " , description = " Mass of object in pounds " , min = 0.0 , default = 1.0 )
default = True )
start_asleep = BoolProperty ( name = " Start Asleep " , description = " Object is not active until influenced by another object " , default = False )
dynamic_blocker = BoolProperty ( name = " Blocks Dynamics " ,
description = " Object blocks dynamic objects (kickables) " ,
default = False )
friction = FloatProperty ( name = " Friction " ,
min = 0.0 ,
default = 0.5 )
restitution = FloatProperty ( name = " Restitution " ,
description = " Coefficient of collision elasticity " ,
min = 0.0 ,
max = 1.0 )
terrain = BoolProperty ( name = " Terrain " ,
description = " Object represents the ground " ,
default = False )
dynamic = BoolProperty ( name = " Dynamic " ,
description = " Object can be influenced by other objects (ie is kickable) " ,
default = False )
mass = FloatProperty ( name = " Mass " ,
description = " Mass of object in pounds " ,
min = 0.0 ,
default = 1.0 )
start_asleep = BoolProperty ( name = " Start Asleep " ,
description = " Object is not active until influenced by another object " ,
default = False )
proxy_object = PointerProperty ( name = " Proxy " ,
proxy_object = PointerProperty ( name = " Proxy " ,
description = " Object used as the collision geometry " ,
description = " Object used as the collision geometry " ,
@ -118,9 +142,12 @@ class PlasmaSubworld(PlasmaModifierProperties):
default = " auto " ,
default = " auto " ,
options = set ( ) )
options = set ( ) )
gravity = FloatVectorProperty ( name = " Gravity " ,
gravity = FloatVectorProperty ( name = " Gravity " ,
description = " Subworld ' s gravity defined in feet per second squared " ,
description = " Subworld ' s gravity defined in feet per second squared " ,
size = 3 , default = ( 0.0 , 0.0 , - 32.174 ) , precision = 3 ,
size = 3 ,
subtype = " ACCELERATION " , unit = " ACCELERATION " )
default = ( 0.0 , 0.0 , - 32.174 ) ,
precision = 3 ,
subtype = " ACCELERATION " ,
unit = " ACCELERATION " )
def export ( self , exporter , bo , so ) :
def export ( self , exporter , bo , so ) :
if self . is_dedicated_subworld ( exporter ) :
if self . is_dedicated_subworld ( exporter ) :