copper3d / Modules / Utils/modelCrossfade
Module: Utils/modelCrossfade
Table of contents
Interfaces
Functions
Functions
collectFadeTargets
▸ collectFadeTargets(root): FadeTarget[]
Parameters
| Name | Type |
|---|---|
root | DisposableObject3D |
Returns
Defined in
src/Utils/modelCrossfade.ts:26
restoreFade
▸ restoreFade(targets): void
Puts each material back exactly as collectFadeTargets found it.
Parameters
| Name | Type |
|---|---|
targets | FadeTarget[] |
Returns
void
Defined in
src/Utils/modelCrossfade.ts:65
setFade
▸ setFade(targets, factor): void
Scales each material toward transparent by factor, RELATIVE to the opacity it already had. Scaling rather than assigning is what keeps an already-translucent material translucent: opacity = factor would end every crossfade with it fully opaque.
depthWrite is suppressed for the whole fade and only restored at the fully-opaque end. A partially transparent mesh that still writes depth occludes everything drawn behind it, so a fade with depth writing left on shows the outgoing model punching holes in the incoming one.
Parameters
| Name | Type |
|---|---|
targets | FadeTarget[] |
factor | number |
Returns
void