forked from LeenkxTeam/LNXSDK
Repe [T3DU] and Moises Jpelaez updates
This commit is contained in:
@ -31,7 +31,7 @@ else:
|
||||
lnx.enable_reload(__name__)
|
||||
|
||||
# Leenkx version
|
||||
lnx_version = '2025.1'
|
||||
lnx_version = '2026.9'
|
||||
lnx_commit = '$Id: 6b2644d47db169cedd95593497cc283207d23a74 $'
|
||||
|
||||
def get_project_html5_copy(self):
|
||||
@ -151,7 +151,10 @@ def init_properties():
|
||||
bpy.types.World.lnx_project_version_autoinc = BoolProperty(name="Auto-increment Build Number", description="Auto-increment build number", default=True, update=assets.invalidate_compiler_cache)
|
||||
bpy.types.World.lnx_project_bundle = StringProperty(name="Bundle", description="Exported project bundle", default="org.leenkx3d", update=assets.invalidate_compiler_cache, set=set_project_bundle, get=get_project_bundle)
|
||||
# External Blend Files
|
||||
bpy.types.World.lnx_external_blends_path = StringProperty(name="External Blends", description="Directory containing external blend files to include in export", default="", subtype='DIR_PATH', update=assets.invalidate_compiler_cache)
|
||||
if bpy.app.version >= (4, 5, 0):
|
||||
bpy.types.World.lnx_external_blends_path = StringProperty(name="External Blends", description="Directory containing external blend files to include in export", default="", subtype='DIR_PATH', update=assets.invalidate_compiler_cache, options={'PATH_SUPPORTS_BLEND_RELATIVE'})
|
||||
else:
|
||||
bpy.types.World.lnx_external_blends_path = StringProperty(name="External Blends", description="Directory containing external blend files to include in export", default="", subtype='DIR_PATH', update=assets.invalidate_compiler_cache)
|
||||
# Android Settings
|
||||
bpy.types.World.lnx_project_android_sdk_min = IntProperty(name="Minimal Version SDK", description="Minimal Version Android SDK", default=23, min=14, max=30, update=assets.invalidate_compiler_cache)
|
||||
bpy.types.World.lnx_project_android_sdk_target = IntProperty(name="Target Version SDK", description="Target Version Android SDK", default=26, min=26, max=30, update=assets.invalidate_compiler_cache)
|
||||
@ -196,8 +199,14 @@ def init_properties():
|
||||
bpy.types.World.lnx_project_win_build_cpu = IntProperty(name="CPU Count", description="Specifies the maximum number of concurrent processes to use when building", default=1, min=1, max=multiprocessing.cpu_count())
|
||||
bpy.types.World.lnx_project_win_build_open = BoolProperty(name="Open Build Directory", description="Open the build directory after successfully assemble", default=False)
|
||||
|
||||
bpy.types.World.lnx_project_icon = StringProperty(name="Icon (PNG)", description="Exported project icon, must be a PNG image", default="", subtype="FILE_PATH", update=assets.invalidate_compiler_cache)
|
||||
bpy.types.World.lnx_project_root = StringProperty(name="Root", description="Set root folder for linked assets", default="", subtype="DIR_PATH", update=assets.invalidate_compiler_cache)
|
||||
if bpy.app.version >= (4, 5, 0):
|
||||
bpy.types.World.lnx_project_icon = StringProperty(name="Icon (PNG)", description="Exported project icon, must be a PNG image", default="", subtype="FILE_PATH", update=assets.invalidate_compiler_cache, options={'PATH_SUPPORTS_BLEND_RELATIVE'})
|
||||
else:
|
||||
bpy.types.World.lnx_project_icon = StringProperty(name="Icon (PNG)", description="Exported project icon, must be a PNG image", default="", subtype="FILE_PATH", update=assets.invalidate_compiler_cache)
|
||||
if bpy.app.version >= (4, 5, 0):
|
||||
bpy.types.World.lnx_project_root = StringProperty(name="Root", description="Set root folder for linked assets", default="", subtype="DIR_PATH", update=assets.invalidate_compiler_cache, options={'PATH_SUPPORTS_BLEND_RELATIVE'})
|
||||
else:
|
||||
bpy.types.World.lnx_project_root = StringProperty(name="Root", description="Set root folder for linked assets", default="", subtype="DIR_PATH", update=assets.invalidate_compiler_cache)
|
||||
bpy.types.World.lnx_physics = EnumProperty(
|
||||
items=[('Disabled', 'Disabled', 'Disabled'),
|
||||
('Auto', 'Auto', 'Auto'),
|
||||
@ -418,9 +427,6 @@ def init_properties():
|
||||
|
||||
bpy.types.Object.lnx_relative_physics_constraint = BoolProperty(name="Relative Physics Constraint", description="Add physics constraint relative to the parent object or collection when spawned", default=False)
|
||||
bpy.types.Object.lnx_animation_enabled = BoolProperty(name="Animation", description="Enable skinning & timeline animation", default=True)
|
||||
bpy.types.Object.lnx_tilesheet = StringProperty(name="Tilesheet", description="Set tilesheet animation", default='')
|
||||
bpy.types.Object.lnx_tilesheet_action = StringProperty(name="Tilesheet Action", description="Set startup action", default='')
|
||||
bpy.types.Object.lnx_use_custom_tilesheet_node = BoolProperty(name="Use custom tilesheet node", description="Use custom tilesheet shader node", default=False)
|
||||
# For speakers
|
||||
bpy.types.Speaker.lnx_play_on_start = BoolProperty(name="Play on Start", description="Play this sound automatically", default=False)
|
||||
bpy.types.Speaker.lnx_loop = BoolProperty(name="Loop", description="Loop this sound", default=False)
|
||||
@ -616,8 +622,31 @@ def init_properties():
|
||||
description="Particles have independent transform updates following emitter compared to a static baked particle system used if emitters dont generally move around.",
|
||||
default=True
|
||||
)
|
||||
bpy.types.ParticleSettings.lnx_is_unique = BoolProperty(name="Is Unique", description="Make this particle system look different each time it starts", default=False)
|
||||
bpy.types.ParticleSettings.lnx_is_unique = BoolProperty(name="Is Unique", description="Make this particle system look different each time it starts. Only affects GPU particles. Default behavior for CPU particles", default=False)
|
||||
bpy.types.ParticleSettings.lnx_local_coords = BoolProperty(name="Local Coords", description="Keep spawned particles parented to their emitter. Only affects CPU particles. Default behavior for GPU particles at the moment", default=False)
|
||||
bpy.types.ParticleSettings.lnx_loop = BoolProperty(name="Loop", description="Loop this particle system", default=False)
|
||||
bpy.types.ParticleSettings.lnx_use_rotations = BoolProperty(name="Use Rotations", description="Enable particle rotations", default=False)
|
||||
bpy.types.ParticleSettings.lnx_rotation_mode = EnumProperty(
|
||||
name="Rotation Mode",
|
||||
description="Rotation orientation mode",
|
||||
items=[
|
||||
('NONE', "None", "None"),
|
||||
('NOR', "Normal", "Normal"),
|
||||
('NOR_TAN', "Normal-Tangent", "Normal-Tangent"),
|
||||
('VEL', "Velocity/Hair", "Velocity/Hair"),
|
||||
('GLOB_X', "Global X", "Global X"),
|
||||
('GLOB_Y', "Global Y", "Global Y"),
|
||||
('GLOB_Z', "Global Z", "Global Z"),
|
||||
('OB_X', "Object X", "Object X"),
|
||||
('OB_Y', "Object Y", "Object Y"),
|
||||
('OB_Z', "Object Z", "Object Z"),
|
||||
],
|
||||
default='NONE'
|
||||
)
|
||||
bpy.types.ParticleSettings.lnx_rotation_factor_random = FloatProperty(name="Rotation Random", description="Random rotation factor", default=0.0, min=0.0, max=1.0)
|
||||
bpy.types.ParticleSettings.lnx_phase_factor = FloatProperty(name="Phase", description="Rotation phase factor", default=0.0, min=0.0, max=1.0)
|
||||
bpy.types.ParticleSettings.lnx_phase_factor_random = FloatProperty(name="Phase Random", description="Random rotation phase factor", default=0.0, min=0.0, max=1.0)
|
||||
bpy.types.ParticleSettings.lnx_use_dynamic_rotation = BoolProperty(name="Dynamic Rotation", description="Enable dynamic rotation updates", default=False)
|
||||
bpy.types.ParticleSettings.lnx_count_mult = FloatProperty(name="Multiply Count", description="Multiply particle count when rendering in Leenkx", default=1.0)
|
||||
# Actions
|
||||
bpy.types.Action.lnx_root_motion_pos = BoolProperty(name="Root Motion Position", description="Enable position root motion", default=False)
|
||||
|
||||
Reference in New Issue
Block a user