@react-three/drei 7.22.1 → 7.22.2
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/core/GizmoViewport.cjs.js +1 -1
- package/core/GizmoViewport.d.ts +4 -1
- package/core/GizmoViewport.js +11 -6
- package/core/SpotLight.cjs.js +1 -1
- package/core/SpotLight.js +1 -1
- package/index.cjs.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),a=require("./GizmoHelper.cjs.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}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 a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}require("@react-three/fiber"),require("./OrthographicCamera.cjs.js"),require("react-merge-refs"),require("./useCamera.cjs.js");var l=o(e),i=n(t);function c({color:e,rotation:t}){return i.createElement("group",{rotation:t},i.createElement("mesh",{position:[.4,0,0]},i.createElement("boxGeometry",{args:[.8,.05,.05]}),i.createElement("meshBasicMaterial",{color:e,toneMapped:!1})))}function s({onClick:e,font:t,disabled:a,arcStyle:o,label:n,labelColor:c,...
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),a=require("./GizmoHelper.cjs.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}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 a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}require("@react-three/fiber"),require("./OrthographicCamera.cjs.js"),require("react-merge-refs"),require("./useCamera.cjs.js");var l=o(e),i=n(t);function c({color:e,rotation:t}){return i.createElement("group",{rotation:t},i.createElement("mesh",{position:[.4,0,0]},i.createElement("boxGeometry",{args:[.8,.05,.05]}),i.createElement("meshBasicMaterial",{color:e,toneMapped:!1})))}function s({onClick:e,font:t,disabled:a,arcStyle:o,label:n,labelColor:c,axisHeadScale:s=1,...u}){const f=i.useMemo((()=>{const e=document.createElement("canvas");e.width=64,e.height=64;const a=e.getContext("2d");return a.beginPath(),a.arc(32,32,16,0,2*Math.PI),a.closePath(),a.fillStyle=o,a.fill(),n&&(a.font=t,a.textAlign="center",a.fillStyle=c,a.fillText(n,32,41)),new r.CanvasTexture(e)}),[o,n,c,t]),[d,m]=i.useState(!1),p=(n?1:.75)*(d?1.2:1)*s;return i.createElement("sprite",l.default({scale:p,onPointerOver:a?void 0:e=>{e.stopPropagation(),m(!0)},onPointerOut:a?void 0:e||(e=>{e.stopPropagation(),m(!1)})},u),i.createElement("spriteMaterial",{map:f,alphaTest:.3,opacity:n?1:.75,toneMapped:!1}))}exports.GizmoViewport=({hideNegativeAxes:e,hideAxisHeads:t,disabled:r,font:o="18px Inter var, Arial, sans-serif",axisColors:n=["#ff3653","#0adb50","#2c8fdf"],axisHeadScale:u=1,labels:f=["X","Y","Z"],labelColor:d="#000",onClick:m,...p})=>{const[b,E,h]=n,{tweenCamera:g,raycast:y}=a.useGizmoContext(),x={font:o,disabled:r,labelColor:d,raycast:y,onClick:m,axisHeadScale:u,onPointerDown:r?void 0:e=>{g(e.object.position),e.stopPropagation()}};return i.createElement("group",l.default({scale:40},p),i.createElement(c,{color:b,rotation:[0,0,0]}),i.createElement(c,{color:E,rotation:[0,0,Math.PI/2]}),i.createElement(c,{color:h,rotation:[0,-Math.PI/2,0]}),!t&&i.createElement(i.Fragment,null,i.createElement(s,l.default({arcStyle:b,position:[1,0,0],label:f[0]},x)),i.createElement(s,l.default({arcStyle:E,position:[0,1,0],label:f[1]},x)),i.createElement(s,l.default({arcStyle:h,position:[0,0,1],label:f[2]},x)),!e&&i.createElement(i.Fragment,null,i.createElement(s,l.default({arcStyle:b,position:[-1,0,0]},x)),i.createElement(s,l.default({arcStyle:E,position:[0,-1,0]},x)),i.createElement(s,l.default({arcStyle:h,position:[0,0,-1]},x)))),i.createElement("ambientLight",{intensity:.5}),i.createElement("pointLight",{position:[10,10,10],intensity:.5}))};
|
package/core/GizmoViewport.d.ts
CHANGED
|
@@ -2,11 +2,14 @@
|
|
|
2
2
|
import { Event } from 'three';
|
|
3
3
|
declare type GizmoViewportProps = JSX.IntrinsicElements['group'] & {
|
|
4
4
|
axisColors?: [string, string, string];
|
|
5
|
+
labels?: [string, string, string];
|
|
6
|
+
axisHeadScale?: number;
|
|
5
7
|
labelColor?: string;
|
|
6
8
|
hideNegativeAxes?: boolean;
|
|
9
|
+
hideAxisHeads?: boolean;
|
|
7
10
|
disabled?: boolean;
|
|
8
11
|
font?: string;
|
|
9
12
|
onClick?: (e: Event) => null;
|
|
10
13
|
};
|
|
11
|
-
export declare const GizmoViewport: ({ hideNegativeAxes, disabled, font, axisColors, labelColor, onClick, ...props }: GizmoViewportProps) => JSX.Element;
|
|
14
|
+
export declare const GizmoViewport: ({ hideNegativeAxes, hideAxisHeads, disabled, font, axisColors, axisHeadScale, labels, labelColor, onClick, ...props }: GizmoViewportProps) => JSX.Element;
|
|
12
15
|
export {};
|
package/core/GizmoViewport.js
CHANGED
|
@@ -26,6 +26,7 @@ function AxisHead({
|
|
|
26
26
|
arcStyle,
|
|
27
27
|
label,
|
|
28
28
|
labelColor,
|
|
29
|
+
axisHeadScale = 1,
|
|
29
30
|
...props
|
|
30
31
|
}) {
|
|
31
32
|
const texture = React.useMemo(() => {
|
|
@@ -49,7 +50,7 @@ function AxisHead({
|
|
|
49
50
|
return new CanvasTexture(canvas);
|
|
50
51
|
}, [arcStyle, label, labelColor, font]);
|
|
51
52
|
const [active, setActive] = React.useState(false);
|
|
52
|
-
const scale = (label ? 1 : 0.75) * (active ? 1.2 : 1);
|
|
53
|
+
const scale = (label ? 1 : 0.75) * (active ? 1.2 : 1) * axisHeadScale;
|
|
53
54
|
|
|
54
55
|
const handlePointerOver = e => {
|
|
55
56
|
e.stopPropagation();
|
|
@@ -75,9 +76,12 @@ function AxisHead({
|
|
|
75
76
|
|
|
76
77
|
const GizmoViewport = ({
|
|
77
78
|
hideNegativeAxes,
|
|
79
|
+
hideAxisHeads,
|
|
78
80
|
disabled,
|
|
79
81
|
font = '18px Inter var, Arial, sans-serif',
|
|
80
82
|
axisColors = ['#ff3653', '#0adb50', '#2c8fdf'],
|
|
83
|
+
axisHeadScale = 1,
|
|
84
|
+
labels = ['X', 'Y', 'Z'],
|
|
81
85
|
labelColor = '#000',
|
|
82
86
|
onClick,
|
|
83
87
|
...props
|
|
@@ -93,6 +97,7 @@ const GizmoViewport = ({
|
|
|
93
97
|
labelColor,
|
|
94
98
|
raycast,
|
|
95
99
|
onClick,
|
|
100
|
+
axisHeadScale,
|
|
96
101
|
onPointerDown: !disabled ? e => {
|
|
97
102
|
tweenCamera(e.object.position);
|
|
98
103
|
e.stopPropagation();
|
|
@@ -109,18 +114,18 @@ const GizmoViewport = ({
|
|
|
109
114
|
}), /*#__PURE__*/React.createElement(Axis, {
|
|
110
115
|
color: colorZ,
|
|
111
116
|
rotation: [0, -Math.PI / 2, 0]
|
|
112
|
-
}), /*#__PURE__*/React.createElement(AxisHead, _extends({
|
|
117
|
+
}), !hideAxisHeads && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(AxisHead, _extends({
|
|
113
118
|
arcStyle: colorX,
|
|
114
119
|
position: [1, 0, 0],
|
|
115
|
-
label:
|
|
120
|
+
label: labels[0]
|
|
116
121
|
}, axisHeadProps)), /*#__PURE__*/React.createElement(AxisHead, _extends({
|
|
117
122
|
arcStyle: colorY,
|
|
118
123
|
position: [0, 1, 0],
|
|
119
|
-
label:
|
|
124
|
+
label: labels[1]
|
|
120
125
|
}, axisHeadProps)), /*#__PURE__*/React.createElement(AxisHead, _extends({
|
|
121
126
|
arcStyle: colorZ,
|
|
122
127
|
position: [0, 0, 1],
|
|
123
|
-
label:
|
|
128
|
+
label: labels[2]
|
|
124
129
|
}, axisHeadProps)), !hideNegativeAxes && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(AxisHead, _extends({
|
|
125
130
|
arcStyle: colorX,
|
|
126
131
|
position: [-1, 0, 0]
|
|
@@ -130,7 +135,7 @@ const GizmoViewport = ({
|
|
|
130
135
|
}, axisHeadProps)), /*#__PURE__*/React.createElement(AxisHead, _extends({
|
|
131
136
|
arcStyle: colorZ,
|
|
132
137
|
position: [0, 0, -1]
|
|
133
|
-
}, axisHeadProps))), /*#__PURE__*/React.createElement("ambientLight", {
|
|
138
|
+
}, axisHeadProps)))), /*#__PURE__*/React.createElement("ambientLight", {
|
|
134
139
|
intensity: 0.5
|
|
135
140
|
}), /*#__PURE__*/React.createElement("pointLight", {
|
|
136
141
|
position: [10, 10, 10],
|
package/core/SpotLight.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),a=require("@react-three/fiber"),n=require("../materials/SpotLightMaterial.cjs.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var u=o(e),l=i(t);const s=new r.Vector3,c=l.forwardRef((({depthBuffer:e,color:t="white",distance:o=5,angle:i=.15,attenuation:c=5,anglePower:f=5,...m},p)=>{const h=l.useRef(null),d=a.useThree((e=>e.size)),g=a.useThree((e=>e.camera)),v=a.useThree((e=>e.viewport.dpr)),[b]=l.useState((()=>new n.SpotLightMaterial));a.useFrame((()=>{b.uniforms.spotPosition.value.copy(h.current.getWorldPosition(s)),h.current.lookAt(h.current.parent.target.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("react"),r=require("three"),a=require("@react-three/fiber"),n=require("../materials/SpotLightMaterial.cjs.js");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function i(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var u=o(e),l=i(t);const s=new r.Vector3,c=l.forwardRef((({depthBuffer:e,color:t="white",distance:o=5,angle:i=.15,attenuation:c=5,anglePower:f=5,...m},p)=>{const h=l.useRef(null),d=a.useThree((e=>e.size)),g=a.useThree((e=>e.camera)),v=a.useThree((e=>e.viewport.dpr)),[b]=l.useState((()=>new n.SpotLightMaterial));a.useFrame((()=>{b.uniforms.spotPosition.value.copy(h.current.getWorldPosition(s)),h.current.lookAt(h.current.parent.target.getWorldPosition(s))}));const w=l.useMemo((()=>{const e=new r.CylinderGeometry(.1,7*i,o,128,64,!0);return e.applyMatrix4((new r.Matrix4).makeTranslation(0,-o/2,0)),e.applyMatrix4((new r.Matrix4).makeRotationX(-Math.PI/2)),e}),[i,o]);return l.createElement("spotLight",u.default({ref:p,angle:i,color:t,distance:o},m),l.createElement("mesh",{ref:h,geometry:w},l.createElement("primitive",{object:b,attach:"material","uniforms-lightColor-value":t,"uniforms-attenuation-value":c,"uniforms-anglePower-value":f,"uniforms-depth-value":e,"uniforms-cameraNear-value":g.near,"uniforms-cameraFar-value":g.far,"uniforms-resolution-value":e?[d.width*v,d.height*v]:[0,0]})))}));exports.SpotLight=c;
|
package/core/SpotLight.js
CHANGED
|
@@ -21,7 +21,7 @@ const SpotLight = /*#__PURE__*/React.forwardRef(({
|
|
|
21
21
|
const [material] = React.useState(() => new SpotLightMaterial());
|
|
22
22
|
useFrame(() => {
|
|
23
23
|
material.uniforms.spotPosition.value.copy(mesh.current.getWorldPosition(vec));
|
|
24
|
-
mesh.current.lookAt(mesh.current.parent.target.
|
|
24
|
+
mesh.current.lookAt(mesh.current.parent.target.getWorldPosition(vec));
|
|
25
25
|
});
|
|
26
26
|
const geom = React.useMemo(() => {
|
|
27
27
|
const geometry = new CylinderGeometry(0.1, angle * 7, distance, 128, 64, true);
|