@react-three/drei 9.47.1 → 9.48.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 +14 -1
- package/core/Clone.d.ts +9 -8
- package/core/Gltf.cjs.js +1 -0
- package/core/Gltf.d.ts +7 -0
- package/core/Gltf.js +20 -0
- package/core/index.cjs.js +1 -1
- package/core/index.d.ts +1 -0
- package/core/index.js +1 -0
- package/index.cjs.js +1 -1
- package/index.js +1 -0
- 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
|
@@ -78,6 +78,7 @@ The `native` route of the library **does not** export `Html` or `Loader`. The de
|
|
|
78
78
|
<li><a href="#marchingcubes">MarchingCubes</a></li>
|
|
79
79
|
<li><a href="#decal">Decal</a></li>
|
|
80
80
|
<li><a href="#svg">Svg</a></li>
|
|
81
|
+
<li><a href="#gltf">Gltf</a></li>
|
|
81
82
|
<li><a href="#asciirenderer">AsciiRenderer</a></li>
|
|
82
83
|
</ul>
|
|
83
84
|
<li><a href="#shaders">Shaders</a></li>
|
|
@@ -653,7 +654,7 @@ If you are using other controls (Orbit, Trackball, etc), you will notice how the
|
|
|
653
654
|
[](https://drei.vercel.app/?path=/story/gizmos-grid--use-grid-scene-st)
|
|
654
655
|
|
|
655
656
|
<p>
|
|
656
|
-
<a href="https://codesandbox.io/s/
|
|
657
|
+
<a href="https://codesandbox.io/s/19uq2u"><img width="20%" src="https://codesandbox.io/api/v1/sandboxes/19uq2u/screenshot.png" alt="Demo"/></a>
|
|
657
658
|
</p>
|
|
658
659
|
|
|
659
660
|
A y-up oriented, shader-based grid implementation.
|
|
@@ -1295,6 +1296,18 @@ Accepts an SVG url or svg raw data.
|
|
|
1295
1296
|
<Svg src={urlOrRawSvgString} />
|
|
1296
1297
|
```
|
|
1297
1298
|
|
|
1299
|
+
#### Gltf
|
|
1300
|
+
|
|
1301
|
+
<p>
|
|
1302
|
+
<a href="https://codesandbox.io/s/if9crg"><img width="20%" src="https://codesandbox.io/api/v1/sandboxes/if9crg/screenshot.png" alt="Demo"/></a>
|
|
1303
|
+
</p>
|
|
1304
|
+
|
|
1305
|
+
This is a convenience component that will load a gltf file and clone the scene using drei/Clone. That means you can re-use and mount the same gltf file multiple times. It accepts all props that Clone does.
|
|
1306
|
+
|
|
1307
|
+
```js
|
|
1308
|
+
<Gltf src="/model.glb" receiveShadow castShadow />
|
|
1309
|
+
```
|
|
1310
|
+
|
|
1298
1311
|
#### AsciiRenderer
|
|
1299
1312
|
|
|
1300
1313
|
<p>
|
package/core/Clone.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import * as THREE from 'three';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { MeshProps } from '@react-three/fiber';
|
|
4
|
-
export declare
|
|
4
|
+
export declare type CloneProps = {
|
|
5
5
|
object: THREE.Object3D | THREE.Object3D[];
|
|
6
6
|
children?: React.ReactNode;
|
|
7
|
-
deep?: boolean |
|
|
8
|
-
keys?: string[]
|
|
9
|
-
inject?: React.ReactNode |
|
|
10
|
-
castShadow?: boolean
|
|
11
|
-
receiveShadow?: boolean
|
|
12
|
-
isChild?: boolean
|
|
13
|
-
}
|
|
7
|
+
deep?: boolean | 'materialsOnly' | 'geometriesOnly';
|
|
8
|
+
keys?: string[];
|
|
9
|
+
inject?: MeshProps | React.ReactNode | ((object: THREE.Object3D) => React.ReactNode);
|
|
10
|
+
castShadow?: boolean;
|
|
11
|
+
receiveShadow?: boolean;
|
|
12
|
+
isChild?: boolean;
|
|
13
|
+
};
|
|
14
|
+
export declare const Clone: React.ForwardRefExoticComponent<Pick<Omit<import("@react-three/fiber").GroupProps, "children"> & CloneProps, "visible" | "attach" | "args" | "key" | "onUpdate" | "position" | "up" | "scale" | "rotation" | "matrix" | "quaternion" | "layers" | "dispose" | "type" | "isGroup" | "id" | "uuid" | "name" | "parent" | "modelViewMatrix" | "normalMatrix" | "matrixWorld" | "matrixAutoUpdate" | "matrixWorldNeedsUpdate" | "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 | keyof CloneProps> & React.RefAttributes<THREE.Group>>;
|
package/core/Gltf.cjs.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),r=require("react"),t=require("./useGLTF.cjs.js"),u=require("./Clone.cjs.js");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var u=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,u.get?u:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}require("three-stdlib"),require("@react-three/fiber"),require("three"),require("lodash.pick");var i=n(e),o=c(r);const s=o.forwardRef((({src:e,...r},n)=>{const{scene:c}=t.useGLTF(e);return o.createElement(u.Clone,i.default({ref:n},r,{object:c}))}));exports.Gltf=s;
|
package/core/Gltf.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { CloneProps } from './Clone';
|
|
3
|
+
declare type GltfProps = JSX.IntrinsicElements['primitive'] & CloneProps & {
|
|
4
|
+
src: string;
|
|
5
|
+
};
|
|
6
|
+
export declare const Gltf: React.ForwardRefExoticComponent<Pick<GltfProps, string | number> & React.RefAttributes<import("three").Group>>;
|
|
7
|
+
export {};
|
package/core/Gltf.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import _extends from '@babel/runtime/helpers/esm/extends';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { useGLTF } from './useGLTF.js';
|
|
4
|
+
import { Clone } from './Clone.js';
|
|
5
|
+
|
|
6
|
+
const Gltf = /*#__PURE__*/React.forwardRef(({
|
|
7
|
+
src,
|
|
8
|
+
...props
|
|
9
|
+
}, ref) => {
|
|
10
|
+
const {
|
|
11
|
+
scene
|
|
12
|
+
} = useGLTF(src);
|
|
13
|
+
return /*#__PURE__*/React.createElement(Clone, _extends({
|
|
14
|
+
ref: ref
|
|
15
|
+
}, props, {
|
|
16
|
+
object: scene
|
|
17
|
+
}));
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
export { Gltf };
|
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("./
|
|
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("./Gltf.cjs.js"),T=require("./AsciiRenderer.cjs.js"),P=require("./OrthographicCamera.cjs.js"),b=require("./PerspectiveCamera.cjs.js"),f=require("./CubeCamera.cjs.js"),B=require("./DeviceOrientationControls.cjs.js"),g=require("./FlyControls.cjs.js"),v=require("./MapControls.cjs.js"),A=require("./OrbitControls.cjs.js"),L=require("./TrackballControls.cjs.js"),k=require("./ArcballControls.cjs.js"),G=require("./TransformControls.cjs.js"),R=require("./PointerLockControls.cjs.js"),D=require("./FirstPersonControls.cjs.js"),E=require("./GizmoHelper.cjs.js"),w=require("./GizmoViewcube.cjs.js"),z=require("./GizmoViewport.cjs.js"),F=require("./Grid.cjs.js"),O=require("./useCubeTexture.cjs.js"),I=require("./useFBX.cjs.js"),H=require("./useGLTF.cjs.js"),V=require("./useKTX2.cjs.js"),y=require("./useProgress.cjs.js"),Q=require("./useTexture.cjs.js"),X=require("./useVideoTexture.cjs.js"),K=require("./Stats.cjs.js"),W=require("./useDepthBuffer.cjs.js"),N=require("./useAspect.cjs.js"),U=require("./useCamera.cjs.js"),_=require("./useDetectGPU.cjs.js"),J=require("./useHelper.cjs.js"),Y=require("./useBVH.cjs.js"),Z=require("./useContextBridge.cjs.js"),$=require("./useAnimations.cjs.js"),ee=require("./useFBO.cjs.js"),re=require("./useIntersect.cjs.js"),se=require("./useBoxProjectedEnv.cjs.js"),te=require("./BBAnchor.cjs.js"),oe=require("./useTrailTexture.cjs.js"),ie=require("./CurveModifier.cjs.js"),ue=require("./MeshDistortMaterial.cjs.js"),ae=require("./MeshWobbleMaterial.cjs.js"),ce=require("./MeshReflectorMaterial.cjs.js"),ne=require("./MeshRefractionMaterial.cjs.js"),je=require("./PointMaterial.cjs.js"),pe=require("./shaderMaterial.cjs.js"),xe=require("./softShadows.cjs.js"),le=require("./shapes.cjs.js"),de=require("./RoundedBox.cjs.js"),qe=require("./ScreenQuad.cjs.js"),me=require("./Center.cjs.js"),he=require("./Bounds.cjs.js"),Ce=require("./CameraShake.cjs.js"),Se=require("./Float.cjs.js"),Me=require("./Stage.cjs.js"),Te=require("./Backdrop.cjs.js"),Pe=require("./Shadow.cjs.js"),be=require("./ContactShadows.cjs.js"),fe=require("./AccumulativeShadows.cjs.js"),Be=require("./Reflector.cjs.js"),ge=require("./SpotLight.cjs.js"),ve=require("./Environment.cjs.js"),Ae=require("./Lightformer.cjs.js"),Le=require("./Sky.cjs.js"),ke=require("./Stars.cjs.js"),Ge=require("./Cloud.cjs.js"),Re=require("./Sparkles.cjs.js"),De=require("./useMatcapTexture.cjs.js"),Ee=require("./useNormalTexture.cjs.js"),we=require("./Points.cjs.js"),ze=require("./Instances.cjs.js"),Fe=require("./Segments.cjs.js"),Oe=require("./Detailed.cjs.js"),Ie=require("./Preload.cjs.js"),He=require("./BakeShadows.cjs.js"),Ve=require("./meshBounds.cjs.js"),ye=require("./AdaptiveDpr.cjs.js"),Qe=require("./AdaptiveEvents.cjs.js"),Xe=require("./PerformanceMonitor.cjs.js"),Ke=require("./RenderTexture.cjs.js"),We=require("./Mask.cjs.js"),Ne=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.Gltf=M.Gltf,exports.AsciiRenderer=T.AsciiRenderer,exports.OrthographicCamera=P.OrthographicCamera,exports.PerspectiveCamera=b.PerspectiveCamera,exports.CubeCamera=f.CubeCamera,exports.DeviceOrientationControls=B.DeviceOrientationControls,exports.FlyControls=g.FlyControls,exports.MapControls=v.MapControls,exports.OrbitControls=A.OrbitControls,exports.TrackballControls=L.TrackballControls,exports.ArcballControls=k.ArcballControls,exports.TransformControls=G.TransformControls,exports.PointerLockControls=R.PointerLockControls,exports.FirstPersonControls=D.FirstPersonControls,exports.GizmoHelper=E.GizmoHelper,exports.useGizmoContext=E.useGizmoContext,exports.GizmoViewcube=w.GizmoViewcube,exports.GizmoViewport=z.GizmoViewport,exports.Grid=F.Grid,exports.useCubeTexture=O.useCubeTexture,exports.useFBX=I.useFBX,exports.useGLTF=H.useGLTF,exports.useKTX2=V.useKTX2,exports.useProgress=y.useProgress,exports.IsObject=Q.IsObject,exports.useTexture=Q.useTexture,exports.useVideoTexture=X.useVideoTexture,exports.Stats=K.Stats,exports.useDepthBuffer=W.useDepthBuffer,exports.useAspect=N.useAspect,exports.useCamera=U.useCamera,exports.useDetectGPU=_.useDetectGPU,exports.useHelper=J.useHelper,exports.useBVH=Y.useBVH,exports.useContextBridge=Z.useContextBridge,exports.useAnimations=$.useAnimations,exports.useFBO=ee.useFBO,exports.useIntersect=re.useIntersect,exports.useBoxProjectedEnv=se.useBoxProjectedEnv,exports.BBAnchor=te.BBAnchor,exports.useTrailTexture=oe.useTrailTexture,exports.CurveModifier=ie.CurveModifier,exports.MeshDistortMaterial=ue.MeshDistortMaterial,exports.MeshWobbleMaterial=ae.MeshWobbleMaterial,exports.MeshReflectorMaterial=ce.MeshReflectorMaterial,exports.MeshRefractionMaterial=ne.MeshRefractionMaterial,exports.PointMaterial=je.PointMaterial,exports.PointMaterialImpl=je.PointMaterialImpl,exports.shaderMaterial=pe.shaderMaterial,exports.softShadows=xe.softShadows,exports.Box=le.Box,exports.Capsule=le.Capsule,exports.Circle=le.Circle,exports.Cone=le.Cone,exports.Cylinder=le.Cylinder,exports.Dodecahedron=le.Dodecahedron,exports.Extrude=le.Extrude,exports.Icosahedron=le.Icosahedron,exports.Lathe=le.Lathe,exports.Octahedron=le.Octahedron,exports.Plane=le.Plane,exports.Polyhedron=le.Polyhedron,exports.Ring=le.Ring,exports.Sphere=le.Sphere,exports.Tetrahedron=le.Tetrahedron,exports.Torus=le.Torus,exports.TorusKnot=le.TorusKnot,exports.Tube=le.Tube,exports.RoundedBox=de.RoundedBox,exports.ScreenQuad=qe.ScreenQuad,exports.Center=me.Center,exports.Bounds=he.Bounds,exports.useBounds=he.useBounds,exports.CameraShake=Ce.CameraShake,exports.Float=Se.Float,exports.Stage=Me.Stage,exports.Backdrop=Te.Backdrop,exports.Shadow=Pe.Shadow,exports.ContactShadows=be.ContactShadows,exports.AccumulativeShadows=fe.AccumulativeShadows,exports.RandomizedLight=fe.RandomizedLight,exports.accumulativeContext=fe.accumulativeContext,exports.Reflector=Be.Reflector,exports.SpotLight=ge.SpotLight,exports.SpotLightShadow=ge.SpotLightShadow,exports.Environment=ve.Environment,exports.EnvironmentCube=ve.EnvironmentCube,exports.EnvironmentMap=ve.EnvironmentMap,exports.EnvironmentPortal=ve.EnvironmentPortal,exports.useEnvironment=ve.useEnvironment,exports.Lightformer=Ae.Lightformer,exports.Sky=Le.Sky,exports.calcPosFromAngles=Le.calcPosFromAngles,exports.Stars=ke.Stars,exports.Cloud=Ge.Cloud,exports.Sparkles=Re.Sparkles,exports.useMatcapTexture=De.useMatcapTexture,exports.useNormalTexture=Ee.useNormalTexture,exports.Point=we.Point,exports.Points=we.Points,exports.PointsBuffer=we.PointsBuffer,exports.PositionPoint=we.PositionPoint,exports.Instance=ze.Instance,exports.Instances=ze.Instances,exports.Merged=ze.Merged,exports.Segment=Fe.Segment,exports.SegmentObject=Fe.SegmentObject,exports.Segments=Fe.Segments,exports.Detailed=Oe.Detailed,exports.Preload=Ie.Preload,exports.BakeShadows=He.BakeShadows,exports.meshBounds=Ve.meshBounds,exports.AdaptiveDpr=ye.AdaptiveDpr,exports.AdaptiveEvents=Qe.AdaptiveEvents,exports.PerformanceMonitor=Xe.PerformanceMonitor,exports.usePerformanceMonitor=Xe.usePerformanceMonitor,exports.RenderTexture=Ke.RenderTexture,exports.Mask=We.Mask,exports.useMask=We.useMask,exports.Hud=Ne.Hud;
|
package/core/index.d.ts
CHANGED
package/core/index.js
CHANGED
|
@@ -18,6 +18,7 @@ export { Clone } from './Clone.js';
|
|
|
18
18
|
export { MarchingCube, MarchingCubes, MarchingPlane } from './MarchingCubes.js';
|
|
19
19
|
export { Decal } from './Decal.js';
|
|
20
20
|
export { Svg } from './Svg.js';
|
|
21
|
+
export { Gltf } from './Gltf.js';
|
|
21
22
|
export { AsciiRenderer } from './AsciiRenderer.js';
|
|
22
23
|
export { OrthographicCamera } from './OrthographicCamera.js';
|
|
23
24
|
export { PerspectiveCamera } from './PerspectiveCamera.js';
|