满意答案

展开全部

var scene = null;

var camera = null;

var renderer = null;

var mesh = null;

var id = null;

function init() {

renderer = new THREE.WebGLRenderer({//渲染器

canvas: document.getElementById('mainCanvas')//画布

});

renderer.setClearColor(0x000000);//画布颜色

scene = new THREE.Scene();//创建场景

camera = new THREE.OrthographicCamera(-5, 5, 3.75, -3.75, 0.1, 100);//正交投影照相机

camera.position.set(15, 25, 25);//相机位置

camera.lookAt(new THREE.Vector3(0, 2, 0));//lookAt()设置相机所看的位置

scene.add(camera);//把相机添加到场景中

var loader = new THREE.OBJLoader();//在init函数中,创建loader变量,用于导入模型

loader.load('libs/port.obj', function(obj) {//第一个表示模型路径,第二个表示完成导入后的回调函数,一般我们需要在这个回调函数中将导入的模型添加到场景中

obj.traverse(function(child) {

if (child instanceof THREE.Mesh) {

child.material.side = THREE.DoubleSide;

}

});

mesh = obj;//储存到全局变量中

scene.add(obj);//将导入的模型添加到场景中

});

var light = new THREE.DirectionalLight(0xffffff);//光源颜色

light.position.set(20, 10, 5);//光源位置

scene.add(light);//光源添加到场景中

id = setInterval(draw, 20);//每隔20s重绘一次

}

function draw() {//们在重绘函数中让茶壶旋转:

renderer.render(scene, camera);//调用WebGLRenderer的render函数刷新场景

mesh.rotation.y += 0.01;//添加动画

if (mesh.rotation.y > Math.PI * 2) {

mesh.rotation.y -= Math.PI * 2;

}

}

01分享举报

html导入.obj,如何用Babylon.js导入一个.obj模型相关推荐

  1. 如何用 Node.js 实现一个简单的 Websocket 服务?

    最近正在研究 Websocket 相关的知识,想着如何能自己实现 Websocket 协议.到网上搜罗了一番资料后用 Node.js 实现该协议,倒也没有想象中那么复杂,除去注释语句和 console ...

  2. php 写一个大富翁游戏,抽奖系列:如何用纯js做一个大富翁游戏

    话不多说,先上效果图: 功能点: 礼品的位置 小怪兽位置的变化(走路.转身和回退) 小怪兽的跳跃弧度 确定好功能点,接下来就是逐个击破: 1.渲染奖品 获取奖品数据后,建一个数组存放奖品的位置,通过遍 ...

  3. 使用js制作一个3d模型

    在学习js和jq时制作的一个小功能,可实现一个3d模型 可以点击开始旋转 切换背景颜色等 需要引入: <script src="JS/three.js-master/three.js- ...

  4. 前端每日实战:164# 视频演示如何用原生 JS 创作一个数独训练小游戏(内含 4 个视频)...

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/mQYobz 可交互视频 此视频是可 ...

  5. 前端每日实战:163# 视频演示如何用原生 JS 创作一个多选一场景的交互游戏(内含 3 个视频)...

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/LXMzRX 可交互视频 此视频是可 ...

  6. 干货!如何用Node.js实现一个精巧的P2P网络

    加密货币都是去中心化的应用,去中心化的基础就是P2P网络,其作用和地位不言而喻,无可替代.当然,对于一个不开源的所谓私链(私有区块链),是否必要,尚无定论. 事实上,P2P网络不是什么新技术.但是,使 ...

  7. 如何用纯js做一个大富翁游戏

    下面这张是效果图: 先立个flag,一个星期内把这个坑填了 今天7月1号,建党节,在这个伟大的节日,我来填坑了. 这个游戏有以下几个难点: 1.礼品的位置 2.小怪兽位置的变化(走路.转身和回退) 3 ...

  8. babylon.js入门日记系列

    一直就有一个给宝宝写游戏的念头.百度一番.选了这个babylon.js(巴比伦).先说好,游戏开发方面我是啥也不会, 要是把你带沟里去了,你也别介意.好了,说干就干,开始......... babyl ...

  9. babylonjs 分部加载模型_使用 Babylon.js 在 HTML 页面加载 3D 对象

    五一 Windwos Blogs 推了一篇博客, Babylon.js v3.2 发布了.因为一直有想要在自己博客上加载 3D 对象的冲动,这两天正好看到了,就动手研究研究.本人之前也并没有接触过 W ...

  10. Babylon.js 3.3发布:更强大的粒子系统和WebVR支持

    Babylon.js 3.3版本利用微软混合现实工具包(MRTK)的功能来改进WebVR开发,并改进了其粒子系统控件. MRTK提供了一系列脚本和组件来加速混合现实应用程序的开发.为了简化GUI VR ...

最新文章

  1. 如何解决Win10不能新建项目的问题?
  2. 技术正文 history命令添加时间---测试磁盘写入速度
  3. Angular4 组件通讯方法大全
  4. linux电视改安卓,mstar安卓智能电视方案源代码常用修改
  5. 如何修改Fiori Launchpad里Tile count 调用的时间间隔
  6. lambda表达式方法泛型_模板方法模式–使用Lambda表达式,默认方法
  7. 文件断点续传原理与实现
  8. html 使用百度搜索,百度搜索uzer,进入主页
  9. Linux开发_GDB_dump_Core调试
  10. 网站集成paypal快捷支付
  11. javascript classList add报错
  12. 《高性能Linux服务器构建实战:系统安全、故障排查、自动化运维与集群架构》——3.3 DRBD的管理与维护...
  13. 【转】android题目
  14. 最近新发现的歌谱排版软件Lilypond
  15. MATLAB中神经网络工具箱的使用
  16. C300 之SFU设备配置指导
  17. Nginx系列教程(07) - Location正则表达式
  18. 《雷神的微软平台安全宝典》简介
  19. 培训机构出来的程序员进不了大厂?
  20. win7安装node版本最高只支持13.14.0

热门文章

  1. stap监控IO脚本
  2. 图解3GPP规范文档组织结构与编号规则
  3. 给机器人罗宾写一封英语回信_小学英语人教(13版三起点)六年级上册Unit1
  4. Java解析json数组三种情况
  5. 2.3 sklearn中的metrics.roc_curve评价指标
  6. 交叉熵和相对熵(KL散度)
  7. 做自媒体赚钱,分享一个完整的影视剪辑的基本流程
  8. 说说关于访问控制模型
  9. [转]QNX系统开发-镜像制作及烧录分析
  10. COMSOL随机裂缝生成