从Unity到Three.js(安装启动)

发现在3D数字孪生或模拟仿真方向,越来越多的公司倾向使用Web端程序,目前一直都是使用的Unity进行的Web程序开发,但是存在不少问题,比如内存释放、shader差异化、UI控件不支持复制或输入中文等。虽然大多数问题都可以找到解决方案,但是最后也只能停在解决问题的程度,算不上是一个完美方案,因此想接触下three.js,开个系列记录下,一个0基础js的unity开发人员学习three.js的过程。
Three.js官方文档:(https://threejs.org/docs/index.html#manual/zh/introduction/Creating-a-scene)
一、环境配置,win10 64位操作系统。参考链接 https://zhuanlan.zhihu.com/p/653881053
1.安装Node.js: (https://www.nodejs.com.cn/)
win+R 输入cmd 输入node -v 确认node.js安装完成在这里插入图片描述
2.vscode安装

二、工程创建
1.新建一个存放工程的文件夹,如learning
2.将新建的工程目录文件夹拖拽到新打开的vscode中。
3.点击终端–新建终端 会发现终端直接进入了当前文件夹。在这里插入图片描述
4.创建vite项目,输入命令 npm create vite@latest
在出现的提示中,
设置项目名称,
框架默认Vanilla,
上下箭头选择javaScript在这里插入图片描述
5.安装threeJS
在左侧资源管理器项目名称文件夹上右键 选择在集成终端中打开。
输入命令 npm i vite three
这个过程等待可能会稍长一些时间。在这里插入图片描述
6.启动运行vite首页,输入 npm run dev在这里插入图片描述按住ctrl+鼠标左键,会直接在浏览器中打开,可以看到vite的主页。

三、编写第一个three.js代码,测试环境配置是否成功。
1.在左侧资源管理器中找到index.html
填入如下代码。

<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="utf-8">
    <title>My first three.js app</title>
    <style>
        body {
     
            margin: 0;
        }
    </style>
</head>
 
<body>
    <script type="module" src="main.js"></script>
</body>
 
</html>

2.找到main.js文件
填入如下代码。

import * as THREE from 'three';
 
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
 
const renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
 
const geometry = new THREE.BoxGeometry(1, 1, 1);
const material = new THREE.MeshBasicMaterial({
    color: 0x00ff00 });
const cube = new THREE.Mesh(geometry, material);
cube.position.x += 4;
scene.add(cube);
 
 
const cube2 = new THREE.Mesh(geometry, material);
scene.add(cube2);
 
camera.position.z = 5;
 
function animate() {
   
    requestAnimationFrame(animate);
 
    cube.rotation.x += 0.01;
    cube.rotation.y += 0.01;
 
    renderer.render(scene, camera);
}
 
animate();

刷新主页,可以看到两个cube,一个静态的,一个实时旋转的。

相关推荐

  1. UnityThree.js(计时器、Transform)

    2024-02-09 04:24:01       29 阅读
  2. UnityThree.js(模型文件加载)

    2024-02-09 04:24:01       26 阅读
  3. UnityThree.js(画线组件line)

    2024-02-09 04:24:01       36 阅读
  4. UnityThree.js(动态创建mesh)

    2024-02-09 04:24:01       37 阅读
  5. UnityUnity项目启动时报找不Git

    2024-02-09 04:24:01       14 阅读
  6. Unity Mirror 入门入神(二)

    2024-02-09 04:24:01       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-09 04:24:01       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-09 04:24:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-09 04:24:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-09 04:24:01       20 阅读

热门阅读

  1. 接口测试:Jmeter插件与分布式

    2024-02-09 04:24:01       31 阅读
  2. 18. 四数之和(力扣LeetCode)

    2024-02-09 04:24:01       36 阅读
  3. 【学习笔记】【内核】offsetof 的用法

    2024-02-09 04:24:01       29 阅读
  4. Kotlin手记(一):基础大杂烩

    2024-02-09 04:24:01       32 阅读
  5. C++服务器开发(3):创建服务器主循环

    2024-02-09 04:24:01       30 阅读
  6. LeetCode第1544题 - 整理字符串

    2024-02-09 04:24:01       30 阅读
  7. mybatis-plus循环处理多个条件的 or 查询

    2024-02-09 04:24:01       29 阅读