parcel + three.js

 [parcel](https://v2.parceljs.cn/getting-started/webapp/)打包工具相比别的打包工具比较更快捷方便

1、使用parcel搭建three.js开发环境

yarn add --dev parcel

or

npm install --save-dev parcel

three.js  基本的内容

引入

import * as THREE from  'three'

1、 创建场景

const scene = new THREE.Scene()

2、 创建相机  three

PerspextiveCamera(fov,aspect,near,far) // 摄像机视椎体垂直视野角度,视椎体长宽比,视椎体进端面,视椎体远端面

const camera = new THREE.PerspextiveCamera(75, window.innerWidth/window.innerHeight,

0.1, 

1000

)

3、设置相机位置

camera.position.set(0,0,10) // X,Y,Z

scene.add(camera)

4.添加物体(几何体)

const  cubeGeometry = new THREE.BoxGeometry() 

const cubeMaterial = new.THREE.MeshBsaicMaterial({color: 0xFFFF00})

4、根据几何体和材质创建物体

Mesh :网格

const cube = new.THREE.Mesh(cubeGeometry,cubeMaterial)

5、渲染几何体

scene.add(cube)


const renderer = new THREE.WebGLRenderer()

设置大小

renderer.setSize(window.innerWidth, window.innerHeight)

将webGL渲染的canvas内容添加到body

document.body.appendChild(renderer.domElement)

6、使用渲染器,通过相机将场景渲染进来

 renderer.render(scene,camera)

7、three的轨道控制器

import { OrbitControls} from  'three/examples/jsm/controls/orbitControls.js'

const  controls = new OrbitControls(camera, renderer.domElement) //相机,domElement

// 设置时钟

const clock  = new THREE.Clock()

// 设置控制器阻尼, 必须在动画循环里调用。update()

controls.enableDamping = true;

// 渲染函数

// requestAnimationFrame 时间参数 控制物体动画

function render(time){

// 

// 3D物体移动

// cube.position.x +=0.01;

// 物体的旋转

// cube.rotation.x +=0.01;

// if(cube.position.x > 5){

//     cube.position.x = 0;

// }

let time  =  clock.getElapsedTIme()

let t  = time % 5

cube.position.x = t * 1

// cube.rotation.x +=0.01;

rederer.render(scene,camera)

controls.update()

// 渲染下一帧的时候就会调用render函数

requestAnimationFrame(rederer) 

}

render()

8、添加坐标辅助器

const axexHelper = new THREE.AxexHelper( 5 );// 长度

scene.add( axexHelper)

9、物体的移动,缩放,旋转

// cube.position.set(5,0,0) 设置物体的位置

cube.position.x()

// 物体缩放

cube.scle.set(3,2,1)

// 物体旋转

cube.rotation.set(Math.PI/4, 0 , 0,'XYZ' ) // X,Y,Z  , 旋转的顺序默认XYZ
 

10、 设置时钟

// Clock 跟踪时间

       autoStart: 第一次update是开启时钟

        startTime:存储时钟最后一次调用start方法时间

        oldTIme:存储时钟最后一次调用start,getELapsedTime 或getDelta方法时间

        elapsedTIme:保存时钟运行的总时长

        running: 判断是否在运行

const clock  = new THREE.Clock()

let time  =  clock.getElapsedTIme() // 获取时钟运行总时长

let deltaTime  =  clock.getDelta()  // 获取两次时间的间隔时间

监听画面变化,更新渲染画面

window.addEvenetListener('resize', ()=>{

        // 更新相机

        camera.asspect = window.innerWidth/window.innerHeight ;

        // 更新摄像机的投影矩阵

        camera.updateProjectionMatrix();

        // 更新渲染器

        renderer.setSize(window.innerWidth,window.innerHeight);

        // 设置渲染器的像素比

        renderer.setPixelRatio(window.deivcePixelRatio);

})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要在Node.js中安装和配置Three.js环境,您可以按照以下步骤进行操作: 1. 在终端中使用npm命令安装Three.js模块。在您的项目目录下运行以下命令: ``` npm install three --save ``` 这将安装Three.js模块并将其添加到您的项目的依赖中。 2. 确保您已经安装了Node.js和npm,并且已在项目目录中初始化了一个包含package.json文件的npm项目。 3. 在您的JavaScript文件中引入Three.js模块。您可以使用以下代码在您的文件中引入Three.js模块: ```javascript const THREE = require('three'); ``` 现在,您可以在您的项目中使用Three.js库了。 4. 如果您想在浏览器中使用Three.js,您可以将Three.js相关文件直接引入到您的HTML文件中。您可以从官方网站下载Three.js文件,并使用以下代码将其引入到您的HTML文件中: ```html <script src="path/to/three.js"></script> ``` 5. 如果您使用Parcel等构建工具,您可以通过使用npm命令来搭建Three.js开发环境。在您的项目目录下运行以下命令: ``` npm run dev ``` 这将启动开发服务器,并在您的浏览器中开启项目。 综上所述,您可以通过使用npm命令在Node.js中安装Three.js模块,并在您的项目中引入它来配置Three.js环境。如果您希望在浏览器中使用Three.js,您可以直接将相关文件引入到您的HTML文件中,或者使用构建工具如Parcel来搭建开发环境。[4<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值