ProjectPointOnLine() public static méthode

public static ProjectPointOnLine ( Vector3 linePoint, Vector3 lineVec, Vector3 point ) : Vector3
linePoint Vector3
lineVec Vector3
point Vector3
Résultat Vector3
        public override Vector3 NearestPoint(PointerEventData data)
        {
            Ray     lineRay   = AttachPointRay();
            Vector3 linePoint = Math3D.ProjectPointOnLine(lineRay.origin, lineRay.direction, data.pointerCurrentRaycast.worldPosition);

            return(linePoint);
        }
        private Vector3 GetHelperPoint(Vector3 roundedPoint, Vector3 halfSegment, Vector3 puntVert, Vector3 segment)
        {
            Vector3 middleHalfSegment =
                GetMiddlePoint(roundedPoint, halfSegment);
            Vector3 projectedMiddleHalfToSegment =
                Math3D.ProjectPointOnLine(puntVert, segment.normalized, middleHalfSegment);

            Vector3 helperPoint =
                GetMiddlePoint(middleHalfSegment,
                               projectedMiddleHalfToSegment);

            return(helperPoint);
        }
        /// <summary>
        /// Adds the item raycast or updates it if already in list.
        /// </summary>
        /// <returns> Returns the midpoint of where Item was Added. </returns>
        /// <param name="itemRaycast">Item raycast.</param>
        /// <param name="hitPoint">Hit point.</param>
        public Vector3 UpdateItem(Item item, Vector3 hitPoint)
        {
            //Retieve or Create a new duplicate data
            SplineReplicator replicator = SplineReplicatorList.Find(r => r.Item == item);

            SplineReplicatorList.Remove(replicator);

            SetStartEndPoint();

            Ray lineRay = AttachPointRay();

            Vector3 linePoint = Math3D.ProjectPointOnLine(lineRay.origin, lineRay.direction, hitPoint);

            InsertReplicator(replicator, linePoint);

            SetStartEndPoint();
            SetColliderSize();

            return(replicator.DuplicateRangeMidPoint());
        }