美文网首页
vue 渲染3d模型基本用法

vue 渲染3d模型基本用法

作者: 静_c540 | 来源:发表于2019-07-30 11:34 被阅读0次

1、首先利用淘宝镜像,操作命令为:
cnpm install three --save
2.接下来安装加载.obj和.mtl文件的插件:
 cnpm install three-obj-mtl-loader --save
3.安装three-orbitcontrols:进行旋转缩放拖动控制
 cnpm install three-orbitcontrols  --save
4.webpack.base.conf.js配置:module》rules添加
{test:require.resolve("three/examples/js/controls/OrbitControls"), use:"imports-loader?THREE=three"}
{test:require.resolve("three/examples/js/controls/OrbitControls"),use:"exports-loader?THREE.OrbitControls"}
5.页面引入:
import *as THREEfrom 'three'
import {OBJLoader}from 'three-obj-mtl-loader'
import OrbitControlsfrom 'three/examples/js/controls/OrbitControls'
6. 当前我使用的是vue-cli2.x ,*.obj文件不需要通过编译,使用放在static文件夹里,
7.上代码:
init:function () {

    var _this=this;

    //        var url = 'http://192.168.1.186:8080/image/scan.obj';------------------------提示产生跨域

        var url ='../static/model/scan.obj';

        _this.scene =new THREE.Scene();

        _this.camera =new THREE.PerspectiveCamera(75, window.innerWidth /window.innerHeight, 0.1, 1000);

        _this.camera.position.set(0, 0, 100);

        _this.renderer =new THREE.WebGLRenderer();

        _this.renderer.setClearColor(0x404040);

        _this.renderer.setSize(620, 620);//布景大小

        document.body.appendChild( _this.renderer.domElement);

        _this.controls =new THREE.OrbitControls( _this.camera,  _this.renderer.domElement);

        var light =new THREE.DirectionalLight(0xffffff, 0.5);

        light.position.setScalar(100);

        _this.scene.add(light);

        _this.scene.add(new THREE.AmbientLight(0xffffff, 0.5));

        _this.scene.add(new THREE.GridHelper(100, 100));

        var objLoader =new THREE.OBJLoader();

        objLoader.load(url, function (object) {

        object.rotation.x = -Math.PI *0.5;

          var box =new THREE.Box3().setFromObject(object);

          var box3Helper =new THREE.Box3Helper(box);

          _this.scene.add(box3Helper);

          _this.scene.add(object);

        });

      },

      render() {

        var  _this=this;

        requestAnimationFrame(_this.render);//60次/秒

        _this.renderer.render( _this.scene,  _this.camera);

      }

8、其他问题:
npm install 其他插件之后,很容易出现three.js相关的报错,查看node_modules文件夹下的确实three的文件夹会缺失,需要在根目录下运行cnpm install即可,three会重新装回来。

9.如何用cdn引入呢还在爬坑中。。。。。

相关文章

  • vue 渲染3d模型基本用法

    1、首先利用淘宝镜像,操作命令为:cnpm install three --save2.接下来安装加载.obj和....

  • vue ssr原理

    vue-server-renderer 最基本的用法是使用 vue-server-renderer 创建渲染器re...

  • Vue.js(1) 基础使用

    起步 引入 vue.js 核心: 声明式渲染 这里的声明式渲染表示整个Vue实例都是基于数据+模型组成的, Vue...

  • PS的史诗级冬景效果图制作教程

    "这个效果图,灯光和氛围基本都靠后期处理,所以我花了很少的时间渲染3D模型。这是我最为自信的冬季场景效果图。从渲染...

  • NDK OpenGL ES 3.0 开发(二十一):3D 模型加

    该原创文章首发于微信公众号:字节流动 OpenGL ES 3D 模型加载和渲染 上一节简单介绍了常用的 3D 模型...

  • Vue基本用法

    Vue:渐进式javascript框架声明式渲染-->组件系统-->客户端路由-->集中状态管理-->项目构建 V...

  • 2018-05-29透视投影的原理和实现

    摘要:透视投影是3D渲染的基本概念,也是3D程序设计的基础。掌握透视投影的原理对于深入理解其他3D渲染管线具有重要...

  • Vue的基本属性&&事件

    Vue的基本指令 Vue和Angular的用法差不多,语法和属性也差不多,Vue更像是国人的框架,所有的用法和习惯...

  • vue原理与开发逻辑

    1、vue中的$nextTick()的用法和原理 vue的DOM更新是异步的,当数据更新了,再dom中渲染后,自动...

  • vue

    vue: vue:1.vue 2.Angualar 3.React 一个vuede 基本格式 vue的一些用法...

网友评论

      本文标题:vue 渲染3d模型基本用法

      本文链接:https://www.haomeiwen.com/subject/fvpgrctx.html