//========= Copyright 2016-2018, HTC Corporation. All rights reserved. =========== using UnityEngine; namespace HTC.UnityPlugin.Pointer3D { public class ProjectionGenerator : BaseRaySegmentGenerator { public float velocity = 2f; public Vector3 gravity = Vector3.down; private bool isFirstSegment = true; public override void ResetSegments() { isFirstSegment = true; } public override bool NextSegment(out Vector3 direction, out float distance) { if (isFirstSegment && velocity > Pointer3DRaycaster.MIN_SEGMENT_DISTANCE) { isFirstSegment = false; direction = raycaster.transform.forward; distance = velocity; } else { direction = gravity; distance = float.PositiveInfinity; } return true; } } }