You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
962 B
36 lines
962 B
//========= 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; |
|
} |
|
} |
|
} |