@react-three/drei 9.84.3 → 9.85.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -8
- package/core/Cloud.cjs.js +1 -1
- package/core/Cloud.d.ts +31 -11
- package/core/Cloud.js +213 -47
- package/core/index.cjs.js +1 -1
- package/core/index.js +2 -1
- package/index.cjs.js +1 -1
- package/index.js +1 -1
- package/native/index.cjs.js +1 -1
- package/native/index.js +2 -1
- package/package.json +2 -1
- package/react-three-drei-0.0.0-semantic-release.tgz +0 -0
- package/web/index.cjs.js +1 -1
- package/web/index.js +2 -1
package/README.md
CHANGED
|
@@ -4476,16 +4476,49 @@ attribute vec3 color;
|
|
|
4476
4476
|
|
|
4477
4477
|
Particle based cloud.
|
|
4478
4478
|
|
|
4479
|
-
|
|
4479
|
+
```tsx
|
|
4480
|
+
type CloudsProps = JSX.IntrinsicElements['group'] & {
|
|
4481
|
+
/** Optional cloud texture, points to a default hosted on rawcdn.githack */
|
|
4482
|
+
texture?: string
|
|
4483
|
+
/** Maximum number of segments, default: 200 (make this tight to save memory!) */
|
|
4484
|
+
limit?: number
|
|
4485
|
+
/** How many segments it renders, default: undefined (all) */
|
|
4486
|
+
range?: number
|
|
4487
|
+
/** Which material it will override, default: MeshLambertMaterial */
|
|
4488
|
+
material?: typeof Material
|
|
4489
|
+
}
|
|
4490
|
+
|
|
4491
|
+
type CloudProps = JSX.IntrinsicElements['group'] & {
|
|
4492
|
+
/** A seeded random will show the same cloud consistently, default: Math.random() */
|
|
4493
|
+
seed?: number
|
|
4494
|
+
/** How many segments or particles the cloud will have, default: 20 */
|
|
4495
|
+
segments?: number
|
|
4496
|
+
/** The box3 bounds of the cloud, default: [5, 1, 1] */
|
|
4497
|
+
bounds?: ReactThreeFiber.Vector3
|
|
4498
|
+
/** The general scale of the segments */
|
|
4499
|
+
scale?: ReactThreeFiber.Vector3
|
|
4500
|
+
/** The volume/thickness of the segments, default: 6 */
|
|
4501
|
+
volume?: number
|
|
4502
|
+
/** Growth factor for animated clouds (speed > 0), default: 4 */
|
|
4503
|
+
growth?: number
|
|
4504
|
+
/** Animation factor, default: 0.1 */
|
|
4505
|
+
speed?: number
|
|
4506
|
+
/** Camera distance until the segments will fade, default: 10 */
|
|
4507
|
+
fade?: number
|
|
4508
|
+
/** Opacity, default: 0.8 */
|
|
4509
|
+
opacity?: number
|
|
4510
|
+
/** Color, default: white */
|
|
4511
|
+
color?: ReactThreeFiber.Color
|
|
4512
|
+
}
|
|
4513
|
+
```
|
|
4514
|
+
|
|
4515
|
+
Use the `<Clouds>` provider to glob all clouds into a single, instanced draw call.
|
|
4480
4516
|
|
|
4481
4517
|
```jsx
|
|
4482
|
-
<
|
|
4483
|
-
|
|
4484
|
-
|
|
4485
|
-
|
|
4486
|
-
depth={1.5} // Z-dir depth
|
|
4487
|
-
segments={20} // Number of particles
|
|
4488
|
-
/>
|
|
4518
|
+
<Clouds material={THREE.MeshBasicMaterial}>
|
|
4519
|
+
<Cloud segments={40} bounds={[10, 2, 2]} volume={10} color="orange" />
|
|
4520
|
+
<Cloud seed={1} scale={2} volume={5} color="hotpink" fade={100} />
|
|
4521
|
+
</Clouds>
|
|
4489
4522
|
```
|
|
4490
4523
|
|
|
4491
4524
|
#### useEnvironment
|
package/core/Cloud.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),n=require("@react-three/fiber"),a=require("./useTexture.cjs.js"),o=require("uuid");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var i=u(e),s=c(t);const l=new r.Matrix4,d=new r.Vector3,f=new r.Quaternion,p=new r.Vector3,m=new r.Quaternion,g=new r.Vector3,h=s.createContext(null),y=s.forwardRef((({children:e,material:t=r.MeshLambertMaterial,texture:o="https://rawcdn.githack.com/pmndrs/drei-assets/9225a9f1fbd449d9411125c2f419b843d0308c9f/cloud.png",range:u,limit:c=200,...y},x)=>{var b,M;const v=s.useMemo((()=>class extends t{constructor(){super(),this.onBeforeCompile=e=>{e.vertexShader="attribute float opacity;\n varying float vOpacity;\n "+e.vertexShader.replace("#include <fog_vertex>","#include <fog_vertex>\n vOpacity = opacity;\n "),e.fragmentShader="varying float vOpacity;\n "+e.fragmentShader.replace("#include <opaque_fragment>","#include <opaque_fragment>\n gl_FragColor = vec4(outgoingLight, diffuseColor.a * vOpacity);\n ")}}}),[t]);n.extend({CloudMaterial:v});const w=s.useRef(null),C=s.useRef([]),E=s.useMemo((()=>new Float32Array(Array.from({length:c},(()=>1)))),[c]),A=s.useMemo((()=>new Float32Array(Array.from({length:c},(()=>[1,1,1])).flat())),[c]),O=a.useTexture(o);let j,R=0,_=0;const q=new r.Quaternion,F=new r.Vector3(0,0,1);n.useFrame(((e,t)=>{for(R=e.clock.getElapsedTime(),l.copy(w.current.matrixWorld).invert(),e.camera.matrixWorld.decompose(p,m,g),_=0;_<C.current.length;_++)j=C.current[_],j.ref.current.matrixWorld.decompose(d,f,g),d.add(j.position).applyQuaternion(f),f.copy(m).multiply(q.setFromAxisAngle(F,j.rotation+=t*j.rotationFactor)),g.addScalar(j.volume+(1+Math.sin(R*j.density*j.speed))/2*j.growth),j.matrix.compose(d,f,g).premultiply(l),j.dist=d.distanceTo(p);for(C.current.sort(((e,t)=>t.dist-e.dist)),_=0;_<C.current.length;_++)j=C.current[_],E[_]=j.opacity*(j.dist<j.fade-1?j.dist/j.fade:1),w.current.setMatrixAt(_,j.matrix),w.current.setColorAt(_,j.color);w.current.geometry.attributes.opacity.needsUpdate=!0,w.current.instanceMatrix.needsUpdate=!0,w.current.instanceColor&&(w.current.instanceColor.needsUpdate=!0)})),s.useLayoutEffect((()=>{const e=Math.min(c,void 0!==u?u:c,C.current.length);w.current.count=e,w.current.instanceMatrix.updateRange.count=16*e,w.current.instanceColor&&(w.current.instanceColor.updateRange.count=3*e),w.current.geometry.attributes.opacity.updateRange.count=e}));let P=[null!==(b=O.image.width)&&void 0!==b?b:1,null!==(M=O.image.height)&&void 0!==M?M:1],S=Math.max(P[0],P[1]);return P=[P[0]/S,P[1]/S],s.createElement("group",i.default({ref:x},y),s.createElement(h.Provider,{value:C},e,s.createElement("instancedMesh",{matrixAutoUpdate:!1,ref:w,args:[null,null,c]},s.createElement("instancedBufferAttribute",{usage:r.DynamicDrawUsage,attach:"instanceColor",args:[A,3]}),s.createElement("planeGeometry",{args:[...P]},s.createElement("instancedBufferAttribute",{usage:r.DynamicDrawUsage,attach:"attributes-opacity",args:[E,1]})),s.createElement("cloudMaterial",{key:t.name,map:O,transparent:!0,depthWrite:!1}))))})),x=s.forwardRef((({opacity:e=1,speed:t=0,bounds:a=[5,1,1],segments:u=20,color:c="#ffffff",fade:l=10,volume:d=6,growth:f=4,seed:p=Math.random(),...m},g)=>{function y(){const e=1e4*Math.sin(p++);return e-Math.floor(e)}const x=s.useContext(h),b=s.useRef(null),[M]=s.useState((()=>o.v4())),v=s.useMemo((()=>[...new Array(u)].map(((e,t)=>({segments:u,bounds:new r.Vector3(1,1,1),position:new r.Vector3,uuid:M,index:t,ref:b,dist:0,matrix:new r.Matrix4,color:new r.Color,rotation:t*(Math.PI/u)})))),[u,M]);return s.useLayoutEffect((()=>{v.forEach(((r,o)=>{n.applyProps(r,{color:c,speed:t,growth:f,opacity:e,fade:l,bounds:a,density:Math.max(.5,y()),rotationFactor:Math.max(.2,.5*y())*t}),u>1&&r.position.copy(r.bounds).multiply({x:2*y()-1,y:2*y()-1,z:2*y()-1});const i=Math.abs(r.position.x),s=Math.abs(r.position.y),p=Math.abs(r.position.z),m=Math.max(i,s,p);r.length=1,i===m&&(r.length-=i/r.bounds.x),s===m&&(r.length-=s/r.bounds.y),p===m&&(r.length-=p/r.bounds.z),r.volume=Math.max(.25,r.length)*d}))}),[a,l,c,e,f,d,p,u,t]),s.useLayoutEffect((()=>{const e=v;return x.current=[...x.current,...e],()=>{x.current=x.current.filter((e=>e.uuid!==M))}}),[v]),s.useImperativeHandle(g,(()=>b.current),[]),s.createElement("group",i.default({ref:b},m))})),b=s.forwardRef(((e,t)=>s.useContext(h)?s.createElement(x,i.default({ref:t},e)):s.createElement(y,null,s.createElement(x,i.default({ref:t},e)))));exports.Cloud=b,exports.CloudInstance=x,exports.Clouds=y;
|
package/core/Cloud.d.ts
CHANGED
|
@@ -1,12 +1,32 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
2
|
+
import { Group, Material, MeshLambertMaterial } from 'three';
|
|
3
|
+
import { MaterialNode, ReactThreeFiber } from '@react-three/fiber';
|
|
4
|
+
declare global {
|
|
5
|
+
namespace JSX {
|
|
6
|
+
interface IntrinsicElements {
|
|
7
|
+
cloudMaterial: MaterialNode<MeshLambertMaterial, typeof MeshLambertMaterial>;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
type CloudsProps = JSX.IntrinsicElements['group'] & {
|
|
12
|
+
texture?: string;
|
|
13
|
+
limit?: number;
|
|
14
|
+
range?: number;
|
|
15
|
+
material?: typeof Material;
|
|
16
|
+
};
|
|
17
|
+
type CloudProps = JSX.IntrinsicElements['group'] & {
|
|
18
|
+
seed?: number;
|
|
19
|
+
segments?: number;
|
|
20
|
+
bounds?: ReactThreeFiber.Vector3;
|
|
21
|
+
scale?: ReactThreeFiber.Vector3;
|
|
22
|
+
volume?: number;
|
|
23
|
+
growth?: number;
|
|
24
|
+
speed?: number;
|
|
25
|
+
fade?: number;
|
|
26
|
+
opacity?: number;
|
|
27
|
+
color?: ReactThreeFiber.Color;
|
|
28
|
+
};
|
|
29
|
+
export declare const Clouds: React.ForwardRefExoticComponent<Omit<CloudsProps, "ref"> & React.RefAttributes<Group>>;
|
|
30
|
+
export declare const CloudInstance: React.ForwardRefExoticComponent<Omit<CloudProps, "ref"> & React.RefAttributes<Group>>;
|
|
31
|
+
export declare const Cloud: React.ForwardRefExoticComponent<Omit<CloudProps, "ref"> & React.RefAttributes<Group>>;
|
|
32
|
+
export {};
|
package/core/Cloud.js
CHANGED
|
@@ -1,58 +1,224 @@
|
|
|
1
|
+
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
1
2
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { Plane } from './shapes.js';
|
|
3
|
+
import { Quaternion, Vector3, DynamicDrawUsage, MeshLambertMaterial, Matrix4, Color } from 'three';
|
|
4
|
+
import { extend, useFrame, applyProps } from '@react-three/fiber';
|
|
5
5
|
import { useTexture } from './useTexture.js';
|
|
6
|
+
import { v4 } from 'uuid';
|
|
6
7
|
|
|
7
8
|
const CLOUD_URL = 'https://rawcdn.githack.com/pmndrs/drei-assets/9225a9f1fbd449d9411125c2f419b843d0308c9f/cloud.png';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
const parentMatrix =
|
|
10
|
+
/*@__PURE__*/
|
|
11
|
+
/*@__PURE__*/
|
|
12
|
+
new Matrix4();
|
|
13
|
+
const translation =
|
|
14
|
+
/*@__PURE__*/
|
|
15
|
+
/*@__PURE__*/
|
|
16
|
+
new Vector3();
|
|
17
|
+
const rotation =
|
|
18
|
+
/*@__PURE__*/
|
|
19
|
+
/*@__PURE__*/
|
|
20
|
+
new Quaternion();
|
|
21
|
+
const cpos =
|
|
22
|
+
/*@__PURE__*/
|
|
23
|
+
/*@__PURE__*/
|
|
24
|
+
new Vector3();
|
|
25
|
+
const cquat =
|
|
26
|
+
/*@__PURE__*/
|
|
27
|
+
/*@__PURE__*/
|
|
28
|
+
new Quaternion();
|
|
29
|
+
const scale =
|
|
30
|
+
/*@__PURE__*/
|
|
31
|
+
/*@__PURE__*/
|
|
32
|
+
new Vector3();
|
|
33
|
+
const context = /*@__PURE__*/React.createContext(null);
|
|
34
|
+
const Clouds = /*@__PURE__*/React.forwardRef(({
|
|
35
|
+
children,
|
|
36
|
+
material = MeshLambertMaterial,
|
|
14
37
|
texture = CLOUD_URL,
|
|
15
|
-
|
|
16
|
-
|
|
38
|
+
range,
|
|
39
|
+
limit = 200,
|
|
17
40
|
...props
|
|
18
|
-
}) {
|
|
19
|
-
|
|
41
|
+
}, fref) => {
|
|
42
|
+
var _image$width, _image$height;
|
|
43
|
+
const CloudMaterial = React.useMemo(() => {
|
|
44
|
+
return class extends material {
|
|
45
|
+
constructor() {
|
|
46
|
+
super();
|
|
47
|
+
this.onBeforeCompile = shader => {
|
|
48
|
+
shader.vertexShader = `attribute float opacity;
|
|
49
|
+
varying float vOpacity;
|
|
50
|
+
` + shader.vertexShader.replace('#include <fog_vertex>', `#include <fog_vertex>
|
|
51
|
+
vOpacity = opacity;
|
|
52
|
+
`);
|
|
53
|
+
shader.fragmentShader = `varying float vOpacity;
|
|
54
|
+
` + shader.fragmentShader.replace('#include <opaque_fragment>', `#include <opaque_fragment>
|
|
55
|
+
gl_FragColor = vec4(outgoingLight, diffuseColor.a * vOpacity);
|
|
56
|
+
`);
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
}, [material]);
|
|
61
|
+
extend({
|
|
62
|
+
CloudMaterial
|
|
63
|
+
});
|
|
64
|
+
const instance = React.useRef(null);
|
|
65
|
+
const clouds = React.useRef([]);
|
|
66
|
+
const opacities = React.useMemo(() => new Float32Array(Array.from({
|
|
67
|
+
length: limit
|
|
68
|
+
}, () => 1)), [limit]);
|
|
69
|
+
const colors = React.useMemo(() => new Float32Array(Array.from({
|
|
70
|
+
length: limit
|
|
71
|
+
}, () => [1, 1, 1]).flat()), [limit]);
|
|
20
72
|
const cloudTexture = useTexture(texture);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
73
|
+
let t = 0;
|
|
74
|
+
let index = 0;
|
|
75
|
+
let config;
|
|
76
|
+
const qat = new Quaternion();
|
|
77
|
+
const dir = new Vector3(0, 0, 1);
|
|
78
|
+
useFrame((state, delta) => {
|
|
79
|
+
t = state.clock.getElapsedTime();
|
|
80
|
+
parentMatrix.copy(instance.current.matrixWorld).invert();
|
|
81
|
+
state.camera.matrixWorld.decompose(cpos, cquat, scale);
|
|
82
|
+
for (index = 0; index < clouds.current.length; index++) {
|
|
83
|
+
config = clouds.current[index];
|
|
84
|
+
config.ref.current.matrixWorld.decompose(translation, rotation, scale);
|
|
85
|
+
translation.add(config.position).applyQuaternion(rotation);
|
|
86
|
+
rotation.copy(cquat).multiply(qat.setFromAxisAngle(dir, config.rotation += delta * config.rotationFactor));
|
|
87
|
+
scale.addScalar(config.volume + (1 + Math.sin(t * config.density * config.speed)) / 2 * config.growth);
|
|
88
|
+
config.matrix.compose(translation, rotation, scale).premultiply(parentMatrix);
|
|
89
|
+
config.dist = translation.distanceTo(cpos);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
// Depth-sort. Instances have no specific draw order, w/o sorting z would be random
|
|
93
|
+
clouds.current.sort((a, b) => b.dist - a.dist);
|
|
94
|
+
for (index = 0; index < clouds.current.length; index++) {
|
|
95
|
+
config = clouds.current[index];
|
|
96
|
+
opacities[index] = config.opacity * (config.dist < config.fade - 1 ? config.dist / config.fade : 1);
|
|
97
|
+
instance.current.setMatrixAt(index, config.matrix);
|
|
98
|
+
instance.current.setColorAt(index, config.color);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// Update instance
|
|
102
|
+
instance.current.geometry.attributes.opacity.needsUpdate = true;
|
|
103
|
+
instance.current.instanceMatrix.needsUpdate = true;
|
|
104
|
+
if (instance.current.instanceColor) instance.current.instanceColor.needsUpdate = true;
|
|
34
105
|
});
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}, /*#__PURE__*/React.createElement("
|
|
106
|
+
React.useLayoutEffect(() => {
|
|
107
|
+
const updateRange = Math.min(limit, range !== undefined ? range : limit, clouds.current.length);
|
|
108
|
+
instance.current.count = updateRange;
|
|
109
|
+
instance.current.instanceMatrix.updateRange.count = updateRange * 16;
|
|
110
|
+
if (instance.current.instanceColor) instance.current.instanceColor.updateRange.count = updateRange * 3;
|
|
111
|
+
instance.current.geometry.attributes.opacity.updateRange.count = updateRange;
|
|
112
|
+
});
|
|
113
|
+
let imageBounds = [(_image$width = cloudTexture.image.width) !== null && _image$width !== void 0 ? _image$width : 1, (_image$height = cloudTexture.image.height) !== null && _image$height !== void 0 ? _image$height : 1];
|
|
114
|
+
let max = Math.max(imageBounds[0], imageBounds[1]);
|
|
115
|
+
imageBounds = [imageBounds[0] / max, imageBounds[1] / max];
|
|
116
|
+
return /*#__PURE__*/React.createElement("group", _extends({
|
|
117
|
+
ref: fref
|
|
118
|
+
}, props), /*#__PURE__*/React.createElement(context.Provider, {
|
|
119
|
+
value: clouds
|
|
120
|
+
}, children, /*#__PURE__*/React.createElement("instancedMesh", {
|
|
121
|
+
matrixAutoUpdate: false,
|
|
122
|
+
ref: instance,
|
|
123
|
+
args: [null, null, limit]
|
|
124
|
+
}, /*#__PURE__*/React.createElement("instancedBufferAttribute", {
|
|
125
|
+
usage: DynamicDrawUsage,
|
|
126
|
+
attach: "instanceColor",
|
|
127
|
+
args: [colors, 3]
|
|
128
|
+
}), /*#__PURE__*/React.createElement("planeGeometry", {
|
|
129
|
+
args: [...imageBounds]
|
|
130
|
+
}, /*#__PURE__*/React.createElement("instancedBufferAttribute", {
|
|
131
|
+
usage: DynamicDrawUsage,
|
|
132
|
+
attach: "attributes-opacity",
|
|
133
|
+
args: [opacities, 1]
|
|
134
|
+
})), /*#__PURE__*/React.createElement("cloudMaterial", {
|
|
135
|
+
key: material.name,
|
|
50
136
|
map: cloudTexture,
|
|
51
137
|
transparent: true,
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
138
|
+
depthWrite: false
|
|
139
|
+
}))));
|
|
140
|
+
});
|
|
141
|
+
const CloudInstance = /*@__PURE__*/React.forwardRef(({
|
|
142
|
+
opacity = 1,
|
|
143
|
+
speed = 0,
|
|
144
|
+
bounds = [5, 1, 1],
|
|
145
|
+
segments = 20,
|
|
146
|
+
color = '#ffffff',
|
|
147
|
+
fade = 10,
|
|
148
|
+
volume = 6,
|
|
149
|
+
growth = 4,
|
|
150
|
+
seed = Math.random(),
|
|
151
|
+
...props
|
|
152
|
+
}, fref) => {
|
|
153
|
+
function random() {
|
|
154
|
+
const x = Math.sin(seed++) * 10000;
|
|
155
|
+
return x - Math.floor(x);
|
|
156
|
+
}
|
|
157
|
+
const parent = React.useContext(context);
|
|
158
|
+
const ref = React.useRef(null);
|
|
159
|
+
const [uuid] = React.useState(() => v4());
|
|
160
|
+
const clouds = React.useMemo(() => {
|
|
161
|
+
return [...new Array(segments)].map((_, index) => ({
|
|
162
|
+
segments,
|
|
163
|
+
bounds: new Vector3(1, 1, 1),
|
|
164
|
+
position: new Vector3(),
|
|
165
|
+
uuid,
|
|
166
|
+
index,
|
|
167
|
+
ref,
|
|
168
|
+
dist: 0,
|
|
169
|
+
matrix: new Matrix4(),
|
|
170
|
+
color: new Color(),
|
|
171
|
+
rotation: index * (Math.PI / segments)
|
|
172
|
+
}));
|
|
173
|
+
}, [segments, uuid]);
|
|
174
|
+
React.useLayoutEffect(() => {
|
|
175
|
+
clouds.forEach((cloud, index) => {
|
|
176
|
+
applyProps(cloud, {
|
|
177
|
+
color,
|
|
178
|
+
speed,
|
|
179
|
+
growth,
|
|
180
|
+
opacity,
|
|
181
|
+
fade,
|
|
182
|
+
bounds,
|
|
183
|
+
density: Math.max(0.5, random()),
|
|
184
|
+
rotationFactor: Math.max(0.2, 0.5 * random()) * speed
|
|
185
|
+
});
|
|
186
|
+
// Only distribute randomly if there are multiple segments
|
|
187
|
+
if (segments > 1) cloud.position.copy(cloud.bounds).multiply({
|
|
188
|
+
x: random() * 2 - 1,
|
|
189
|
+
y: random() * 2 - 1,
|
|
190
|
+
z: random() * 2 - 1
|
|
191
|
+
});
|
|
192
|
+
const xDiff = Math.abs(cloud.position.x);
|
|
193
|
+
const yDiff = Math.abs(cloud.position.y);
|
|
194
|
+
const zDiff = Math.abs(cloud.position.z);
|
|
195
|
+
const max = Math.max(xDiff, yDiff, zDiff);
|
|
196
|
+
cloud.length = 1;
|
|
197
|
+
if (xDiff === max) cloud.length -= xDiff / cloud.bounds.x;
|
|
198
|
+
if (yDiff === max) cloud.length -= yDiff / cloud.bounds.y;
|
|
199
|
+
if (zDiff === max) cloud.length -= zDiff / cloud.bounds.z;
|
|
200
|
+
cloud.volume = Math.max(0.25, cloud.length) * volume;
|
|
201
|
+
});
|
|
202
|
+
}, [bounds, fade, color, opacity, growth, volume, seed, segments, speed]);
|
|
203
|
+
React.useLayoutEffect(() => {
|
|
204
|
+
const temp = clouds;
|
|
205
|
+
parent.current = [...parent.current, ...temp];
|
|
206
|
+
return () => {
|
|
207
|
+
parent.current = parent.current.filter(item => item.uuid !== uuid);
|
|
208
|
+
};
|
|
209
|
+
}, [clouds]);
|
|
210
|
+
React.useImperativeHandle(fref, () => ref.current, []);
|
|
211
|
+
return /*#__PURE__*/React.createElement("group", _extends({
|
|
212
|
+
ref: ref
|
|
213
|
+
}, props));
|
|
214
|
+
});
|
|
215
|
+
const Cloud = /*@__PURE__*/React.forwardRef((props, fref) => {
|
|
216
|
+
const parent = React.useContext(context);
|
|
217
|
+
if (parent) return /*#__PURE__*/React.createElement(CloudInstance, _extends({
|
|
218
|
+
ref: fref
|
|
219
|
+
}, props));else return /*#__PURE__*/React.createElement(Clouds, null, /*#__PURE__*/React.createElement(CloudInstance, _extends({
|
|
220
|
+
ref: fref
|
|
221
|
+
}, props)));
|
|
222
|
+
});
|
|
57
223
|
|
|
58
|
-
export { Cloud };
|
|
224
|
+
export { Cloud, CloudInstance, Clouds };
|
package/core/index.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Billboard.cjs.js"),r=require("./ScreenSpace.cjs.js"),s=require("./QuadraticBezierLine.cjs.js"),t=require("./CubicBezierLine.cjs.js"),o=require("./CatmullRomLine.cjs.js"),i=require("./Line.cjs.js"),a=require("./PositionalAudio.cjs.js"),u=require("./Text.cjs.js"),c=require("./Text3D.cjs.js"),n=require("./Effects.cjs.js"),j=require("./GradientTexture.cjs.js"),p=require("./Image.cjs.js"),x=require("./Edges.cjs.js"),l=require("./Outlines.cjs.js"),q=require("./Trail.cjs.js"),m=require("./Sampler.cjs.js"),d=require("./ComputedAttribute.cjs.js"),h=require("./Clone.cjs.js"),C=require("./MarchingCubes.cjs.js"),M=require("./Decal.cjs.js"),S=require("./Svg.cjs.js"),P=require("./Gltf.cjs.js"),T=require("./AsciiRenderer.cjs.js"),f=require("./OrthographicCamera.cjs.js"),b=require("./PerspectiveCamera.cjs.js"),B=require("./CubeCamera.cjs.js"),g=require("./DeviceOrientationControls.cjs.js"),v=require("./FlyControls.cjs.js"),F=require("./MapControls.cjs.js"),L=require("./OrbitControls.cjs.js"),A=require("./TrackballControls.cjs.js"),k=require("./ArcballControls.cjs.js"),D=require("./TransformControls.cjs.js"),E=require("./PointerLockControls.cjs.js"),G=require("./FirstPersonControls.cjs.js"),R=require("./CameraControls.cjs.js"),w=require("./FaceControls.cjs.js"),z=require("./MotionPathControls.cjs.js"),O=require("./GizmoHelper.cjs.js"),y=require("./GizmoViewcube.cjs.js"),I=require("./GizmoViewport.cjs.js"),H=require("./Grid.cjs.js"),V=require("./useCubeTexture.cjs.js"),W=require("./useFBX.cjs.js"),Q=require("./useGLTF.cjs.js"),X=require("./useKTX2.cjs.js"),K=require("./useProgress.cjs.js"),N=require("./useTexture.cjs.js"),U=require("./useVideoTexture.cjs.js"),_=require("./useFont.cjs.js"),J=require("./Stats.cjs.js"),Y=require("./StatsGl.cjs.js"),Z=require("./useDepthBuffer.cjs.js"),$=require("./useAspect.cjs.js"),ee=require("./useCamera.cjs.js"),re=require("./useDetectGPU.cjs.js"),se=require("./useHelper.cjs.js"),te=require("./useBVH.cjs.js"),oe=require("./useContextBridge.cjs.js"),ie=require("./useAnimations.cjs.js"),ae=require("./useFBO.cjs.js"),ue=require("./useIntersect.cjs.js"),ce=require("./useBoxProjectedEnv.cjs.js"),ne=require("./BBAnchor.cjs.js"),je=require("./useTrailTexture.cjs.js"),pe=require("./useCubeCamera.cjs.js"),xe=require("./Example.cjs.js"),le=require("./SpriteAnimator.cjs.js"),qe=require("./FaceLandmarker.cjs.js"),me=require("./CurveModifier.cjs.js"),de=require("./MeshDistortMaterial.cjs.js"),he=require("./MeshWobbleMaterial.cjs.js"),Ce=require("./MeshReflectorMaterial.cjs.js"),Me=require("./MeshRefractionMaterial.cjs.js"),Se=require("./MeshTransmissionMaterial.cjs.js"),Pe=require("./MeshDiscardMaterial.cjs.js"),Te=require("./PointMaterial.cjs.js"),fe=require("./shaderMaterial.cjs.js"),be=require("./softShadows.cjs.js"),Be=require("./shapes.cjs.js"),ge=require("./Facemesh.cjs.js"),ve=require("./RoundedBox.cjs.js"),Fe=require("./ScreenQuad.cjs.js"),Le=require("./Center.cjs.js"),Ae=require("./Resize.cjs.js"),ke=require("./Bounds.cjs.js"),De=require("./CameraShake.cjs.js"),Ee=require("./Float.cjs.js"),Ge=require("./Stage.cjs.js"),Re=require("./Backdrop.cjs.js"),we=require("./Shadow.cjs.js"),ze=require("./Caustics.cjs.js"),Oe=require("./ContactShadows.cjs.js"),ye=require("./AccumulativeShadows.cjs.js"),Ie=require("./Reflector.cjs.js"),He=require("./SpotLight.cjs.js"),Ve=require("./Environment.cjs.js"),We=require("./Lightformer.cjs.js"),Qe=require("./Sky.cjs.js"),Xe=require("./Stars.cjs.js"),Ke=require("./Cloud.cjs.js"),Ne=require("./Sparkles.cjs.js"),Ue=require("./useEnvironment.cjs.js"),_e=require("./useMatcapTexture.cjs.js"),Je=require("./useNormalTexture.cjs.js"),Ye=require("./Wireframe.cjs.js"),Ze=require("./Points.cjs.js"),$e=require("./Instances.cjs.js"),er=require("./Segments.cjs.js"),rr=require("./Detailed.cjs.js"),sr=require("./Preload.cjs.js"),tr=require("./BakeShadows.cjs.js"),or=require("./meshBounds.cjs.js"),ir=require("./AdaptiveDpr.cjs.js"),ar=require("./AdaptiveEvents.cjs.js"),ur=require("./PerformanceMonitor.cjs.js"),cr=require("./RenderTexture.cjs.js"),nr=require("./Mask.cjs.js"),jr=require("./Hud.cjs.js"),pr=require("./MeshPortalMaterial.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("@react-three/fiber"),require("react-merge-refs"),require("three"),require("three-stdlib"),require("troika-three-text"),require("suspend-react"),require("../helpers/constants.cjs.js"),require("meshline"),require("lodash.pick"),require("lodash.omit"),require("camera-controls"),require("maath"),require("@mediapipe/tasks-vision"),require("zustand"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("stats-gl"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("../materials/WireframeMaterial.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.ScreenSpace=r.ScreenSpace,exports.QuadraticBezierLine=s.QuadraticBezierLine,exports.CubicBezierLine=t.CubicBezierLine,exports.CatmullRomLine=o.CatmullRomLine,exports.Line=i.Line,exports.PositionalAudio=a.PositionalAudio,exports.Text=u.Text,exports.Text3D=c.Text3D,exports.Effects=n.Effects,exports.isWebGL2Available=n.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.GradientType=j.GradientType,exports.Image=p.Image,exports.Edges=x.Edges,exports.Outlines=l.Outlines,exports.Trail=q.Trail,exports.useTrail=q.useTrail,exports.Sampler=m.Sampler,exports.useSurfaceSampler=m.useSurfaceSampler,exports.ComputedAttribute=d.ComputedAttribute,exports.Clone=h.Clone,exports.MarchingCube=C.MarchingCube,exports.MarchingCubes=C.MarchingCubes,exports.MarchingPlane=C.MarchingPlane,exports.Decal=M.Decal,exports.Svg=S.Svg,exports.Gltf=P.Gltf,exports.AsciiRenderer=T.AsciiRenderer,exports.OrthographicCamera=f.OrthographicCamera,exports.PerspectiveCamera=b.PerspectiveCamera,exports.CubeCamera=B.CubeCamera,exports.DeviceOrientationControls=g.DeviceOrientationControls,exports.FlyControls=v.FlyControls,exports.MapControls=F.MapControls,exports.OrbitControls=L.OrbitControls,exports.TrackballControls=A.TrackballControls,exports.ArcballControls=k.ArcballControls,exports.TransformControls=D.TransformControls,exports.PointerLockControls=E.PointerLockControls,exports.FirstPersonControls=G.FirstPersonControls,exports.CameraControls=R.CameraControls,exports.FaceControls=w.FaceControls,exports.useFaceControls=w.useFaceControls,exports.MotionPathControls=z.MotionPathControls,exports.useMotion=z.useMotion,exports.GizmoHelper=O.GizmoHelper,exports.useGizmoContext=O.useGizmoContext,exports.GizmoViewcube=y.GizmoViewcube,exports.GizmoViewport=I.GizmoViewport,exports.Grid=H.Grid,exports.useCubeTexture=V.useCubeTexture,exports.useFBX=W.useFBX,exports.useGLTF=Q.useGLTF,exports.useKTX2=X.useKTX2,exports.useProgress=K.useProgress,exports.IsObject=N.IsObject,exports.useTexture=N.useTexture,exports.useVideoTexture=U.useVideoTexture,exports.useFont=_.useFont,exports.Stats=J.Stats,exports.StatsGl=Y.StatsGl,exports.useDepthBuffer=Z.useDepthBuffer,exports.useAspect=$.useAspect,exports.useCamera=ee.useCamera,exports.useDetectGPU=re.useDetectGPU,exports.useHelper=se.useHelper,exports.Bvh=te.Bvh,exports.useBVH=te.useBVH,exports.useContextBridge=oe.useContextBridge,exports.useAnimations=ie.useAnimations,exports.useFBO=ae.useFBO,exports.useIntersect=ue.useIntersect,exports.useBoxProjectedEnv=ce.useBoxProjectedEnv,exports.BBAnchor=ne.BBAnchor,exports.useTrailTexture=je.useTrailTexture,exports.useCubeCamera=pe.useCubeCamera,exports.Example=xe.Example,exports.SpriteAnimator=le.SpriteAnimator,exports.FaceLandmarker=qe.FaceLandmarker,exports.FaceLandmarkerDefaults=qe.FaceLandmarkerDefaults,exports.useFaceLandmarker=qe.useFaceLandmarker,exports.CurveModifier=me.CurveModifier,exports.MeshDistortMaterial=de.MeshDistortMaterial,exports.MeshWobbleMaterial=he.MeshWobbleMaterial,exports.MeshReflectorMaterial=Ce.MeshReflectorMaterial,exports.MeshRefractionMaterial=Me.MeshRefractionMaterial,exports.MeshTransmissionMaterial=Se.MeshTransmissionMaterial,exports.MeshDiscardMaterial=Pe.MeshDiscardMaterial,exports.PointMaterial=Te.PointMaterial,exports.PointMaterialImpl=Te.PointMaterialImpl,exports.shaderMaterial=fe.shaderMaterial,exports.SoftShadows=be.SoftShadows,exports.Box=Be.Box,exports.Capsule=Be.Capsule,exports.Circle=Be.Circle,exports.Cone=Be.Cone,exports.Cylinder=Be.Cylinder,exports.Dodecahedron=Be.Dodecahedron,exports.Extrude=Be.Extrude,exports.Icosahedron=Be.Icosahedron,exports.Lathe=Be.Lathe,exports.Octahedron=Be.Octahedron,exports.Plane=Be.Plane,exports.Polyhedron=Be.Polyhedron,exports.Ring=Be.Ring,exports.Shape=Be.Shape,exports.Sphere=Be.Sphere,exports.Tetrahedron=Be.Tetrahedron,exports.Torus=Be.Torus,exports.TorusKnot=Be.TorusKnot,exports.Tube=Be.Tube,exports.Facemesh=ge.Facemesh,exports.FacemeshDatas=ge.FacemeshDatas,exports.FacemeshEye=ge.FacemeshEye,exports.FacemeshEyeDefaults=ge.FacemeshEyeDefaults,exports.RoundedBox=ve.RoundedBox,exports.ScreenQuad=Fe.ScreenQuad,exports.Center=Le.Center,exports.Resize=Ae.Resize,exports.Bounds=ke.Bounds,exports.useBounds=ke.useBounds,exports.CameraShake=De.CameraShake,exports.Float=Ee.Float,exports.Stage=Ge.Stage,exports.Backdrop=Re.Backdrop,exports.Shadow=we.Shadow,exports.Caustics=ze.Caustics,exports.ContactShadows=Oe.ContactShadows,exports.AccumulativeShadows=ye.AccumulativeShadows,exports.RandomizedLight=ye.RandomizedLight,exports.accumulativeContext=ye.accumulativeContext,exports.Reflector=Ie.Reflector,exports.SpotLight=He.SpotLight,exports.SpotLightShadow=He.SpotLightShadow,exports.Environment=Ve.Environment,exports.EnvironmentCube=Ve.EnvironmentCube,exports.EnvironmentMap=Ve.EnvironmentMap,exports.EnvironmentPortal=Ve.EnvironmentPortal,exports.Lightformer=We.Lightformer,exports.Sky=Qe.Sky,exports.calcPosFromAngles=Qe.calcPosFromAngles,exports.Stars=Xe.Stars,exports.Cloud=Ke.Cloud,exports.Sparkles=Ne.Sparkles,exports.useEnvironment=Ue.useEnvironment,exports.useMatcapTexture=_e.useMatcapTexture,exports.useNormalTexture=Je.useNormalTexture,exports.Wireframe=Ye.Wireframe,exports.Point=Ze.Point,exports.Points=Ze.Points,exports.PointsBuffer=Ze.PointsBuffer,exports.PositionPoint=Ze.PositionPoint,exports.Instance=$e.Instance,exports.Instances=$e.Instances,exports.Merged=$e.Merged,exports.Segment=er.Segment,exports.SegmentObject=er.SegmentObject,exports.Segments=er.Segments,exports.Detailed=rr.Detailed,exports.Preload=sr.Preload,exports.BakeShadows=tr.BakeShadows,exports.meshBounds=or.meshBounds,exports.AdaptiveDpr=ir.AdaptiveDpr,exports.AdaptiveEvents=ar.AdaptiveEvents,exports.PerformanceMonitor=ur.PerformanceMonitor,exports.usePerformanceMonitor=ur.usePerformanceMonitor,exports.RenderTexture=cr.RenderTexture,exports.Mask=nr.Mask,exports.useMask=nr.useMask,exports.Hud=jr.Hud,exports.MeshPortalMaterial=pr.MeshPortalMaterial;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./Billboard.cjs.js"),r=require("./ScreenSpace.cjs.js"),s=require("./QuadraticBezierLine.cjs.js"),t=require("./CubicBezierLine.cjs.js"),o=require("./CatmullRomLine.cjs.js"),i=require("./Line.cjs.js"),a=require("./PositionalAudio.cjs.js"),u=require("./Text.cjs.js"),c=require("./Text3D.cjs.js"),n=require("./Effects.cjs.js"),j=require("./GradientTexture.cjs.js"),p=require("./Image.cjs.js"),l=require("./Edges.cjs.js"),x=require("./Outlines.cjs.js"),q=require("./Trail.cjs.js"),d=require("./Sampler.cjs.js"),m=require("./ComputedAttribute.cjs.js"),h=require("./Clone.cjs.js"),C=require("./MarchingCubes.cjs.js"),M=require("./Decal.cjs.js"),S=require("./Svg.cjs.js"),P=require("./Gltf.cjs.js"),T=require("./AsciiRenderer.cjs.js"),f=require("./OrthographicCamera.cjs.js"),b=require("./PerspectiveCamera.cjs.js"),B=require("./CubeCamera.cjs.js"),g=require("./DeviceOrientationControls.cjs.js"),v=require("./FlyControls.cjs.js"),F=require("./MapControls.cjs.js"),L=require("./OrbitControls.cjs.js"),A=require("./TrackballControls.cjs.js"),k=require("./ArcballControls.cjs.js"),D=require("./TransformControls.cjs.js"),E=require("./PointerLockControls.cjs.js"),G=require("./FirstPersonControls.cjs.js"),R=require("./CameraControls.cjs.js"),w=require("./FaceControls.cjs.js"),z=require("./MotionPathControls.cjs.js"),O=require("./GizmoHelper.cjs.js"),I=require("./GizmoViewcube.cjs.js"),y=require("./GizmoViewport.cjs.js"),H=require("./Grid.cjs.js"),V=require("./useCubeTexture.cjs.js"),W=require("./useFBX.cjs.js"),Q=require("./useGLTF.cjs.js"),X=require("./useKTX2.cjs.js"),K=require("./useProgress.cjs.js"),N=require("./useTexture.cjs.js"),U=require("./useVideoTexture.cjs.js"),_=require("./useFont.cjs.js"),J=require("./Stats.cjs.js"),Y=require("./StatsGl.cjs.js"),Z=require("./useDepthBuffer.cjs.js"),$=require("./useAspect.cjs.js"),ee=require("./useCamera.cjs.js"),re=require("./useDetectGPU.cjs.js"),se=require("./useHelper.cjs.js"),te=require("./useBVH.cjs.js"),oe=require("./useContextBridge.cjs.js"),ie=require("./useAnimations.cjs.js"),ae=require("./useFBO.cjs.js"),ue=require("./useIntersect.cjs.js"),ce=require("./useBoxProjectedEnv.cjs.js"),ne=require("./BBAnchor.cjs.js"),je=require("./useTrailTexture.cjs.js"),pe=require("./useCubeCamera.cjs.js"),le=require("./Example.cjs.js"),xe=require("./SpriteAnimator.cjs.js"),qe=require("./FaceLandmarker.cjs.js"),de=require("./CurveModifier.cjs.js"),me=require("./MeshDistortMaterial.cjs.js"),he=require("./MeshWobbleMaterial.cjs.js"),Ce=require("./MeshReflectorMaterial.cjs.js"),Me=require("./MeshRefractionMaterial.cjs.js"),Se=require("./MeshTransmissionMaterial.cjs.js"),Pe=require("./MeshDiscardMaterial.cjs.js"),Te=require("./PointMaterial.cjs.js"),fe=require("./shaderMaterial.cjs.js"),be=require("./softShadows.cjs.js"),Be=require("./shapes.cjs.js"),ge=require("./Facemesh.cjs.js"),ve=require("./RoundedBox.cjs.js"),Fe=require("./ScreenQuad.cjs.js"),Le=require("./Center.cjs.js"),Ae=require("./Resize.cjs.js"),ke=require("./Bounds.cjs.js"),De=require("./CameraShake.cjs.js"),Ee=require("./Float.cjs.js"),Ge=require("./Stage.cjs.js"),Re=require("./Backdrop.cjs.js"),we=require("./Shadow.cjs.js"),ze=require("./Caustics.cjs.js"),Oe=require("./ContactShadows.cjs.js"),Ie=require("./AccumulativeShadows.cjs.js"),ye=require("./Reflector.cjs.js"),He=require("./SpotLight.cjs.js"),Ve=require("./Environment.cjs.js"),We=require("./Lightformer.cjs.js"),Qe=require("./Sky.cjs.js"),Xe=require("./Stars.cjs.js"),Ke=require("./Cloud.cjs.js"),Ne=require("./Sparkles.cjs.js"),Ue=require("./useEnvironment.cjs.js"),_e=require("./useMatcapTexture.cjs.js"),Je=require("./useNormalTexture.cjs.js"),Ye=require("./Wireframe.cjs.js"),Ze=require("./Points.cjs.js"),$e=require("./Instances.cjs.js"),er=require("./Segments.cjs.js"),rr=require("./Detailed.cjs.js"),sr=require("./Preload.cjs.js"),tr=require("./BakeShadows.cjs.js"),or=require("./meshBounds.cjs.js"),ir=require("./AdaptiveDpr.cjs.js"),ar=require("./AdaptiveEvents.cjs.js"),ur=require("./PerformanceMonitor.cjs.js"),cr=require("./RenderTexture.cjs.js"),nr=require("./Mask.cjs.js"),jr=require("./Hud.cjs.js"),pr=require("./MeshPortalMaterial.cjs.js");require("@babel/runtime/helpers/extends"),require("react"),require("@react-three/fiber"),require("react-merge-refs"),require("three"),require("three-stdlib"),require("troika-three-text"),require("suspend-react"),require("../helpers/constants.cjs.js"),require("meshline"),require("lodash.pick"),require("lodash.omit"),require("camera-controls"),require("maath"),require("@mediapipe/tasks-vision"),require("zustand"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("stats-gl"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../materials/DiscardMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.cjs.js"),require("uuid"),require("../materials/WireframeMaterial.cjs.js"),require("react-composer"),exports.Billboard=e.Billboard,exports.ScreenSpace=r.ScreenSpace,exports.QuadraticBezierLine=s.QuadraticBezierLine,exports.CubicBezierLine=t.CubicBezierLine,exports.CatmullRomLine=o.CatmullRomLine,exports.Line=i.Line,exports.PositionalAudio=a.PositionalAudio,exports.Text=u.Text,exports.Text3D=c.Text3D,exports.Effects=n.Effects,exports.isWebGL2Available=n.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.GradientType=j.GradientType,exports.Image=p.Image,exports.Edges=l.Edges,exports.Outlines=x.Outlines,exports.Trail=q.Trail,exports.useTrail=q.useTrail,exports.Sampler=d.Sampler,exports.useSurfaceSampler=d.useSurfaceSampler,exports.ComputedAttribute=m.ComputedAttribute,exports.Clone=h.Clone,exports.MarchingCube=C.MarchingCube,exports.MarchingCubes=C.MarchingCubes,exports.MarchingPlane=C.MarchingPlane,exports.Decal=M.Decal,exports.Svg=S.Svg,exports.Gltf=P.Gltf,exports.AsciiRenderer=T.AsciiRenderer,exports.OrthographicCamera=f.OrthographicCamera,exports.PerspectiveCamera=b.PerspectiveCamera,exports.CubeCamera=B.CubeCamera,exports.DeviceOrientationControls=g.DeviceOrientationControls,exports.FlyControls=v.FlyControls,exports.MapControls=F.MapControls,exports.OrbitControls=L.OrbitControls,exports.TrackballControls=A.TrackballControls,exports.ArcballControls=k.ArcballControls,exports.TransformControls=D.TransformControls,exports.PointerLockControls=E.PointerLockControls,exports.FirstPersonControls=G.FirstPersonControls,exports.CameraControls=R.CameraControls,exports.FaceControls=w.FaceControls,exports.useFaceControls=w.useFaceControls,exports.MotionPathControls=z.MotionPathControls,exports.useMotion=z.useMotion,exports.GizmoHelper=O.GizmoHelper,exports.useGizmoContext=O.useGizmoContext,exports.GizmoViewcube=I.GizmoViewcube,exports.GizmoViewport=y.GizmoViewport,exports.Grid=H.Grid,exports.useCubeTexture=V.useCubeTexture,exports.useFBX=W.useFBX,exports.useGLTF=Q.useGLTF,exports.useKTX2=X.useKTX2,exports.useProgress=K.useProgress,exports.IsObject=N.IsObject,exports.useTexture=N.useTexture,exports.useVideoTexture=U.useVideoTexture,exports.useFont=_.useFont,exports.Stats=J.Stats,exports.StatsGl=Y.StatsGl,exports.useDepthBuffer=Z.useDepthBuffer,exports.useAspect=$.useAspect,exports.useCamera=ee.useCamera,exports.useDetectGPU=re.useDetectGPU,exports.useHelper=se.useHelper,exports.Bvh=te.Bvh,exports.useBVH=te.useBVH,exports.useContextBridge=oe.useContextBridge,exports.useAnimations=ie.useAnimations,exports.useFBO=ae.useFBO,exports.useIntersect=ue.useIntersect,exports.useBoxProjectedEnv=ce.useBoxProjectedEnv,exports.BBAnchor=ne.BBAnchor,exports.useTrailTexture=je.useTrailTexture,exports.useCubeCamera=pe.useCubeCamera,exports.Example=le.Example,exports.SpriteAnimator=xe.SpriteAnimator,exports.FaceLandmarker=qe.FaceLandmarker,exports.FaceLandmarkerDefaults=qe.FaceLandmarkerDefaults,exports.useFaceLandmarker=qe.useFaceLandmarker,exports.CurveModifier=de.CurveModifier,exports.MeshDistortMaterial=me.MeshDistortMaterial,exports.MeshWobbleMaterial=he.MeshWobbleMaterial,exports.MeshReflectorMaterial=Ce.MeshReflectorMaterial,exports.MeshRefractionMaterial=Me.MeshRefractionMaterial,exports.MeshTransmissionMaterial=Se.MeshTransmissionMaterial,exports.MeshDiscardMaterial=Pe.MeshDiscardMaterial,exports.PointMaterial=Te.PointMaterial,exports.PointMaterialImpl=Te.PointMaterialImpl,exports.shaderMaterial=fe.shaderMaterial,exports.SoftShadows=be.SoftShadows,exports.Box=Be.Box,exports.Capsule=Be.Capsule,exports.Circle=Be.Circle,exports.Cone=Be.Cone,exports.Cylinder=Be.Cylinder,exports.Dodecahedron=Be.Dodecahedron,exports.Extrude=Be.Extrude,exports.Icosahedron=Be.Icosahedron,exports.Lathe=Be.Lathe,exports.Octahedron=Be.Octahedron,exports.Plane=Be.Plane,exports.Polyhedron=Be.Polyhedron,exports.Ring=Be.Ring,exports.Shape=Be.Shape,exports.Sphere=Be.Sphere,exports.Tetrahedron=Be.Tetrahedron,exports.Torus=Be.Torus,exports.TorusKnot=Be.TorusKnot,exports.Tube=Be.Tube,exports.Facemesh=ge.Facemesh,exports.FacemeshDatas=ge.FacemeshDatas,exports.FacemeshEye=ge.FacemeshEye,exports.FacemeshEyeDefaults=ge.FacemeshEyeDefaults,exports.RoundedBox=ve.RoundedBox,exports.ScreenQuad=Fe.ScreenQuad,exports.Center=Le.Center,exports.Resize=Ae.Resize,exports.Bounds=ke.Bounds,exports.useBounds=ke.useBounds,exports.CameraShake=De.CameraShake,exports.Float=Ee.Float,exports.Stage=Ge.Stage,exports.Backdrop=Re.Backdrop,exports.Shadow=we.Shadow,exports.Caustics=ze.Caustics,exports.ContactShadows=Oe.ContactShadows,exports.AccumulativeShadows=Ie.AccumulativeShadows,exports.RandomizedLight=Ie.RandomizedLight,exports.accumulativeContext=Ie.accumulativeContext,exports.Reflector=ye.Reflector,exports.SpotLight=He.SpotLight,exports.SpotLightShadow=He.SpotLightShadow,exports.Environment=Ve.Environment,exports.EnvironmentCube=Ve.EnvironmentCube,exports.EnvironmentMap=Ve.EnvironmentMap,exports.EnvironmentPortal=Ve.EnvironmentPortal,exports.Lightformer=We.Lightformer,exports.Sky=Qe.Sky,exports.calcPosFromAngles=Qe.calcPosFromAngles,exports.Stars=Xe.Stars,exports.Cloud=Ke.Cloud,exports.CloudInstance=Ke.CloudInstance,exports.Clouds=Ke.Clouds,exports.Sparkles=Ne.Sparkles,exports.useEnvironment=Ue.useEnvironment,exports.useMatcapTexture=_e.useMatcapTexture,exports.useNormalTexture=Je.useNormalTexture,exports.Wireframe=Ye.Wireframe,exports.Point=Ze.Point,exports.Points=Ze.Points,exports.PointsBuffer=Ze.PointsBuffer,exports.PositionPoint=Ze.PositionPoint,exports.Instance=$e.Instance,exports.Instances=$e.Instances,exports.Merged=$e.Merged,exports.Segment=er.Segment,exports.SegmentObject=er.SegmentObject,exports.Segments=er.Segments,exports.Detailed=rr.Detailed,exports.Preload=sr.Preload,exports.BakeShadows=tr.BakeShadows,exports.meshBounds=or.meshBounds,exports.AdaptiveDpr=ir.AdaptiveDpr,exports.AdaptiveEvents=ar.AdaptiveEvents,exports.PerformanceMonitor=ur.PerformanceMonitor,exports.usePerformanceMonitor=ur.usePerformanceMonitor,exports.RenderTexture=cr.RenderTexture,exports.Mask=nr.Mask,exports.useMask=nr.useMask,exports.Hud=jr.Hud,exports.MeshPortalMaterial=pr.MeshPortalMaterial;
|
package/core/index.js
CHANGED
|
@@ -98,7 +98,7 @@ export { Environment, EnvironmentCube, EnvironmentMap, EnvironmentPortal } from
|
|
|
98
98
|
export { Lightformer } from './Lightformer.js';
|
|
99
99
|
export { Sky, calcPosFromAngles } from './Sky.js';
|
|
100
100
|
export { Stars } from './Stars.js';
|
|
101
|
-
export { Cloud } from './Cloud.js';
|
|
101
|
+
export { Cloud, CloudInstance, Clouds } from './Cloud.js';
|
|
102
102
|
export { Sparkles } from './Sparkles.js';
|
|
103
103
|
export { useEnvironment } from './useEnvironment.js';
|
|
104
104
|
export { useMatcapTexture } from './useMatcapTexture.js';
|
|
@@ -145,5 +145,6 @@ import '../materials/MeshRefractionMaterial.js';
|
|
|
145
145
|
import '../materials/DiscardMaterial.js';
|
|
146
146
|
import '../helpers/environment-assets.js';
|
|
147
147
|
import '../materials/SpotLightMaterial.js';
|
|
148
|
+
import 'uuid';
|
|
148
149
|
import '../materials/WireframeMaterial.js';
|
|
149
150
|
import 'react-composer';
|