UNPKG

@gsmlg/three-fiber

Version:
74 lines (72 loc) 3.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ModelExhibition = void 0; var _react = _interopRequireWildcard(require("react")); var _fiber = require("@react-three/fiber"); var _drei = require("@react-three/drei"); var _Model = require("./Model"); var _jsxRuntime = require("react/jsx-runtime"); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } // import * as THREE from 'three'; const ModelExhibition = ({ modelUrl, environment, modelUpdater = () => {}, backgroundColor = { args: ['#101010'] }, fogAttributes = { args: ['#101010', 10, 50] }, meshAttributes = { color: '#aFa0b0' } }) => { return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_fiber.Canvas, { dpr: [1, 2], shadows: true, camera: { fov: 45 }, children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("color", { ...backgroundColor, attach: "background" }), /*#__PURE__*/(0, _jsxRuntime.jsx)("fog", { attach: "fog", ...fogAttributes }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Suspense, { fallback: null, children: [environment != null && /*#__PURE__*/(0, _jsxRuntime.jsx)(_drei.Environment, { ...environment }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_drei.Stage, { environment: null, intensity: 1, contactShadowOpacity: 1, shadowBias: -0.0015, children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Model.Model, { scale: 0.01, modelUrl: modelUrl, modelUpdater: modelUpdater }) })] }), /*#__PURE__*/(0, _jsxRuntime.jsx)("mesh", { "rotation-x": -Math.PI / 2, scale: 100, children: /*#__PURE__*/(0, _jsxRuntime.jsx)("meshStandardMaterial", { transparent: true, depthWrite: false, ...meshAttributes }) }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_drei.OrbitControls, { autoRotate: true, enableZoom: false, enablePan: false, minPolarAngle: Math.PI / 2.8, maxPolarAngle: Math.PI / 2.8 })] }); }; exports.ModelExhibition = ModelExhibition;