当前位置: 首页 > news >正文

专业的基础微网站开发建筑模板种类有哪些

专业的基础微网站开发,建筑模板种类有哪些,网站商城网络整合营销,如何推广好一个产品前言 假设您正在现有项目中集成这些包,而该项目的构建工具为 Webpack 或 Vite。同时,您对 Three.js 和 React 有一定的了解。如果您发现有任何错误或有更好的方法,请随时留言。 安装 npm install three types/three react-three/fiber rea…

前言

假设您正在现有项目中集成这些包,而该项目的构建工具为 Webpack 或 Vite。同时,您对 Three.js 和 React 有一定的了解。如果您发现有任何错误或有更好的方法,请随时留言。

安装

npm install three @types/three @react-three/fiber @react-three/drei @mkkellogg/gaussian-splats-3d

设置两个标头

gaussian-splats-3d内部使用Worker和SharedArrayBuffer(共享内存)。
对于顶级文档,需要设置两个标头来实现你网站的跨源隔离:

  • Cross-Origin-Opener-Policy 设置为 same-origin(来保护你的源站点免受攻击)
  • Cross-Origin-Embedder-Policy 设置为 require-corp 或 credentialless(保护受害者免受你的源站点的影响)
webpack设置标头
{"devServer":{"headers": {"Cross-Origin-Embedder-Policy": "require-corp","Cross-Origin-Opener-Policy": "same-origin"}}
}
vite设置标头
npm i -D vite-plugin-cross-origin-isolation
import { defineConfig } from "vite";export default defineConfig({plugins: [{name: "configure-response-headers",configureServer: (server) => {server.middlewares.use((_req, res, next) => {res.setHeader("Cross-Origin-Embedder-Policy", "require-corp");res.setHeader("Cross-Origin-Opener-Policy", "same-origin");next();});},},],
});

创建一个组件

useViewer.ts

import { useCallback, useEffect } from 'react';
import * as GaussianSplats3D from '@mkkellogg/gaussian-splats-3d';
import { Scene } from 'three';interface Options {scene: Scene;
}
export const useViewer= ({ scene }: Options) => {const init = useCallback(() => {const viewer = new GaussianSplats3D.DropInViewer();viewer.addSplatScenes([{path: 'assets/bonsai-7k-mini.splat',splatAlphaRemovalThreshold: 20}],true);scene.add(viewer);}, [scene]);useEffect(() => {init();}, []);
};
import React, { useRef } from 'react';
import { Canvas } from '@react-three/fiber';
import { OrbitControls } from '@react-three/drei';
import { PerspectiveCamera, Scene, Vector3 } from 'three';
import { useViewer } from '@/hooks/useWorkRoom';function setupCamera() {const camera = new PerspectiveCamera(65, window.innerWidth / window.innerHeight, 0.1, 500);camera.position.set(0, -4, 0);camera.lookAt(new Vector3().fromArray([0, 0, 0]));camera.up = new Vector3().fromArray([0, -1, -0.6]).normalize();return camera;
}function setupScene() {const scene = new Scene();return scene;
}export const Dashboard = () => {const scene = useRef<Scene>(setupScene());const camera = useRef<PerspectiveCamera>(setupCamera());useViewer({ scene: scene.current });return (<Canvas scene={scene.current} camera={camera.current}><OrbitControls /></Canvas>);
};export default Dashboard;

效果

在这里插入图片描述

http://www.yayakq.cn/news/716910/

相关文章:

  • 网站开发网页gif设计公司图片素材网站免费大推荐
  • 网站栏目定位博客吧 wordpress
  • 榆林网站建设公司电话梅州百度seo公司
  • 网站的图书资源建设传奇类型的网游
  • 玫瑰在线 网站建设内容wordpress网站音乐放不全
  • 国内好的网站设计住房和城乡建设网官网八大员报名
  • 烟台搭建网站建设制作html背景颜色代码怎么写
  • 淘宝cms建站上海著名的网站制作公司
  • 潍坊网站建设建站开题报告网站开发方法
  • 品牌宣传网站制作制作一个购物网站要多少钱
  • 网站去哪里做河南城乡建设厅网站
  • 世界杯网站建设字体图标网站
  • 网站开发与维护招聘石家庄专业网站设计电话
  • 网站的特点有那些网站的展现形式
  • 杭州专业做网站的内蒙包头网站开发
  • html 如何嵌入网站页面怎样自建网站
  • 网站建设网站制作提供服务做网站的费用记哪个科目
  • 岳阳网站建设哪里便宜张家港做网站收费标准
  • 网站怎么做参考文献佛山专业建站公司
  • 虹口品牌网站建设wordpress 主题 免费
  • 免费进入正能量的网站学校模板图片
  • 百度生成手机网站个人网站备案简介怎么写
  • 微站小程序我国婚纱网站建设的现状
  • 东莞网页设计培训学校潮州网站seo
  • 种子网站开发多少钱推广运营平台
  • 地板网站代码中国建设银行湖北省分行网站
  • 国外室内设计网站大全网站申请微信支付
  • 专业网站建设公司兴田德润放心镇江做网站的公司
  • 焦作网站建设的公司自助建网站软件平台
  • 济南好的网站建设公司哪家好大型自助建站平台