Hey all;
So I am using a python script, below, to import my FBX cameras from maya into a level sequence.
How ever my cameras come in with the wrong up axis and 10x too small.
Does anyone know how I can adjust this in python during import Or how to adjust the keys in the level sequence after the import using blueprints or python?
Any help is greatly apreciated
import unreal
def CameraImport(shot_name, start_frame, end_frame, frame_rate, asset_location, fbx_location, level_sequence, cine_camera_actor):
print('Python Incoming Variables--------')
print('Shot Name: ' + shot_name)
print('Start Frame: ' + str(start_frame))
print('End Frame: ' + str(end_frame))
print('Frame Rate: ' + str(frame_rate))
print('Asset Location: ' + asset_location)
print('FBX Location: ' + fbx_location)
print('Level Sequence: ' + str(level_sequence))
print('Cine Camera Actor:' + str(cine_camera_actor))
print('Binding Camera Actor and Adding Camera Track to Level Sequence')
binding = level_sequence.add_possessable(cine_camera_actor)
print('Adding Cine Camera Componant Track under Camera Track to Level Sequence')
level_sequence.add_possessable(cine_camera_actor.get_cine_camera_component())
print('Creating CameraID variable that is a Movie Scene Binding ID?????')
camera_id = unreal.MovieSceneObjectBindingID()
print('Setting CameraID editor ID????')
camera_id.set_editor_property('guid', binding.get_id())
print('Creating Master Track????')
camera_cut_track = level_sequence.add_master_track(unreal.MovieSceneCameraCutTrack)
print('Createing target section for later use????')
camera_section = camera_cut_track.add_section()
print('Setting Target section for import????')
camera_section.set_range(start_frame, end_frame)
print('Setting main binding for FBX import target?????')
camera_section.set_camera_binding_id(camera_id)
print('Setting up FBX import Options')
import_setting = unreal.MovieSceneUserImportFBXSettings()
import_setting.set_editor_property('create_cameras', False)
import_setting.set_editor_property('force_front_x_axis', False)
import_setting.set_editor_property('match_by_name_only', True)
import_setting.set_editor_property('reduce_keys', False)
import_setting.set_editor_property('reduce_keys_tolerance', 0.001)
print('Set world/level to import into to current editor world')
world = unreal.EditorLevelLibrary.get_editor_world()
print('doign actual FBX Import')
unreal.SequencerTools.import_fbx(world, level_sequence, [binding], import_setting, fbx_location)