codecamp

three.js PropertyMixer

允许加权累加的缓冲场景图属性,内部使用

构造器

PropertyMixer( binding : PropertyBinding, typeName : String, valueSize : Number )

-- binding-- typeName-- valueSize

属性

.binding : PropertyBinding

.buffer : TypedArray

大小为 4 * valueSize 的缓冲区布局为: [ incoming | accu0 | accu1 | orig ]插值器可使用 .buffer 作为 .result 且数据会进入'incoming'区. 'accu0'和'accu1'用于按帧交错累加‘incoming’中的数据并进行比较以侦测变化。'orig'存储着属性的原始状态。

.cumulativeWeight : Number

默认值是0

.valueSize : Number

.referenceCount : Number

默认值是0

.useCount : Number

默认值是0

方法

.accumulate ( accuIndex : Number, weight : Number ) : undefined

将buffer[accuIndex]中'incoming'区的数据累加到'accu[i]'区中。如果权值为0,则什么都不做。

.apply ( accuIndex : Number ) : undefined

当累加值不同时,将buffer 'accu[i]区的状态应用于绑定.

.saveOriginalState ( ) : undefined

记住绑定属性的状态并复制到两个'accu'区中.

.restoreOriginalState ( ) : undefined

将预先通过'saveOriginalState'方法取得的状态应用于绑定。

方法

src/animation/PropertyMixer.js


three.js PropertyBinding
three.js BooleanKeyframeTrack
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

参考

核心 / BufferAttributes

渲染器 / WebXR

开发者参考

WebGL渲染器

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }