private static void CameraSettingOfActorModel(Camera cameraRT, AvatarModel dataAM, float modelOffset) { if (dataAM.camProjRotRevise.get_Count() >= 2) { ModelDisplayManager.CameraSettingOfActorModel(cameraRT, new Vector3(0f, dataAM.camProjRotRevise.get_Item(0), dataAM.camProjRotRevise.get_Item(1)), dataAM.camProjPosRevise, modelOffset); } }
public static ActorModel SetRawImage(RawImage rawImage, int modelId, Vector2 offsetlocalPos, ref GameObject goModel, ref GameObject goCamera) { AvatarModel avatarModel = DataReader <AvatarModel> .Get(modelId); if (avatarModel == null) { return(null); } RenderTexture renderTexture = null; RTManager.CreateRenderTexture(ref renderTexture, "temp_render_texture"); rawImage.GetComponent <RectTransform>().set_sizeDelta(new Vector2((float)renderTexture.get_width(), (float)renderTexture.get_height())); RTManager.SetRT(rawImage, renderTexture); ActorModel actorModel = ModelDisplayManager.Instance.JustCreateUIModel(0, modelId, avatarModel, true, "CameraRange", offsetlocalPos); Camera camera = ModelDisplayManager.CreateCameraToModel(renderTexture); ModelDisplayManager.CameraSettingOfActorModel(camera, avatarModel, offsetlocalPos.x); goModel = actorModel.get_gameObject(); goCamera = camera.get_gameObject(); return(actorModel); }
public void SetCameraPosition(RTManager.RtType type, bool bEnable) { if (CamerasMgr.Camera2RTCommon == null) { Debug.LogError("CamerasMgr.Camera2RTCommon == null***********************"); return; } if (!bEnable) { return; } switch (type) { case RTManager.RtType.LocalHeatDistortion: CamerasMgr.Camera2RTCommon.get_transform().set_localPosition(Vector3.get_zero()); CamerasMgr.Camera2RTCommon.get_transform().set_localScale(Vector3.get_one()); CamerasMgr.Camera2RTCommon.get_transform().set_localRotation(Quaternion.get_identity()); break; case RTManager.RtType.Player: { if (this.AimTarget == null) { Debug.LogError("AimTarget is null"); return; } Quaternion rotation = this.AimTarget.get_rotation(); this.playerTmpPosition = this.AimTarget.get_position(); Vector3 vector = rotation * RTManager.Instance.CamProjRotateRevise; Vector3 position = vector + RTManager.Instance.AimTarget.get_transform().get_position(); Vector3 position2 = this.AimTarget.get_transform().get_position(); position2.y += this.AimTargetOffsetY; CamerasMgr.Camera2RTCommon.get_transform().set_position(position); CamerasMgr.Camera2RTCommon.get_transform().LookAt(position2); break; } case RTManager.RtType.ActorModel1: if (this.AimTarget != null) { ModelDisplayManager.CameraSettingOfActorModel(CamerasMgr.Camera2RTCommon, this.CamProjRotateRevise, this.AimTargetOffsetY, 0f); } break; case RTManager.RtType.InstanceBall: if (this.AimTarget != null && ModelDisplayManager.Instance.goTerrestrialGlobe != null) { Vector3 position3 = ModelDisplayManager.Instance.goTerrestrialGlobe.get_transform().FindChild("CameraLookAtPlace").get_position(); Vector3 position4 = ModelDisplayManager.Instance.goTerrestrialGlobe.get_transform().FindChild("CameraPlace").get_position(); CamerasMgr.Camera2RTCommon.get_transform().set_position(position4); CamerasMgr.Camera2RTCommon.get_transform().LookAt(position3); } break; case RTManager.RtType.ElementBall: if (this.AimTarget != null && ModelDisplayManager.Instance.elementBall != null) { Vector3 position5 = ModelDisplayManager.Instance.elementBall.get_transform().FindChild("CameraLookAtPlace").get_position(); Vector3 position6 = ModelDisplayManager.Instance.elementBall.get_transform().FindChild("CameraPlace").get_position(); CamerasMgr.Camera2RTCommon.get_transform().set_position(position6); CamerasMgr.Camera2RTCommon.get_transform().LookAt(position5); if (BallElement.Instance.distanceVisable == 0f) { BallElement.Instance.CalDistance(); } } break; } }