target_prim_xform_mat=UsdGeom.Xformable(target_prim).GetLocalTransformation()# The target location (target_loc) is for this particular prim,# but could also be any arbitrary locationtarget_loc=target_prim_xform_mat.ExtractTranslation()viewport=get_active_viewport()active_camera_path=viewport.camera_path.pathStringcamera_pos=self.camera_target_posnew_cam_mat=Gf.Matrix4d(1.0)new_cam_mat.SetLookAt(camera_pos,target_loc,Gf.Vec3d(0,1,0))destXformAttr=self.camera_prim.GetAttribute('xformOp:transform')destXformAttr.Set(new_cam_mat.GetInverse())
fromomni.kit.viewport.utilityimportget_active_viewportcamera_path="/World/Camera/MyNewCamera"viewport=get_active_viewport()ifnotviewport:raiseRuntimeError("No active Viewport")# Set the Viewport's active camera to the# camera prim path you want to switch to.viewport.camera_path=camera_path