資源簡(jiǎn)介
該資源,是Unity 3D路徑跟隨,可以選擇閉合曲線和非閉合曲線,目標(biāo)跟隨時(shí)可以選擇旋轉(zhuǎn)跟隨和非旋轉(zhuǎn)跟隨,曲線的繪制采用Hermite曲線。

代碼片段和文件信息
using?UnityEngine;
using?System.Collections;
public?class?Curve?:?MonoBehaviour?{
public?Gameobject[]?vertexs;
//?Use?this?for?initialization
void?Start?()?{
}
//?Update?is?called?once?per?frame
void?Update?()?{
//Debug.DrawLine(new?Vector3(0?0?0)?new?Vector3(10?10?10)?Color.blue);????
}
void?OnGUI()
{
}
void?OnPostRender()
{
}
//繪制小物件:如果你想繪制可被點(diǎn)選的gizmos,執(zhí)行這個(gè)函數(shù)。
void?OnDrawGizmos()
{
//Gizmos.Color?=?Gizmos.color.white;
for?(int?i?=?0;?i?6;?i++)
{
Vector3?start?=?getver4(vertexs[0].transform.position?vertexs[1].transform.position?vertexs[2].transform.position?vertexs[3].transform.position?(i)?/?6f);
Vector3?end?=?getver4(vertexs[0].transform.position?vertexs[1].transform.position?vertexs[2].transform.position?vertexs[3].transform.position?(i+1)?/?6f);
Gizmos.DrawLine(startend);
start?=?getver5(vertexs[0].transform.position?vertexs[1].transform.position?vertexs[2].transform.position?vertexs[3].transform.position?(i)?/?6f);
end?=?getver5(vertexs[0].transform.position?vertexs[1].transform.position?vertexs[2].transform.position?vertexs[3].transform.position?(i?+?1)?/?6f);
Gizmos.DrawLine(start?end);
}
}
//繪制小物件:選中狀態(tài)
void?OnDrawGizmosSelected()
{
Gizmos.DrawWireCube(new?Vector3(0?0?0)?new?Vector3(1?1?1));
}
//貝塞爾?3次方程
Vector3?getver(Vector3?v0?Vector3?v1?Vector3?v2?Vector3?v3float?t)
{
Vector3?v;
v?=?(1?-?t)?*?(1?-?t)?*?(1?-?t)?*?v0?+?(1?-?t)?*?(1?-?t)?*?t?*?v1?+?(1?-?t)?*?t?*?t?*?v2?+?t?*?t?*?t?*?v3;
return?v;?
}
//貝塞爾?2次方程
Vector3?getver2(Vector3?v0?Vector3?v1?Vector3?v2?Vector3?v3?float?t)
{
Vector3?v;
v?=?(1?-?t)?*?(1?-?t)?*?v0?+?(1?-?t)?*?t?*?v1?+?t?*?t?*?v2;
return?v;
}
Vector3?getver3(Vector3?v0?Vector3?v1?Vector3?v2?Vector3?v3?float?t)
{
Vector3?v;
//v?=?(1?-?t)?*?(1?-?t)?*?v0?+?(1?-?t)?*?t?*?v1?+?t?*?t?*?v2;
v?=?v0?+?t*(v1-v0)?+?t*t*(v2-v1)?+?t*t*t*(v3-v2);
return?v;
}
//hermite?曲線
Vector3?getver4(Vector3?v0?Vector3?v1?Vector3?v2?Vector3?v3?float?t)
{
Vector3?v;
float?h1?=?2?*?t?*?t?*?t?-?3?*?t?*?t??+?1;
float?h2?=?-2?*?t?*?t?*?t?+?3?*?t?*?t;
float?h3?=?t?*?t?*?t?-?2?*?t?*?t?+?t;
float?h4?=?t?*?t?*?t?-?t?*?t;
v?=?h1?*?v0?+?h2?*?v1?+?h3?*?(v0?-?v0)/2.0f?+?h4?*?(v3?-?v1)/2.0f;
return?v;
}
//hermite?曲線
Vector3?getver5(Vector3?v0?Vector3?v1?Vector3?v2?Vector3?v3?float?t)
{
Vector3?v;
float?h1?=?2?*?t?*?t?*?t?-?3?*?t?*?t?+?1;
float?h2?=?-2?*?t?*?t?*?t?+?3?*?t?*?t;
float?h3?=?t?*?t?*?t?-?2?*?t?*?t?+?t;
float?h4?=?t?*?t?*?t?-?t?*?t;
v?=?h1?*?v1?+?h2?*?v2?+?h3?*?(v3?-?v1)?+?h4?*?(v2?-?v2);
return?v;
}
void?OnSceneGUI()
{
}
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
????.....H.??????8198??2015-12-17?12:57??HermiteCurve\.docstates.suo
?????文件???????7095??2015-12-17?11:30??HermiteCurve\Assembly-CSharp-Editor.csproj
?????文件???????4422??2015-12-17?20:59??HermiteCurve\Assembly-CSharp.csproj
?????文件???????2869??2015-12-16?14:40??HermiteCurve\Assets\Curve\Curve.cs
????..A..H.???????262??2015-12-07?09:59??HermiteCurve\Assets\Curve\Curve.cs.me
?????文件????????361??2015-12-17?13:50??HermiteCurve\Assets\Curve\Curve_Root.cs
????..A..H.???????262??2015-12-09?11:26??HermiteCurve\Assets\Curve\Curve_Root.cs.me
?????文件???????9036??2015-12-17?17:46??HermiteCurve\Assets\Curve\HermitCurve.cs
????..A..H.???????262??2015-12-09?11:26??HermiteCurve\Assets\Curve\HermitCurve.cs.me
????..A..H.???????191??2015-12-09?11:25??HermiteCurve\Assets\Curve.me
????I.A....?????14924??2015-12-17?21:06??HermiteCurve\Assets\test.unity
????..A..H.???????174??2015-12-09?09:44??HermiteCurve\Assets\test.unity.me
?????文件???????1547??2015-12-17?20:59??HermiteCurve\curveTest.sln
????.....H.?????16390??2015-12-17?17:17??HermiteCurve\curveTest.sln.docstates.suo
????..A..H.?????48128??2015-12-17?17:17??HermiteCurve\curveTest.suo
????I.A....??????4120??2015-12-07?09:54??HermiteCurve\Library\AnnotationManager
????I.A....???1446492??2015-12-17?21:06??HermiteCurve\Library\assetDataba
????I.A....?????????6??2015-12-07?09:54??HermiteCurve\Library\AssetImportState
????I.A....??????4756??2015-12-17?21:06??HermiteCurve\Library\AssetServerCacheV3
????I.A....?????14336??2015-12-17?20:59??HermiteCurve\Library\AssetVersioning.db
????I.A....?????????0??2015-12-07?09:54??HermiteCurve\Library\BuildPla
????I.A....??????4128??2015-12-07?09:54??HermiteCurve\Library\BuildSettings.asset
????I.A....?????39612??2015-12-17?21:06??HermiteCurve\Library\CurrentLayout.dwlt
????I.A....?????34180??2015-12-10?10:27??HermiteCurve\Library\CurrentMaximizeLayout.dwlt
????I.A....??????4220??2015-12-07?09:54??HermiteCurve\Library\EditorUserBuildSettings.asset
????I.A....??????4148??2015-12-07?09:54??HermiteCurve\Library\EditorUserSettings.asset
????I.A....??????6516??2015-12-17?21:06??HermiteCurve\Library\expandedItems
????I.A....??????4172??2015-12-15?11:36??HermiteCurve\Library\InspectorExpandedItems.asset
?????文件?????????65??2015-12-07?09:54??HermiteCurve\Library\LibraryFormatVersion.txt
????I.A....??????4285??2015-12-07?09:54??HermiteCurve\Library\me
............此處省略409個(gè)文件信息
評(píng)論
共有 條評(píng)論