Exporter fixes

This commit is contained in:
Lubos Lenco 2017-10-14 23:24:04 +02:00
parent 155d528f67
commit 89769108ab
3 changed files with 18 additions and 4 deletions

View file

@ -52,8 +52,8 @@ def export_data(fp, sdk_path, is_play=False, is_publish=False, in_viewport=False
print('OS: ' + arm.utils.get_os() + ', Target: ' + state.target + ', GAPI: ' + arm.utils.get_gapi())
# Clean compiled variants if cache is disabled
build_dir = arm.utils.build_dir()
if wrd.arm_cache_shaders == False:
build_dir = arm.utils.build_dir()
if os.path.isdir(build_dir + '/build/html5-resources'):
shutil.rmtree(build_dir + '/build/html5-resources')
if os.path.isdir(build_dir + '/build/krom-resources'):
@ -65,6 +65,18 @@ def export_data(fp, sdk_path, is_play=False, is_publish=False, in_viewport=False
if os.path.isdir(build_dir + '/compiled/ShaderRaws'):
shutil.rmtree(build_dir + '/compiled/ShaderRaws')
# Detect camera plane changes
if len(bpy.data.cameras) > 0:
cam = bpy.data.cameras[0]
if state.last_clip_start == 0:
state.last_clip_start = cam.clip_start
state.last_clip_end = cam.clip_end
elif cam.clip_start != state.last_clip_start or cam.clip_end != state.last_clip_end:
if os.path.isdir(build_dir + '/compiled/Shaders'):
shutil.rmtree(build_dir + '/compiled/Shaders')
state.last_clip_start = cam.clip_start
state.last_clip_end = cam.clip_end
raw_shaders_path = sdk_path + 'armory/Shaders/'
assets_path = sdk_path + 'armory/Assets/'
export_physics = bpy.data.worlds['Arm'].arm_physics != 'Disabled'
@ -159,8 +171,8 @@ def export_data(fp, sdk_path, is_play=False, is_publish=False, in_viewport=False
write_data.write_main(resx, resy, is_play, in_viewport, is_publish)
if resx != state.last_resx or resy != state.last_resy:
wrd.arm_recompile = True
state.last_resx = resx
state.last_resy = resy
state.last_resx = resx
state.last_resy = resy
def compile_project(target_name=None, watch=False, patch=False):
wrd = bpy.data.worlds['Arm']

View file

@ -6,6 +6,8 @@ is_export = False
last_in_viewport = False
last_resx = 0
last_resy = 0
last_clip_start = 0
last_clip_end = 0
playproc = None
compileproc = None
playproc_finished = False

View file

@ -205,7 +205,7 @@ def init_properties():
items=[('Fake', 'Fake', 'Fake'),
('Hosek', 'Hosek', 'Hosek')],
name="", description="Prefiltered maps to be used for radiance", default='Hosek', update=assets.invalidate_envmap_data)
bpy.types.World.arm_clouds_density = bpy.props.FloatProperty(name="Density", default=0.5, min=0.0, max=10.0, update=assets.invalidate_shader_cache)
bpy.types.World.arm_clouds_density = bpy.props.FloatProperty(name="Density", default=1.0, min=0.0, max=10.0, update=assets.invalidate_shader_cache)
bpy.types.World.arm_clouds_size = bpy.props.FloatProperty(name="Size", default=1.0, min=0.0, max=10.0, update=assets.invalidate_shader_cache)
bpy.types.World.arm_clouds_lower = bpy.props.FloatProperty(name="Lower", default=2.0, min=1.0, max=10.0, update=assets.invalidate_shader_cache)
bpy.types.World.arm_clouds_upper = bpy.props.FloatProperty(name="Upper", default=3.5, min=1.0, max=10.0, update=assets.invalidate_shader_cache)