在微信小游戏里用threejs

在微信小游戏里用threejs_第1张图片

如何基础调用:

three.js官网地址threejs.org。去download下载回来three.min.js,我们就可以开工了。
我们先建一个标准的微信游戏项目,做好基本的配置。在我们游戏的主文件中:
import * as THREE from ‘./libs/three.min’
这样即可以在我们的项目中引用THREE;
代理weapp-adapter,可以用github这个,地址是https://github.com/finscn/weapp-adapter;

	//实例化场景容器
	this.scene =  new THREE.Scene();
	//摄像机
	this.camera = new THREE.PerspectiveCamera( 55, window.innerWidth / window.innerHeight, 1, 20000 );
	this.camera.position.set( 30, 30, 100 );
    // 渲染器
    this.renderer = new THREE.WebGLRenderer({
        canvas: canvas,
        antialias: true
    });
	//设定宽高以及分辩率;
	this.renderer.setSize(window.innerWidth, window.innerHeight);
	this.renderer.setPixelRatio( window.devicePixelRatio );

以上是基础的调用代码,建立好这些就能进行模型渲染显示;

webgl基础知识:
微信小游戏和以前的网页的h5有什么样的区别呢,在渲染方式有所变化。微信出于安全考虑重新设计了微信小游戏的渲染环境,它已经不是以前的DOM的调用,在微信小游戏里你需要调用的是微信自己的canvas。

以下是threejs官网在平时实例化渲染器的代码:

renderer = new THREE.WebGLRenderer( { antialias: true } );
document.body.appendChild( renderer.domElement );

现在在微信小游戏里我们的实例化:

this.renderer = new THREE.WebGLRenderer({canvas: canvas,antialias: true});

其中的canvas就是微信的canvas了;

shader的写法:
shader最主要是两样的东西,顶点着色器vertexshader,片元着色器fragmentshader;
在以往网页中的vertexshader常规写是:


fragmentshader:


                    
                    

你可能感兴趣的:(threejs)