124  
查询码:00000914
小程序使用threejs第一篇——安装_小程序,threejs
来源:https://blog.csdn.net/WeiHan_Seven/article/details/104472261
作者: 朱凡 于 2020年03月04日 发布在分类 / FM组 / FMWechat 下,并于 2020年03月04日 编辑
阅读 阅读数 读数 程序 threejs three.js 游戏 小游戏 使用 来自

小程序使用threejs第一篇——安装


Three.js 小程序 WebGL 的适配版本(threejs-miniprogram)已经发布很久了,我也好奇了很久,终于有时间去学习研究一下,不对的地方欢迎指正。

(一)构建方法(2种)

第一种:官方提供的安装方法是通过npm安装构建,如下:
1、通过 npm 安装

npm install --save threejs-miniprogram

安装完成之后在微信开发者工具中点击构建 npm。

2、导入小程序适配版本的 Three.js

import {createScopedThreejs} from 'threejs-miniprogram' Page({ onReady() { wx.createSelectorQuery() .select('#webgl') .node() .exec((res) => { const canvas = res[0].node // 创建一个与 canvas 绑定的 three.js const THREE = createScopedThreejs(canvas) // 传递并使用 THREE 变量 }) } }) 
<canvas
 type="webgl" id="webgl" style="width: 100%; height: 450px;" ></canvas> 

第二种:本人一向喜欢复制粘贴,可将threejs-miniprogram直接复制进项目中指定位置,如下
在这里插入图片描述
再依照上述步骤2导入,这时候就构建成功了,是不是很简单。

(二)测试示例

构建成功后测试效果:
1、导入测试实例example.js

const { renderExample1 } = require('../threejsCases/example1') 

2、调用renderExample1中方法

renderExample1(canvas,THREE) 

example1的代码如下:

export function renderExample1(canvas, THREE) { var camera, scene, renderer; var cube; init(); animate(); function init() { camera = new THREE.PerspectiveCamera(100, canvas.width / canvas.height, 1, 1000); scene = new THREE.Scene(); scene.background = new THREE.Color(0xf0f0f0); renderer = new THREE.WebGLRenderer(); renderer.setPixelRatio(wx.getSystemInfoSync().pixelRatio); renderer.setSize(canvas.width, canvas.height); var geometry = new THREE.BoxGeometry(10, 10, 10); var material = new THREE.MeshBasicMaterial({ color: 0xed3ed3 }); cube = new THREE.Mesh(geometry, material); scene.add(cube); camera.position.z = 20; } function animate() { cube.rotation.x += 0.01; cube.rotation.y += 0.01; canvas.requestAnimationFrame(animate); renderer.render(scene, camera); } } 

接下来就可以看到一个粉红色正方体在旋转了,如图:
在这里插入图片描述



 推荐知识

 历史版本

修改日期 修改人 备注
2020-03-04 00:01:51[当前版本] 朱凡 创建版本

 附件

附件类型

GIFGIF PNGPNG

知识分享平台 -V 4.8.7 -wcp