forked from LeenkxTeam/LNXSDK
		
	
		
			
	
	
		
			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!") |