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

vue-3d-loader

vue-3d-loader - npm

GitHub - king2088/vue-3d-loader: VueJS and threeJS 3d viewer

是对 vue-3d-model 的改进,降低Threejs使用难度

# 默认安装 "vue-3d-loader": "^1.3.4", 只支持vue2
npm i vue-3d-loader
# vue3 需要安装2版本,vite只建立在vue3之上的,因此vite也是需要安装2版本
npm i vue-3d-loader@2.2.1 --save 
<template>
  <div class="player-container">
    <!--1和2版本都是 @load-->
    <vue3dLoader style="height: 100vh;" :showFps="false" :scale="scale" :rotation="rotation" :lights="lights" filePath="https://basin.csceccloud.net:9000/tomcat/fbx/yushuihy.FBX"
      :backgroundAlpha="0" @load="onLoad"></vue3dLoader>
    <!-- <vue3dLoader style="height: 100vh;" :showFps="false" :scale="scale" :rotation="rotation" :lights="lights" filePath="https://basin.csceccloud.net:9000/tomcat/fbx/panjiduanmian.glb"
      :backgroundAlpha="0" @load="onLoad"></vue3dLoader> -->
  </div>
</template>

<script>
import { vue3dLoader } from "vue-3d-loader";

export default {
  components: {
    vue3dLoader
  },
  data() {
    return {
      scale: { x: 1.5, y: 1.5, z: 1.3 },
      rotation: {
        x: 0,
        y: 0,
        z: 0,
      },
      //3d模型灯光
      lights: [
        {
          type: 'HemisphereLight',
          position: { x: 2, y: 2, z: 2 },
          skyColor: 0xffffff,
          intensity: 2,
        },
        {
          type: 'DirectionalLight',
          position: { x: 2, y: 2, z: 2 },
          color: 0xffffff,
          intensity: 2,
        }
      ],
    }
  },
  methods: {
    onLoad() {
      console.log('模型加载完成')
      this.rotate();
    },
    rotate() {
      requestAnimationFrame(this.rotate);//实现自动旋转效果
      this.rotation.y += 0.001;
    },
  }
}
</script>

<style>
html,
body {
  padding: 0;
  margin: 0;
  overflow: hidden;
}

.player-container {
  width: 100vw;
  height: 100vh;
  background-color: black;
}
</style>

模型放在服务器的tomcat中,跨域配置参见这篇文章:

vue-3d-model-CSDN博客


http://www.kler.cn/a/228634.html

相关文章:

  • 云原生周刊:K8s 生产环境架构设计及成本分析
  • CamemBERT:一款出色的法语语言模型
  • gitignore忽略已经提交过的
  • MySQL 与 Redis 数据一致性 2
  • ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32‘ not found
  • python+django+Nacos实现配置动态更新-集中管理配置(实现mysql配置动态读取及动态更新)
  • Leetcode 3030. Find the Grid of Region Average
  • MySQL分区的优缺点
  • 哪些骨传导蓝牙立体声耳机好?骨传导蓝牙立体声耳机高性价比推荐
  • 使用代理IP有风险吗?如何安全使用代理IP?
  • vue 下载二进制文件
  • 可控概率抽奖算法
  • mac下载工具:JDownloader 2 for Mac 中文版
  • Backtrader 文档学习-Indicators- TA-Lib
  • openGauss学习笔记-214 openGauss 性能调优-确定性能调优范围
  • 多输入多输出 | Matlab实现PSO-LSTM粒子群优化长短期记忆神经网络多输入多输出预测
  • BUU UPLOAD COURSE 1
  • PHP框架详解 - symfony框架
  • 备战蓝桥杯---数据结构与STL应用(进阶2)
  • 【Redis】实现缓存及相关问题
  • 网络安全-端口扫描和服务识别的几种方式
  • WPF DataTemplate内重写BorderBrush,VisualBrush内数据源绑定提示绑定失败
  • 数据挖掘实战-基于决策树算法构建北京市空气质量预测模型
  • 前端excel带样式导出 exceljs 插件的使用
  • C语言动态库全面深入剖析
  • [office] 在Excel2010中设定某些单元格数据不参与排序的方法介绍 #其他#知识分享#笔记