def SetViewscreenCamera(pAction, sSetName, sCameraName = None): pBridge = App.BridgeSet_Cast(App.g_kSetManager.GetSet("bridge")) pSet = App.g_kSetManager.GetSet(sSetName) if (pBridge == None) or (pSet == None): return 0 pViewscreen = pBridge.GetViewScreen() if (sCameraName != None): pCamera = App.CameraObjectClass_GetObject(pSet, sCameraName) else: pCamera = pSet.GetActiveCamera() if (pCamera == None): # Try getting the player's camera from the game. pCamera = App.Game_GetPlayerCamera() if (pCamera == None): # Try getting "MainPlayerCamera". pCamera = App.CameraObjectClass_GetObject(pSet, "MainPlayerCamera") if (pViewscreen == None) or (pCamera == None): return 0 pViewscreen.SetRemoteCam(pCamera) pViewscreen.SetIsOn(1) return 0
def WatchShipLeave(pAction, sSet, sObjectName, sCamera = "CutsceneCam"): pSet = App.g_kSetManager.GetSet(sSet) if not pSet: return 0 pCamera = App.CameraObjectClass_GetObject(pSet, sCamera) if not pCamera: return 0 pAction = App.TGScriptAction_Create("Actions.CameraScriptActions", "DropAndWatch", sSet, sObjectName) pAction.Play() pMode = pCamera.GetCurrentCameraMode() if not pMode: return 0 pMode.SetAttrFloat("AwayDistance", -1.0) pMode.SetAttrFloat("ForwardOffset", -7.0) pMode.SetAttrFloat("SideOffset", -7.0) pMode.SetAttrFloat("RangeAngle1", 230.0) pMode.SetAttrFloat("RangeAngle2", 310.0) pMode.SetAttrFloat("RangeAngle3", -10.0) pMode.SetAttrFloat("RangeAngle4", 10.0) pMode.Update() pMode.SetAttrFloat("AwayDistance", 100000.0) return 0
def SetCameraPositionAndFacing(pAction, sSetName, sCameraName, fPosX, fPosY, fPosZ, fFwdX, fFwdY, fFwdZ, fUpX, fUpY, fUpZ): pSet = App.g_kSetManager.GetSet(sSetName) if (pSet == None): return 0 pCamera = App.CameraObjectClass_GetObject(pSet, sCameraName) if (pCamera == None): return 0 kPoint = App.TGPoint3() kPoint.SetXYZ(fPosX, fPosY, fPosZ) kFwd = App.TGPoint3() kFwd.SetXYZ(fFwdX, fFwdY, fFwdZ) kUp = App.TGPoint3() kUp.SetXYZ(fUpX, fUpY, fUpZ) pCamera.SetTranslate(kPoint) pCamera.AlignToVectors(kFwd, kUp) return 0
def PopCameraMode(pAction, sSet, sCamera = "CutsceneCam", sMode = None): pSet = App.g_kSetManager.GetSet(sSet) if not pSet: return 0 pCamera = App.CameraObjectClass_GetObject(pSet, sCamera) if not pCamera: return 0 if not sMode: pCamera.PopCameraMode() else: pCamera.PopCameraMode(sMode) return 0