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

在react 中还有另外一种three.js 渲染方式

npm install @react-three/drei

利用标签去渲染模型

import React, { useRef,useEffect, useState } from 'react';
import { Canvas, useFrame, useThree,useLoader } from '@react-three/fiber';
import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader';
import { OrbitControls } from '@react-three/drei';
import * as THREE from 'three';
function BuildingModel({  }) {const [position, setPosition] = useState([130,120,10]);// 使用useLoader钩子加载GLTF模型const gltf = useLoader(GLTFLoader, './绿植单元模型.glb');useFrame(() => {// 更新模型状态,如动画等});return (<meshposition={position}rotation={[0.9, 0.09,0.02]}  ><primitive object={gltf.scene} /></mesh>);
}export default function App() {return (<Canvas camera={{   type: 'perspective',position: [0, 188, 60] ,fov:120}} style={{width:'100%',height:'100vh'}}><ambientLight  intensity={1}/><directionalLight position={[0, 10, 0]} intensity={1} color="#ffffff" /> 添加定向光源<BuildingModel position={[0, 0, 60]}  /><OrbitControls // ref={controlsRef }enableZoom={false}target={[0,180, 60]} // 设置围绕的目标点enablePan={false} // 禁止平移minDistance={5} // 最小距离maxDistance={22} // 最大距离minPolarAngle={Math.PI/16} // 最小俯仰角(从上方)maxPolarAngle={Math.PI/16} // 最大俯仰角(到水平 />/></Canvas>);
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 51单片机-DS1302,操作简述
  • MySQL面试题--最全面-索引
  • Sqoop部署和基本操作
  • VBA学习(71):Excel VBA 访问带密码保护的Access数据库/用户窗体设置/EXCEL用户+密码登录界面(Access版)
  • vite项目配置本地开发使用https访问
  • vue3页面空白-普通函数和箭头函数提升的不同
  • 探索Python世界的趣味之旅:自制贪吃蛇游戏
  • 【Python123题库】#大学排行榜分析 #数据统计 #罗马数字转换
  • 【leetcode详解】一个小组的最大实力值【中等】
  • 如何用RoBERTa高效提取事件文本结构特征:多层次上下文建模与特征融合
  • Spring全局异常处理HandlerExceptionResolver使用
  • lambda c++/java/kotlin
  • 鸿蒙(API 12 Beta6版)图形【使用Text模块实现文本显示】方舟2D图形服务
  • 【运维监控】influxdb 2.0+telegraf 监控tomcat 8.5运行情况(1)
  • 「Python」assert 断言使用方法
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • 0基础学习移动端适配
  • Android单元测试 - 几个重要问题
  • HTTP请求重发
  • HTTP--网络协议分层,http历史(二)
  • LintCode 31. partitionArray 数组划分
  • 关于for循环的简单归纳
  • 简单数学运算程序(不定期更新)
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 模型微调
  • 通过git安装npm私有模块
  • 我感觉这是史上最牛的防sql注入方法类
  • 一个完整Java Web项目背后的密码
  • 原生js练习题---第五课
  • 扩展资源服务器解决oauth2 性能瓶颈
  • ​Java基础复习笔记 第16章:网络编程
  • !!java web学习笔记(一到五)
  • (30)数组元素和与数字和的绝对差
  • (C语言)逆序输出字符串
  • (C语言)字符分类函数
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (不用互三)AI绘画工具应该如何选择
  • (二十四)Flask之flask-session组件
  • (黑马C++)L06 重载与继承
  • (计算机网络)物理层
  • (利用IDEA+Maven)定制属于自己的jar包
  • (四)activit5.23.0修复跟踪高亮显示BUG
  • (五)关系数据库标准语言SQL
  • (最新)华为 2024 届秋招-硬件技术工程师-单板硬件开发—机试题—(共12套)(每套四十题)
  • .htaccess配置重写url引擎
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .net MVC中使用angularJs刷新页面数据列表
  • .Net 执行Linux下多行shell命令方法
  • .NET企业级应用架构设计系列之技术选型
  • .NET正则基础之——正则委托
  • .Net中的集合
  • /etc/fstab 只读无法修改的解决办法
  • ??如何把JavaScript脚本中的参数传到java代码段中
  • [20170728]oracle保留字.txt
  • [AI Google] Ask Photos: 使用Gemini搜索照片的新方法