public CamSchema(FramingType _scale, string _tLoc, Orient _tOrient, Hangle _hangle, Vangle _vangle) { scale = _scale; targetLocation = _tLoc; targetOrientation = _tOrient; hangle = _hangle; vangle = _vangle; }
public CamSchema(FramingType _scale, string _tLoc, Orient _tOrient, Hangle _hangle, Vangle _vangle, float _distance, float _height) { scale = _scale; targetLocation = _tLoc; targetOrientation = _tOrient; hangle = _hangle; vangle = _vangle; distance = _distance; height = _height; }
public static int VangleToInt(Vangle vangle) { if (vangle.Equals(Vangle.None)) { return(-1); } if (vangle.Equals("Low")) { return(-30); } if (vangle.Equals("Eye")) { return(0); } return(30); }
public static int VangleToInt(Vangle vangle) { if (vangle.Equals(Vangle.None)) { return(-1); } if (vangle == Vangle.Low) { return(-30); } if (vangle == Vangle.Eye) { return(0); } if (vangle == Vangle.High) { return(30); } return(0); }
public GameObject CreateCamera(TileNode loc, FramingType scale, Orient orient, Hangle hangle, Vangle vangle) { //Debug.Log(scale); GameObject camHost = new GameObject(); //camHost.transform.position = loc.transform.position; var cva = camHost.AddComponent <CinemachineVirtualCamera>(); var cbod = camHost.AddComponent <CinemachineCameraBody>(); var cc = cva.AddCinemachineComponent <CinemachineComposer>(); var cbmcp = cva.AddCinemachineComponent <CinemachineBasicMultiChannelPerlin>(); var camattributes = camHost.AddComponent <CamAttributesStruct>(); camattributes.Set(scale, loc.transform.gameObject.name, orient, hangle, vangle); // composer parameters TODO: tweak via separate gameobject component structure cc.m_HorizontalDamping = 10; cc.m_VerticalDamping = 10; cc.m_LookaheadTime = 0.2f; cc.m_DeadZoneWidth = 0.25f; cc.m_SoftZoneWidth = 0.5f; var framing_data = FramingParameters.FramingTable[scale]; // FStop cbod.IndexOfFStop = CinematographyAttributes.fStops[framing_data.DefaultFStop]; // Lens cbod.IndexOfLens = CinematographyAttributes.lenses[framing_data.DefaultFocalLength]; // set at planning time. //cbod.FocusTransform = target_go.transform; // create small amount of noise cbmcp = cva.AddCinemachineComponent <CinemachineBasicMultiChannelPerlin>(); cbmcp.m_NoiseProfile = CinematographyAttributes.standardNoise; cbmcp.m_AmplitudeGain = 0.5f; cbmcp.m_FrequencyGain = 1f; // worldDirectionOf Camera relative to location transform var camTransformDirection = DegToVector3(camattributes.OrientInt + camattributes.HangleInt); // calculate where to put camera var fakeTarget = CreateFakeTarget(actors[0].gameObject, loc.transform); var camDist = CinematographyAttributes.CalcCameraDistance(fakeTarget, scale); GameObject.DestroyImmediate(fakeTarget); cbod.FocusDistance = camDist; // Calculate Camera Position camHost.transform.position = loc.transform.position + camTransformDirection * camDist; var height = CinematographyAttributes.SolveForY(loc.transform.position, camHost.transform.position, 0.5f, camattributes.VangleInt); camHost.transform.position = new Vector3(camHost.transform.position.x, height, camHost.transform.position.z); // Gives starting orientation of camera. At planning time, a "lookAt" parameter is set to specific target. camHost.transform.rotation.SetLookRotation(loc.transform.position); // Set Name of camera object camHost.name = string.Format("{0}.{1}.{2}.{3}.{4}", loc.name, scale, camattributes.targetOrientation, camattributes.hangle, camattributes.vangle); return(camHost); }