對(duì)變形目標(biāo)使用的權(quán)重值數(shù)組進(jìn)行線性插值的樣條線。
new WeightSpline(options)
Parameters:
options
(Object)
Name | Description |
---|---|
options.times
Array.<Number>
|
在每個(gè)點(diǎn)上嚴(yán)格遞增的、無(wú)單位的浮點(diǎn)時(shí)間數(shù)組。這些值與時(shí)鐘時(shí)間沒(méi)有任何關(guān)系。它們是曲線的參數(shù)化。 |
options.weights
Array.<Number>
|
給定的浮點(diǎn)控制權(quán)重?cái)?shù)組。對(duì)權(quán)重進(jìn)行排序,以便按時(shí)間順序給出目標(biāo)的所有權(quán)重,并按照它們出現(xiàn)在變形目標(biāo)所在的GLTF中的順序給出權(quán)重。這意味著對(duì)于2個(gè)目標(biāo),權(quán)重=[w(0,0),w(0,1),w(1,0),w(1,1)…],其中i和j在w(i,j)中分別是時(shí)間指數(shù)和目標(biāo)指數(shù)。 |
Example
var times = [ 0.0, 1.5, 3.0, 4.5, 6.0 ];
var weights = [0.0, 1.0, 0.25, 0.75, 0.5, 0.5, 0.75, 0.25, 1.0, 0.0]; //Two targets
var spline = new bmgl.WeightSpline({
times : times,
weights : weights
});
var p0 = spline.evaluate(times[0]);
Throws
-
DeveloperError : weights.length必須大于或等于2。
-
DeveloperError : times.length必須是weights.length的系數(shù)。
Members
(readonly) times : Array.<Number>
控制權(quán)重的時(shí)間數(shù)組。
(readonly) weights : Array.<Number>
浮點(diǎn)數(shù)組控制權(quán)的數(shù)組。
Methods
clampTime(time) → {Number}
將給定的時(shí)間鉗制到樣條曲線所覆蓋的周期。
Parameters:
time
(Number)
時(shí)間。
在給定時(shí)間計(jì)算曲線。
Parameters:
time
(Number)
評(píng)估曲線的時(shí)間。
result
(Array.<Number>)
存儲(chǔ)結(jié)果的對(duì)象。
Throws
-
DeveloperError : 時(shí)間必須在
[t0, tn]
范圍內(nèi),其中t0
是數(shù)組times
中的第一個(gè)元素,tn
是數(shù)組times
中的最后一個(gè)元素。
在
times
中查找索引i
,以便參數(shù)time
在間隔[times[i], times[i + 1]]
中。
Parameters:
time
(Number)
時(shí)間。
Throws
-
DeveloperError : 時(shí)間必須在
[t0, tn]
范圍內(nèi),其中t0
是數(shù)組times
中的第一個(gè)元素,tn
是數(shù)組times
中的最后一個(gè)元素。
將給定時(shí)間包裝到樣條曲線所覆蓋的周期。
Parameters:
time
(Number)
時(shí)間。