《unity学习资料大全》由会员分享,可在线阅读,更多相关《unity学习资料大全(28页珍藏版)》请在金锄头文库上搜索。
1、 关于路径跟随设置点形成路径控制物体运动:用过Torque3D的人都知道,在这个引擎中可以在编辑模式下设定路径 然后AI就会按照这个路径运动,现在unity3D也可以啦 分享给大家 希望能有点帮助总共3个文件把第一个个文件放在新建的gameobject上 例如cube,然后creat empty创建空object作为splineparent,再创建4个或者多个sphere1,2,3,4作为它的子物体,然后将splineparent拖到这个代码var SplineParent : GameObject中,最后会看到cube按照sphere1到4的顺序运动JavaScript - SplineCo
2、ntroller.jsenum eOrientationMode NODE = 0, TANGENT var SplineParent : GameObject;var Duration : float = 10.0;var OrientationMode : eOrientationMode = eOrientationMode.NODE;var WrapMode : eWrapMode = eWrapMode.ONCE;var AutoStart : boolean = true;var AutoClose : boolean = true;var HideOnExecute : bool
3、ean = true;private var mSplineInterp : SplineInterpolator = null;private var mTransforms : Array = null;script AddComponentMenu(Splines/Spline Controller)function OnDrawGizmos() var trans : Array = GetTransforms(); if (trans.length 2) return; var interp = new SplineInterpolator(); SetupSplineInterpo
4、lator(interp, trans); interp.StartInterpolation(null, false, WrapMode); var prevPos : Vector3 = trans0.position; for (c=1; c = 100; c+) var currTime:float = c * Duration / 100.0; var currPos = interp.GetHermiteAtTime(currTime); var mag:float = (currPos-prevPos).magnitude * 2.0; Gizmos.color = Color(
5、mag, 0.0, 0.0, 1.0); Gizmos.DrawLine(prevPos, currPos); prevPos = currPos; function Start() mSplineInterp = gameObject.AddComponent(SplineInterpolator); mTransforms = GetTransforms(); if (HideOnExecute) DisableTransforms(); if (AutoStart) FollowSpline();function SetupSplineInterpolator(interp:Spline
6、Interpolator, trans:Array) : void interp.Reset(); if (AutoClose) var step : float = Duration / trans.length; else step = Duration / (trans.length-1); for (var c:int = 0; c 0) SetupSplineInterpolator(mSplineInterp, mTransforms); mSplineInterp.StartInterpolation(null, true, WrapMode); JavaScript - Spl
7、ineInterpolator.jsenum eEndPointsMode AUTO = 0, AUTOCLOSED, EXPLICIT enum eWrapMode ONCE = 0, LOOP private var mEndPointsMode = eEndPointsMode.AUTO;class SplineNode var Point : Vector3; var Rot : Quaternion; var Time : float; var EaseIO : Vector2; function SplineNode(p:Vector3, quaternion, t:float, io:Vector2) Point=p; Rot=q; Time=t; EaseIO=io; function SplineNode(o : SplineNode) Point=o.Point; Rot=o.Rot; Time=o.Time; EaseIO=o.EaseIO; private var mNodes : Array = null;private var mState : String = ;private var mRotations : boolean = false;private var mOnEndCallback:Object;funct