71 lines
2.1 KiB
Python
71 lines
2.1 KiB
Python
|
import bpy, os
|
||
|
|
||
|
def bake():
|
||
|
|
||
|
cam_name = "TLM-BakeCam-obj"
|
||
|
|
||
|
if cam_name in bpy.context.scene.objects:
|
||
|
|
||
|
print("Camera found...")
|
||
|
|
||
|
camera = bpy.context.scene.objects[cam_name]
|
||
|
|
||
|
camera.data.octane.baking_camera = True
|
||
|
|
||
|
for obj in bpy.context.scene.objects:
|
||
|
bpy.ops.object.select_all(action='DESELECT')
|
||
|
obj.select_set(False)
|
||
|
|
||
|
iterNum = 2
|
||
|
currentIterNum = 1
|
||
|
|
||
|
for obj in bpy.context.scene.objects:
|
||
|
if obj.type == "MESH":
|
||
|
if obj.TLM_ObjectProperties.tlm_mesh_lightmap_use:
|
||
|
iterNum = iterNum + 1
|
||
|
|
||
|
if iterNum > 1:
|
||
|
iterNum = iterNum - 1
|
||
|
|
||
|
for obj in bpy.context.scene.objects:
|
||
|
if obj.type == 'MESH' and obj.name in bpy.context.view_layer.objects:
|
||
|
if obj.TLM_ObjectProperties.tlm_mesh_lightmap_use:
|
||
|
|
||
|
currentIterNum = currentIterNum + 1
|
||
|
|
||
|
scene = bpy.context.scene
|
||
|
|
||
|
print("Baking obj: " + obj.name)
|
||
|
|
||
|
print("Baking ID: " + str(currentIterNum) + " out of " + str(iterNum))
|
||
|
|
||
|
bpy.ops.object.select_all(action='DESELECT')
|
||
|
|
||
|
camera.data.octane.baking_group_id = currentIterNum
|
||
|
|
||
|
savedir = os.path.dirname(bpy.data.filepath)
|
||
|
user_dir = scene.TLM_Engine3Properties.tlm_lightmap_savedir
|
||
|
directory = os.path.join(savedir, user_dir)
|
||
|
|
||
|
image_settings = bpy.context.scene.render.image_settings
|
||
|
image_settings.file_format = "HDR"
|
||
|
image_settings.color_depth = '32'
|
||
|
|
||
|
filename = os.path.join(directory, "LM") + "_" + obj.name + ".hdr"
|
||
|
bpy.context.scene.render.filepath = filename
|
||
|
|
||
|
resolution = int(obj.TLM_ObjectProperties.tlm_mesh_lightmap_resolution)
|
||
|
|
||
|
bpy.context.scene.render.resolution_x = resolution
|
||
|
bpy.context.scene.render.resolution_y = resolution
|
||
|
|
||
|
bpy.ops.render.render(write_still=True)
|
||
|
|
||
|
else:
|
||
|
|
||
|
print("No baking camera found")
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
print("Baking in Octane!")
|