@react-three/drei 9.46.6 → 9.47.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 +45 -0
- package/core/Grid.cjs.js +1 -0
- package/core/Grid.d.ts +27 -0
- package/core/Grid.js +97 -0
- package/core/index.cjs.js +1 -1
- package/core/index.d.ts +1 -0
- package/core/index.js +1 -0
- package/core/useAnimations.cjs.js +1 -1
- package/core/useAnimations.js +5 -0
- package/index.cjs.js +1 -1
- package/index.js +1 -0
- package/materials/MeshRefractionMaterial.cjs.js +1 -1
- package/materials/MeshRefractionMaterial.js +3 -3
- package/native/index.cjs.js +1 -1
- package/native/index.js +1 -0
- package/package.json +1 -1
- package/web/index.cjs.js +1 -1
- package/web/index.js +1 -0
package/README.md
CHANGED
|
@@ -56,6 +56,7 @@ The `native` route of the library **does not** export `Html` or `Loader`. The de
|
|
|
56
56
|
<li><a href="#gizmohelper">GizmoHelper</a></li>
|
|
57
57
|
<li><a href="#pivotcontrols">PivotControls</a></li>
|
|
58
58
|
<li><a href="#transformcontrols">TransformControls</a></li>
|
|
59
|
+
<li><a href="#grid">Grid</a></li>
|
|
59
60
|
<li><a href="#usehelper">useHelper</a></li>
|
|
60
61
|
</ul>
|
|
61
62
|
<li><a href="#abstractions">Abstractions</a></li>
|
|
@@ -647,6 +648,50 @@ If you are using other controls (Orbit, Trackball, etc), you will notice how the
|
|
|
647
648
|
<OrbitControls makeDefault />
|
|
648
649
|
```
|
|
649
650
|
|
|
651
|
+
#### Grid
|
|
652
|
+
|
|
653
|
+
[](https://drei.vercel.app/?path=/story/gizmos-grid--use-grid-scene-st)
|
|
654
|
+
|
|
655
|
+
<p>
|
|
656
|
+
<a href="https://codesandbox.io/s/imreeu"><img width="20%" src="https://codesandbox.io/api/v1/sandboxes/imreeu/screenshot.png" alt="Demo"/></a>
|
|
657
|
+
</p>
|
|
658
|
+
|
|
659
|
+
A y-up oriented, shader-based grid implementation.
|
|
660
|
+
|
|
661
|
+
```tsx
|
|
662
|
+
export type GridMaterialType = {
|
|
663
|
+
/** Cell size, default: 0.5 */
|
|
664
|
+
cellSize?: number
|
|
665
|
+
/** Cell thickness, default: 0.5 */
|
|
666
|
+
cellThickness?: number
|
|
667
|
+
/** Cell color, default: black */
|
|
668
|
+
cellColor?: THREE.ColorRepresentation
|
|
669
|
+
/** Section size, default: 1 */
|
|
670
|
+
sectionSize?: number
|
|
671
|
+
/** Section thickness, default: 1 */
|
|
672
|
+
sectionThickness?: number
|
|
673
|
+
/** Section color, default: #2080ff */
|
|
674
|
+
sectionColor?: THREE.ColorRepresentation
|
|
675
|
+
/** Follow camera, default: false */
|
|
676
|
+
followCamera?: boolean
|
|
677
|
+
/** Display the grid infinitely, default: false */
|
|
678
|
+
infiniteGrid?: boolean
|
|
679
|
+
/** Fade distance, default: 100 */
|
|
680
|
+
fadeDistance?: number
|
|
681
|
+
/** Fade strength, default: 1 */
|
|
682
|
+
fadeStrength?: number
|
|
683
|
+
}
|
|
684
|
+
|
|
685
|
+
export type GridProps = GridMaterialType & {
|
|
686
|
+
/** Default plane-geometry arguments */
|
|
687
|
+
args?: ConstructorParameters<typeof THREE.PlaneGeometry>
|
|
688
|
+
}
|
|
689
|
+
```
|
|
690
|
+
|
|
691
|
+
```jsx
|
|
692
|
+
<Grid />
|
|
693
|
+
```
|
|
694
|
+
|
|
650
695
|
#### useHelper
|
|
651
696
|
|
|
652
697
|
[](https://drei.vercel.app/?path=/story/misc-usehelper--default-story)
|
package/core/Grid.cjs.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),n=require("react"),i=require("three"),o=require("@react-three/fiber"),r=require("./shaderMaterial.cjs.js");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function l(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(i){if("default"!==i){var o=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(n,i,o.get?o:{enumerable:!0,get:function(){return e[i]}})}})),n.default=e,Object.freeze(n)}var a=t(e),c=l(n),s=l(i);const f=r.shaderMaterial({cellSize:.5,sectionSize:1,fadeDistance:100,fadeStrength:1,cellThickness:.5,sectionThickness:1,cellColor:new s.Color,sectionColor:new s.Color,infiniteGrid:0,followCamera:0},"varying vec3 worldPosition;\n uniform float fadeDistance;\n uniform float infiniteGrid;\n uniform float followCamera;\n void main() {\n vec3 pos = position.xzy * (1. + fadeDistance * infiniteGrid);\n pos.xz += (cameraPosition.xz * followCamera);\n worldPosition = pos;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(pos, 1.0);\n }","varying vec3 worldPosition;\n uniform float cellSize;\n uniform float sectionSize;\n uniform vec3 cellColor;\n uniform vec3 sectionColor;\n uniform float fadeDistance;\n uniform float fadeStrength;\n uniform float cellThickness;\n uniform float sectionThickness;\n uniform float infiniteGrid;\n float getGrid(float size, float thickness) {\n vec2 r = worldPosition.xz / size;\n vec2 grid = abs(fract(r - 0.5) - 0.5) / fwidth(r);\n float line = min(grid.x, grid.y) + 1. - thickness;\n return 1.0 - min(line, 1.);\n }\n void main() {\n float g1 = getGrid(cellSize, cellThickness);\n float g2 = getGrid(sectionSize, sectionThickness);\n float d = 1.0 - min(distance(cameraPosition.xz, worldPosition.xz) / fadeDistance, 1.);\n vec3 color = mix(cellColor, sectionColor, min(1.,sectionThickness * g2));\n gl_FragColor = vec4(color, (g1 + g2) * pow(d,fadeStrength));\n gl_FragColor.a = mix(0.75 * gl_FragColor.a, gl_FragColor.a, g2);\n if (gl_FragColor.a <= 0.0) discard;\n #include <tonemapping_fragment>\n #include <encodings_fragment>\n }"),d=c.forwardRef((({args:e,cellColor:n="#000000",sectionColor:i="#2080ff",cellSize:r=.5,sectionSize:t=1,followCamera:l=!1,infiniteGrid:s=!1,fadeDistance:d=100,fadeStrength:u=1,cellThickness:g=.5,sectionThickness:m=1,...h},C)=>{o.extend({GridMaterial:f});const v={cellSize:r,sectionSize:t,cellColor:n,sectionColor:i,cellThickness:g,sectionThickness:m},p={fadeDistance:d,fadeStrength:u,infiniteGrid:s,followCamera:l};return c.createElement("mesh",a.default({ref:C,"rotation-x":Math.PI,frustumCulled:!1},h),c.createElement("gridMaterial",a.default({transparent:!0,"extensions-derivatives":!0},v,p)),c.createElement("planeGeometry",{args:e}))}));exports.Grid=d;
|
package/core/Grid.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as THREE from 'three';
|
|
3
|
+
export declare type GridMaterialType = {
|
|
4
|
+
cellSize?: number;
|
|
5
|
+
cellThickness?: number;
|
|
6
|
+
cellColor?: THREE.ColorRepresentation;
|
|
7
|
+
sectionSize?: number;
|
|
8
|
+
sectionThickness?: number;
|
|
9
|
+
sectionColor?: THREE.ColorRepresentation;
|
|
10
|
+
followCamera?: boolean;
|
|
11
|
+
infiniteGrid?: boolean;
|
|
12
|
+
fadeDistance?: number;
|
|
13
|
+
fadeStrength?: number;
|
|
14
|
+
};
|
|
15
|
+
export declare type GridProps = GridMaterialType & {
|
|
16
|
+
args?: ConstructorParameters<typeof THREE.PlaneGeometry>;
|
|
17
|
+
};
|
|
18
|
+
declare global {
|
|
19
|
+
namespace JSX {
|
|
20
|
+
interface IntrinsicElements {
|
|
21
|
+
gridMaterial: JSX.IntrinsicElements['shaderMaterial'] & GridMaterialType;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export declare const Grid: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").MeshProps, "args"> & GridMaterialType & {
|
|
26
|
+
args?: [width?: number | undefined, height?: number | undefined, widthSegments?: number | undefined, heightSegments?: number | undefined] | undefined;
|
|
27
|
+
}, "visible" | "attach" | "args" | "children" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldNeedsUpdate" | "castShadow" | "receiveShadow" | "frustumCulled" | "renderOrder" | "animations" | "userData" | "customDepthMaterial" | "customDistanceMaterial" | "isObject3D" | "onBeforeRender" | "onAfterRender" | "applyMatrix4" | "applyQuaternion" | "setRotationFromAxisAngle" | "setRotationFromEuler" | "setRotationFromMatrix" | "setRotationFromQuaternion" | "rotateOnAxis" | "rotateOnWorldAxis" | "rotateX" | "rotateY" | "rotateZ" | "translateOnAxis" | "translateX" | "translateY" | "translateZ" | "localToWorld" | "worldToLocal" | "lookAt" | "add" | "remove" | "removeFromParent" | "clear" | "getObjectById" | "getObjectByName" | "getObjectByProperty" | "getWorldPosition" | "getWorldQuaternion" | "getWorldScale" | "getWorldDirection" | "raycast" | "traverse" | "traverseVisible" | "traverseAncestors" | "updateMatrix" | "updateMatrixWorld" | "updateWorldMatrix" | "toJSON" | "clone" | "copy" | "addEventListener" | "hasEventListener" | "removeEventListener" | "dispatchEvent" | keyof import("@react-three/fiber/dist/declarations/src/core/events").EventHandlers | "material" | "geometry" | "morphTargetInfluences" | "morphTargetDictionary" | "isMesh" | "updateMorphTargets" | keyof GridMaterialType> & React.RefAttributes<THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>>>;
|
package/core/Grid.js
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import * as THREE from 'three';
|
|
4
|
+
import { extend } from '@react-three/fiber';
|
|
5
|
+
import { shaderMaterial } from './shaderMaterial.js';
|
|
6
|
+
|
|
7
|
+
const GridMaterial = shaderMaterial({
|
|
8
|
+
cellSize: 0.5,
|
|
9
|
+
sectionSize: 1,
|
|
10
|
+
fadeDistance: 100,
|
|
11
|
+
fadeStrength: 1,
|
|
12
|
+
cellThickness: 0.5,
|
|
13
|
+
sectionThickness: 1,
|
|
14
|
+
cellColor: new THREE.Color(),
|
|
15
|
+
sectionColor: new THREE.Color(),
|
|
16
|
+
infiniteGrid: 0,
|
|
17
|
+
followCamera: 0
|
|
18
|
+
}, `varying vec3 worldPosition;
|
|
19
|
+
uniform float fadeDistance;
|
|
20
|
+
uniform float infiniteGrid;
|
|
21
|
+
uniform float followCamera;
|
|
22
|
+
void main() {
|
|
23
|
+
vec3 pos = position.xzy * (1. + fadeDistance * infiniteGrid);
|
|
24
|
+
pos.xz += (cameraPosition.xz * followCamera);
|
|
25
|
+
worldPosition = pos;
|
|
26
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4(pos, 1.0);
|
|
27
|
+
}`, `varying vec3 worldPosition;
|
|
28
|
+
uniform float cellSize;
|
|
29
|
+
uniform float sectionSize;
|
|
30
|
+
uniform vec3 cellColor;
|
|
31
|
+
uniform vec3 sectionColor;
|
|
32
|
+
uniform float fadeDistance;
|
|
33
|
+
uniform float fadeStrength;
|
|
34
|
+
uniform float cellThickness;
|
|
35
|
+
uniform float sectionThickness;
|
|
36
|
+
uniform float infiniteGrid;
|
|
37
|
+
float getGrid(float size, float thickness) {
|
|
38
|
+
vec2 r = worldPosition.xz / size;
|
|
39
|
+
vec2 grid = abs(fract(r - 0.5) - 0.5) / fwidth(r);
|
|
40
|
+
float line = min(grid.x, grid.y) + 1. - thickness;
|
|
41
|
+
return 1.0 - min(line, 1.);
|
|
42
|
+
}
|
|
43
|
+
void main() {
|
|
44
|
+
float g1 = getGrid(cellSize, cellThickness);
|
|
45
|
+
float g2 = getGrid(sectionSize, sectionThickness);
|
|
46
|
+
float d = 1.0 - min(distance(cameraPosition.xz, worldPosition.xz) / fadeDistance, 1.);
|
|
47
|
+
vec3 color = mix(cellColor, sectionColor, min(1.,sectionThickness * g2));
|
|
48
|
+
gl_FragColor = vec4(color, (g1 + g2) * pow(d,fadeStrength));
|
|
49
|
+
gl_FragColor.a = mix(0.75 * gl_FragColor.a, gl_FragColor.a, g2);
|
|
50
|
+
if (gl_FragColor.a <= 0.0) discard;
|
|
51
|
+
#include <tonemapping_fragment>
|
|
52
|
+
#include <encodings_fragment>
|
|
53
|
+
}`);
|
|
54
|
+
const Grid = /*#__PURE__*/React.forwardRef(({
|
|
55
|
+
args,
|
|
56
|
+
cellColor = '#000000',
|
|
57
|
+
sectionColor = '#2080ff',
|
|
58
|
+
cellSize = 0.5,
|
|
59
|
+
sectionSize = 1,
|
|
60
|
+
followCamera = false,
|
|
61
|
+
infiniteGrid = false,
|
|
62
|
+
fadeDistance = 100,
|
|
63
|
+
fadeStrength = 1,
|
|
64
|
+
cellThickness = 0.5,
|
|
65
|
+
sectionThickness = 1,
|
|
66
|
+
...props
|
|
67
|
+
}, fRef) => {
|
|
68
|
+
extend({
|
|
69
|
+
GridMaterial
|
|
70
|
+
});
|
|
71
|
+
const uniforms1 = {
|
|
72
|
+
cellSize,
|
|
73
|
+
sectionSize,
|
|
74
|
+
cellColor,
|
|
75
|
+
sectionColor,
|
|
76
|
+
cellThickness,
|
|
77
|
+
sectionThickness
|
|
78
|
+
};
|
|
79
|
+
const uniforms2 = {
|
|
80
|
+
fadeDistance,
|
|
81
|
+
fadeStrength,
|
|
82
|
+
infiniteGrid,
|
|
83
|
+
followCamera
|
|
84
|
+
};
|
|
85
|
+
return /*#__PURE__*/React.createElement("mesh", _extends({
|
|
86
|
+
ref: fRef,
|
|
87
|
+
"rotation-x": Math.PI,
|
|
88
|
+
frustumCulled: false
|
|
89
|
+
}, props), /*#__PURE__*/React.createElement("gridMaterial", _extends({
|
|
90
|
+
transparent: true,
|
|
91
|
+
"extensions-derivatives": true
|
|
92
|
+
}, uniforms1, uniforms2)), /*#__PURE__*/React.createElement("planeGeometry", {
|
|
93
|
+
args: args
|
|
94
|
+
}));
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
export { Grid };
|
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"),u=require("./PositionalAudio.cjs.js"),a=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("./Trail.cjs.js"),d=require("./Sampler.cjs.js"),q=require("./ComputedAttribute.cjs.js"),m=require("./Clone.cjs.js"),h=require("./MarchingCubes.cjs.js"),C=require("./Decal.cjs.js"),S=require("./Svg.cjs.js"),M=require("./AsciiRenderer.cjs.js"),T=require("./OrthographicCamera.cjs.js"),P=require("./PerspectiveCamera.cjs.js"),b=require("./CubeCamera.cjs.js"),B=require("./DeviceOrientationControls.cjs.js"),g=require("./FlyControls.cjs.js"),f=require("./MapControls.cjs.js"),v=require("./OrbitControls.cjs.js"),A=require("./TrackballControls.cjs.js"),L=require("./ArcballControls.cjs.js"),k=require("./TransformControls.cjs.js"),R=require("./PointerLockControls.cjs.js"),D=require("./FirstPersonControls.cjs.js"),E=require("./GizmoHelper.cjs.js"),
|
|
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"),u=require("./PositionalAudio.cjs.js"),a=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("./Trail.cjs.js"),d=require("./Sampler.cjs.js"),q=require("./ComputedAttribute.cjs.js"),m=require("./Clone.cjs.js"),h=require("./MarchingCubes.cjs.js"),C=require("./Decal.cjs.js"),S=require("./Svg.cjs.js"),M=require("./AsciiRenderer.cjs.js"),T=require("./OrthographicCamera.cjs.js"),P=require("./PerspectiveCamera.cjs.js"),b=require("./CubeCamera.cjs.js"),B=require("./DeviceOrientationControls.cjs.js"),g=require("./FlyControls.cjs.js"),f=require("./MapControls.cjs.js"),v=require("./OrbitControls.cjs.js"),A=require("./TrackballControls.cjs.js"),L=require("./ArcballControls.cjs.js"),k=require("./TransformControls.cjs.js"),R=require("./PointerLockControls.cjs.js"),D=require("./FirstPersonControls.cjs.js"),E=require("./GizmoHelper.cjs.js"),G=require("./GizmoViewcube.cjs.js"),w=require("./GizmoViewport.cjs.js"),z=require("./Grid.cjs.js"),F=require("./useCubeTexture.cjs.js"),O=require("./useFBX.cjs.js"),I=require("./useGLTF.cjs.js"),H=require("./useKTX2.cjs.js"),V=require("./useProgress.cjs.js"),y=require("./useTexture.cjs.js"),Q=require("./useVideoTexture.cjs.js"),X=require("./Stats.cjs.js"),K=require("./useDepthBuffer.cjs.js"),W=require("./useAspect.cjs.js"),N=require("./useCamera.cjs.js"),U=require("./useDetectGPU.cjs.js"),_=require("./useHelper.cjs.js"),J=require("./useBVH.cjs.js"),Y=require("./useContextBridge.cjs.js"),Z=require("./useAnimations.cjs.js"),$=require("./useFBO.cjs.js"),ee=require("./useIntersect.cjs.js"),re=require("./useBoxProjectedEnv.cjs.js"),se=require("./BBAnchor.cjs.js"),te=require("./useTrailTexture.cjs.js"),oe=require("./CurveModifier.cjs.js"),ie=require("./MeshDistortMaterial.cjs.js"),ue=require("./MeshWobbleMaterial.cjs.js"),ae=require("./MeshReflectorMaterial.cjs.js"),ce=require("./MeshRefractionMaterial.cjs.js"),ne=require("./PointMaterial.cjs.js"),je=require("./shaderMaterial.cjs.js"),pe=require("./softShadows.cjs.js"),xe=require("./shapes.cjs.js"),le=require("./RoundedBox.cjs.js"),de=require("./ScreenQuad.cjs.js"),qe=require("./Center.cjs.js"),me=require("./Bounds.cjs.js"),he=require("./CameraShake.cjs.js"),Ce=require("./Float.cjs.js"),Se=require("./Stage.cjs.js"),Me=require("./Backdrop.cjs.js"),Te=require("./Shadow.cjs.js"),Pe=require("./ContactShadows.cjs.js"),be=require("./AccumulativeShadows.cjs.js"),Be=require("./Reflector.cjs.js"),ge=require("./SpotLight.cjs.js"),fe=require("./Environment.cjs.js"),ve=require("./Lightformer.cjs.js"),Ae=require("./Sky.cjs.js"),Le=require("./Stars.cjs.js"),ke=require("./Cloud.cjs.js"),Re=require("./Sparkles.cjs.js"),De=require("./useMatcapTexture.cjs.js"),Ee=require("./useNormalTexture.cjs.js"),Ge=require("./Points.cjs.js"),we=require("./Instances.cjs.js"),ze=require("./Segments.cjs.js"),Fe=require("./Detailed.cjs.js"),Oe=require("./Preload.cjs.js"),Ie=require("./BakeShadows.cjs.js"),He=require("./meshBounds.cjs.js"),Ve=require("./AdaptiveDpr.cjs.js"),ye=require("./AdaptiveEvents.cjs.js"),Qe=require("./PerformanceMonitor.cjs.js"),Xe=require("./RenderTexture.cjs.js"),Ke=require("./Mask.cjs.js"),We=require("./Hud.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("meshline"),require("lodash.pick"),require("lodash.omit"),require("zustand"),require("stats.js"),require("../helpers/useEffectfulState.cjs.js"),require("detect-gpu"),require("three-mesh-bvh"),require("../materials/BlurPass.cjs.js"),require("../materials/ConvolutionMaterial.cjs.js"),require("../materials/MeshReflectorMaterial.cjs.js"),require("../materials/MeshRefractionMaterial.cjs.js"),require("../helpers/environment-assets.cjs.js"),require("../materials/SpotLightMaterial.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=u.PositionalAudio,exports.Text=a.Text,exports.Text3D=c.Text3D,exports.Effects=n.Effects,exports.isWebGL2Available=n.isWebGL2Available,exports.GradientTexture=j.GradientTexture,exports.Image=p.Image,exports.Edges=x.Edges,exports.Trail=l.Trail,exports.useTrail=l.useTrail,exports.Sampler=d.Sampler,exports.useSurfaceSampler=d.useSurfaceSampler,exports.ComputedAttribute=q.ComputedAttribute,exports.Clone=m.Clone,exports.MarchingCube=h.MarchingCube,exports.MarchingCubes=h.MarchingCubes,exports.MarchingPlane=h.MarchingPlane,exports.Decal=C.Decal,exports.Svg=S.Svg,exports.AsciiRenderer=M.AsciiRenderer,exports.OrthographicCamera=T.OrthographicCamera,exports.PerspectiveCamera=P.PerspectiveCamera,exports.CubeCamera=b.CubeCamera,exports.DeviceOrientationControls=B.DeviceOrientationControls,exports.FlyControls=g.FlyControls,exports.MapControls=f.MapControls,exports.OrbitControls=v.OrbitControls,exports.TrackballControls=A.TrackballControls,exports.ArcballControls=L.ArcballControls,exports.TransformControls=k.TransformControls,exports.PointerLockControls=R.PointerLockControls,exports.FirstPersonControls=D.FirstPersonControls,exports.GizmoHelper=E.GizmoHelper,exports.useGizmoContext=E.useGizmoContext,exports.GizmoViewcube=G.GizmoViewcube,exports.GizmoViewport=w.GizmoViewport,exports.Grid=z.Grid,exports.useCubeTexture=F.useCubeTexture,exports.useFBX=O.useFBX,exports.useGLTF=I.useGLTF,exports.useKTX2=H.useKTX2,exports.useProgress=V.useProgress,exports.IsObject=y.IsObject,exports.useTexture=y.useTexture,exports.useVideoTexture=Q.useVideoTexture,exports.Stats=X.Stats,exports.useDepthBuffer=K.useDepthBuffer,exports.useAspect=W.useAspect,exports.useCamera=N.useCamera,exports.useDetectGPU=U.useDetectGPU,exports.useHelper=_.useHelper,exports.useBVH=J.useBVH,exports.useContextBridge=Y.useContextBridge,exports.useAnimations=Z.useAnimations,exports.useFBO=$.useFBO,exports.useIntersect=ee.useIntersect,exports.useBoxProjectedEnv=re.useBoxProjectedEnv,exports.BBAnchor=se.BBAnchor,exports.useTrailTexture=te.useTrailTexture,exports.CurveModifier=oe.CurveModifier,exports.MeshDistortMaterial=ie.MeshDistortMaterial,exports.MeshWobbleMaterial=ue.MeshWobbleMaterial,exports.MeshReflectorMaterial=ae.MeshReflectorMaterial,exports.MeshRefractionMaterial=ce.MeshRefractionMaterial,exports.PointMaterial=ne.PointMaterial,exports.PointMaterialImpl=ne.PointMaterialImpl,exports.shaderMaterial=je.shaderMaterial,exports.softShadows=pe.softShadows,exports.Box=xe.Box,exports.Capsule=xe.Capsule,exports.Circle=xe.Circle,exports.Cone=xe.Cone,exports.Cylinder=xe.Cylinder,exports.Dodecahedron=xe.Dodecahedron,exports.Extrude=xe.Extrude,exports.Icosahedron=xe.Icosahedron,exports.Lathe=xe.Lathe,exports.Octahedron=xe.Octahedron,exports.Plane=xe.Plane,exports.Polyhedron=xe.Polyhedron,exports.Ring=xe.Ring,exports.Sphere=xe.Sphere,exports.Tetrahedron=xe.Tetrahedron,exports.Torus=xe.Torus,exports.TorusKnot=xe.TorusKnot,exports.Tube=xe.Tube,exports.RoundedBox=le.RoundedBox,exports.ScreenQuad=de.ScreenQuad,exports.Center=qe.Center,exports.Bounds=me.Bounds,exports.useBounds=me.useBounds,exports.CameraShake=he.CameraShake,exports.Float=Ce.Float,exports.Stage=Se.Stage,exports.Backdrop=Me.Backdrop,exports.Shadow=Te.Shadow,exports.ContactShadows=Pe.ContactShadows,exports.AccumulativeShadows=be.AccumulativeShadows,exports.RandomizedLight=be.RandomizedLight,exports.accumulativeContext=be.accumulativeContext,exports.Reflector=Be.Reflector,exports.SpotLight=ge.SpotLight,exports.SpotLightShadow=ge.SpotLightShadow,exports.Environment=fe.Environment,exports.EnvironmentCube=fe.EnvironmentCube,exports.EnvironmentMap=fe.EnvironmentMap,exports.EnvironmentPortal=fe.EnvironmentPortal,exports.useEnvironment=fe.useEnvironment,exports.Lightformer=ve.Lightformer,exports.Sky=Ae.Sky,exports.calcPosFromAngles=Ae.calcPosFromAngles,exports.Stars=Le.Stars,exports.Cloud=ke.Cloud,exports.Sparkles=Re.Sparkles,exports.useMatcapTexture=De.useMatcapTexture,exports.useNormalTexture=Ee.useNormalTexture,exports.Point=Ge.Point,exports.Points=Ge.Points,exports.PointsBuffer=Ge.PointsBuffer,exports.PositionPoint=Ge.PositionPoint,exports.Instance=we.Instance,exports.Instances=we.Instances,exports.Merged=we.Merged,exports.Segment=ze.Segment,exports.SegmentObject=ze.SegmentObject,exports.Segments=ze.Segments,exports.Detailed=Fe.Detailed,exports.Preload=Oe.Preload,exports.BakeShadows=Ie.BakeShadows,exports.meshBounds=He.meshBounds,exports.AdaptiveDpr=Ve.AdaptiveDpr,exports.AdaptiveEvents=ye.AdaptiveEvents,exports.PerformanceMonitor=Qe.PerformanceMonitor,exports.usePerformanceMonitor=Qe.usePerformanceMonitor,exports.RenderTexture=Xe.RenderTexture,exports.Mask=Ke.Mask,exports.useMask=Ke.useMask,exports.Hud=We.Hud;
|
package/core/index.d.ts
CHANGED
|
@@ -34,6 +34,7 @@ export * from './FirstPersonControls';
|
|
|
34
34
|
export * from './GizmoHelper';
|
|
35
35
|
export * from './GizmoViewcube';
|
|
36
36
|
export * from './GizmoViewport';
|
|
37
|
+
export * from './Grid';
|
|
37
38
|
export * from './useCubeTexture';
|
|
38
39
|
export * from './useFBX';
|
|
39
40
|
export * from './useGLTF';
|
package/core/index.js
CHANGED
|
@@ -34,6 +34,7 @@ export { FirstPersonControls } from './FirstPersonControls.js';
|
|
|
34
34
|
export { GizmoHelper, useGizmoContext } from './GizmoHelper.js';
|
|
35
35
|
export { GizmoViewcube } from './GizmoViewcube.js';
|
|
36
36
|
export { GizmoViewport } from './GizmoViewport.js';
|
|
37
|
+
export { Grid } from './Grid.js';
|
|
37
38
|
export { useCubeTexture } from './useCubeTexture.js';
|
|
38
39
|
export { useFBX } from './useFBX.js';
|
|
39
40
|
export { useGLTF } from './useGLTF.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("three"),r=require("@react-three/fiber");function n(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 c=n(e);exports.useAnimations=function(e,n){const u=c.useRef(),[a]=c.useState((()=>n?n instanceof t.Object3D?{current:n}:n:u)),[i]=c.useState((()=>new t.AnimationMixer(void 0))),o=c.useRef({}),[s]=c.useState((()=>{const t={};return e.forEach((e=>Object.defineProperty(t,e.name,{enumerable:!0,get(){if(a.current)return o.current[e.name]||(o.current[e.name]=i.clipAction(e,a.current))}}))),{ref:a,clips:e,actions:t,names:e.map((e=>e.name)),mixer:i}}));return r.useFrame(((e,t)=>i.update(t))),c.useEffect((()=>{const e=a.current;return()=>{o.current={},Object.values(s.actions).forEach((t=>{e&&i.uncacheAction(t,e)}))}}),[e]),c.useEffect((()=>()=>{i.stopAllAction()}),[i]),s};
|