Exemple #1
0
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
Exemple #2
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
Exemple #3
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
Exemple #4
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