private static void DrawGizmos(CinemachineCollider collider, GizmoType type) { CinemachineVirtualCameraBase vcam = (collider != null) ? collider.VirtualCamera : null; if (vcam != null && collider.enabled) { Color oldColor = Gizmos.color; bool isLive = CinemachineCore.Instance.IsLive(vcam); Color feelerColor = isLive ? CinemachineSettings.CinemachineCoreSettings.ActiveGizmoColour : CinemachineSettings.CinemachineCoreSettings.InactiveGizmoColour; Color hitColour = isLive ? Color.white : Color.grey; Vector3 pos = vcam.State.FinalPosition; if (collider.m_PreserveLineOfSight && vcam.State.HasLookAt) { Vector3 forwardFeelerVector = (vcam.State.ReferenceLookAt - pos).normalized; float distance = collider.m_LineOfSightFeelerDistance; Gizmos.color = collider.IsTargetObscured ? hitColour : feelerColor; Gizmos.DrawLine(pos, pos + forwardFeelerVector * distance); } if (collider.m_UseCurbFeelers) { Quaternion orientation = vcam.State.FinalOrientation; foreach (CinemachineCollider.CompiledCurbFeeler feeler in collider.Feelers) { Vector3 worldDirection = orientation * feeler.LocalVector; Gizmos.color = feeler.IsHit ? hitColour : feelerColor; Gizmos.DrawLine(pos, pos + worldDirection * feeler.RayDistance); } } Gizmos.color = oldColor; } }
public override void SetUp() { var camera = CreateGameObject("MainCamera", typeof(Camera), typeof(CinemachineBrain)); m_Brain = camera.GetComponent <CinemachineBrain>(); m_Vcam = CreateGameObject("CM Vcam", typeof(CinemachineVirtualCamera), typeof(CinemachineCollider)).GetComponent <CinemachineVirtualCamera>(); m_Vcam.Priority = 100; m_Vcam.Follow = CreateGameObject("Follow Object").transform; var framingTransposer = m_Vcam.AddCinemachineComponent <CinemachineFramingTransposer>(); framingTransposer.m_CameraDistance = 5f; m_Collider = m_Vcam.GetComponent <CinemachineCollider>(); m_Collider.m_Strategy = CinemachineCollider.ResolutionStrategy.PullCameraForward; m_Collider.m_CollideAgainst = 1; m_Collider.m_AvoidObstacles = true; m_Collider.m_SmoothingTime = 0; m_Collider.m_Damping = 0; m_Collider.m_DampingWhenOccluded = 0; m_Vcam.AddExtension(m_Collider); base.SetUp(); // Manual update is needed because when waiting for physics frame, we may pass 1-3 frames. Without manual // update the test won't be deterministic, because we would update 1-3 times, instead of just once. m_Brain.m_UpdateMethod = CinemachineBrain.UpdateMethod.ManualUpdate; }
private void Awake() { Cinemachine = GetComponentInParent <CinemachineVirtualCamera>(); _orbiter = Cinemachine.GetCinemachineComponent <CinemachineOrbitalTransposer>(); _composer = Cinemachine.GetCinemachineComponent <CinemachineComposer>(); _cinemachineCollider = GetComponent <CinemachineCollider>(); _controlAxisValueMin = _orbiter.m_XAxis.m_MinValue; _controlAxisValueMax = _orbiter.m_XAxis.m_MaxValue; }
// Use this for initialization void Start() { if (ColliderExtension != null && ColliderExtension.gameObject != null) { _cache = ColliderExtension.gameObject.GetComponent <CinemachineCollider>(); _freeLook = _cache.VirtualCamera as CinemachineFreeLook; } TargetObscuredVariable.GetVariable(variableTarget); CameraWasDisplaced.GetVariable(variableTarget); }
private void Start() { lookAtBall = false; vFreeCam = transform.GetComponent <CinemachineFreeLook>(); collCineMachine = transform.GetComponent <CinemachineCollider>(); if (GameObject.FindGameObjectWithTag("Ball") != null) { ballLookAtPoint = GameObject.FindGameObjectWithTag("Ball").transform; } playerLookAtPoint = vFreeCam.LookAt; varSet = transform.GetComponent <VirtualCamVarSet>(); }
void Start() { _touchField = FindObjectOfType <FixedTouchField>(); _mainCam = GetComponent <CinemachineFreeLook>(); _cameraCollider = GetComponent <CinemachineCollider>(); _mainCam.Follow = player.transform.Find("LookPoint"); _mainCam.LookAt = player.transform.Find("LookPoint"); frontCam.LookAt = player.transform.Find("LookPoint"); letfCam.LookAt = player.transform.Find("LookPoint"); //_mainCam.m_BindingMode = CinemachineTransposer.BindingMode.SimpleFollowWithWorldUp; _cameraCollider.m_IgnoreTag = "Object"; _cameraCollider.m_MinimumDistanceFromTarget = 0.1f; //1,2초 뒤에 각각의 함수를 실행해라 Invoke("setCam1", 1); Invoke("setCam2", 2); }
private void Start() { cineCollider = GetComponent <CinemachineCollider>(); composer = GetComponent <CinemachineVirtualCamera>().GetCinemachineComponent <CinemachineComposer>(); transposer = GetComponent <CinemachineVirtualCamera>().GetCinemachineComponent <CinemachineTransposer>(); oSensitivity = sensitivity; oMaxLook = maxLook; oMinLook = minLook; oFollowX = transposer.m_FollowOffset.x; oFollowY = transposer.m_FollowOffset.y; oFollowZ = transposer.m_FollowOffset.z; oXDamp = transposer.m_XDamping; oYDamp = transposer.m_YDamping; oZDamp = transposer.m_ZDamping; oTrackedX = composer.m_TrackedObjectOffset.x; oTrackedY = composer.m_TrackedObjectOffset.y; oTrackedZ = composer.m_TrackedObjectOffset.z; oHDamp = composer.m_HorizontalDamping; oVDamp = composer.m_VerticalDamping; oSoftW = composer.m_SoftZoneWidth; oSoftH = composer.m_SoftZoneHeight; }
private static void DrawColliderGizmos(CinemachineCollider collider, GizmoType type) { CinemachineVirtualCameraBase vcam = (collider != null) ? collider.VirtualCamera : null; if (vcam != null && collider.enabled) { Color oldColor = Gizmos.color; Vector3 pos = vcam.State.FinalPosition; if (collider.m_PreserveLineOfSight && vcam.State.HasLookAt) { Gizmos.color = CinemachineColliderPrefs.FeelerColor; if (collider.m_CameraRadius > 0) { Gizmos.DrawWireSphere(pos, collider.m_CameraRadius); } Vector3 forwardFeelerVector = (vcam.State.ReferenceLookAt - pos).normalized; float distance = collider.m_DistanceLimit; Gizmos.DrawLine(pos, pos + forwardFeelerVector * distance); // Show the avoidance path, for debugging List <List <Vector3> > debugPaths = collider.DebugPaths; foreach (var path in debugPaths) { Gizmos.color = CinemachineColliderPrefs.FeelerHitColor; Vector3 p0 = vcam.State.ReferenceLookAt; foreach (var p in path) { Gizmos.DrawLine(p0, p); p0 = p; } Gizmos.DrawLine(p0, pos); } } Gizmos.color = oldColor; } }
private static void DrawColliderGizmos(CinemachineCollider collider, GizmoType type) { CinemachineVirtualCameraBase vcam = (collider != null) ? collider.VirtualCamera : null; if (vcam != null && collider.enabled) { Color oldColor = Gizmos.color; bool isLive = CinemachineCore.Instance.IsLive(vcam); Color feelerColor = isLive ? CinemachineSettings.CinemachineCoreSettings.ActiveGizmoColour : CinemachineSettings.CinemachineCoreSettings.InactiveGizmoColour; Color hitColour = isLive ? Color.white : Color.grey; Vector3 pos = vcam.State.FinalPosition; if (collider.m_PreserveLineOfSight && vcam.State.HasLookAt) { Vector3 forwardFeelerVector = (vcam.State.ReferenceLookAt - pos).normalized; float distance = collider.m_DistanceLimit; Gizmos.color = collider.IsTargetObscured(vcam.LiveChildOrSelf) ? hitColour : feelerColor; Gizmos.DrawLine(pos, pos + forwardFeelerVector * distance); } Gizmos.color = oldColor; } }