unity筆記(指令碼4)

2022-10-08 19:12:15 字數 3075 閱讀 8772

///

///貝塞爾曲線生成器

///public

class

beziergenerate : monobeh**iour

//////

節點

/// public

int nodecount = 20

;

public listpointlist;

private

void

start()

public

void

generatepoints()

}public

void

drawcurve()

//節點間距

private

float

nodeintervals;

private

void

calculatenodeintervals()

}private

void calculateindexandratiobydistance(float distance, out

int index, out

float

ratio)

}//移動距離超過曲線長度

ratio = -1

; index = -1

; }

public vector3 getpoint(float

distance)

}

public

class

domovement : monobeh**iour

}

///

///橢圓生成器

///public

class

ellipsegenerate : monobeh**iour

//////

曲線的節點數量

/// public

int nodecount = 10

;

//////

橢圓角度

/// public

float angle = 360

;

//////

長軸

/// public

float

a;

//////

短軸

/// public

float

b;

public listpointlist;

//////

曲線所有節點總和

/// public

float

length;

private

void

start()

//////

生成貝塞爾曲線

/// public

void

generatepoint()

}//繪製曲線 建議建立單獨指令碼

private

void

drawcurve()

//////

獲取曲線中座標

/// ///

距離 ///

座標 public vector3 getpoint(float

distance)

//////

根據比例獲取曲線座標

/// ///

比例 ///

public vector3 getpoint01(float

ratio)

private

float

nodeintervals;

//計算各節點間距

private

void

calculatenodeinterval()

}//計算曲線總長度

private

void

calculatelength()

this.length =sum;

}//根據曲線距離,計算節點索引以及比例

private

void calculateindexandratio(float distance, out

int index, out

float ratio)//

8 }

//如果移動距離超過所有節點總和

index = -1

; ratio = -1

; }

}

public

class

eulerdemo : monobeh**iour

if (guilayout.repeatbutton("

沿y軸旋轉"))

if (guilayout.repeatbutton("

沿z軸旋轉"))

}}

public

class

quaterniondemo : monobeh**iour

//計算

private

void

ongui()

if (guilayout.repeatbutton("

沿y軸旋轉"))

if (guilayout.repeatbutton("

沿z軸旋轉"))

}private

void

update()

private

void

demo01()

}

///

///切點探測器

///public

class

tangentdetector : monobeh**iour

else

}public

void

calaculatetangent()

//**************測試**************

private

void

update()

}

unity指令碼入門

介面 void awake 指令碼載入時呼叫 void onenable 指令碼啟用時呼叫 void start 只呼叫一次,在呼叫update之前呼叫 void update 每幀呼叫一次,每秒接近60次 void lateupdate update呼叫完之後呼叫 void ondisable 取...

Unity學習筆記(4) 碰撞相關API

unity3d中的碰撞 在unity中,有普通碰撞體collider和觸發器 trigger 兩種碰撞體,兩個普通碰撞體會發生碰撞並產生力學現象,觸發器則像是個無法觸碰而又真實存在的東西,也會觸發碰撞事件,但另乙個物體會穿過它,碰撞發生的前提是兩碰撞體有一方攜帶剛體 rigidbody 元件。物體對...

unity3D指令碼學習筆記1

1.盡量使用debug.log 語句,而不要使用print 語句 2.注釋 選中,快捷鍵 ctrl alt c 3.初始化函式 awake 在遊戲開始時系統自動呼叫 一般用來建立變數 無論指令碼元件是否被啟用都能被呼叫 start 在所有awake函式執行完之後被呼叫,在update函式執行之前 一...