如何跑通跨窗口渲染:multipleWindow3dScene

New 这是一个跨窗口渲染的示例,用 Three.js 和 localStorage 在同一源(同产品窗口)上跨窗口设置 3D 场景。而这也是本周推特和前端圈的一个热点,有不少人在争相模仿它的实现,如果你对跨窗口的渲染有兴趣,可以读一读这个项目的代码。

https://github.com/bgstaal/multipleWindow3dScenehttps://github.com/bgstaal/multipleWindow3dScene

那么我们如何跑通这段代码呢?

首先把项目克隆下来,放在一个目录,用vscode打开这个目录,在vscode中安装插件live server和 Node.js当然你安装过就不用安装了。

之后是一个简便方法在vscode中双击打开intex.html文件,不断点击右下角的go live,出现一个窗口可以断开连接再点就可以出现多个连接了。

之后是复杂方法,此时我们可以尝试直接双击index.html文件,看是否能够顺利运行,多半是不可以的因为浏览器阻止了从本地文件系统 (file:///) 加载的 JavaScript 文件发起的跨域请求。这是浏览器的同源策略(Same Origin Policy)的一部分,用于保护用户安全。

此时使用本地服务器运行咱们的项目

之后创建一个简单的 Express 服务器文件,首先在cmd或者终端运行下边两条命令:

复制代码
npm init -y
npm install express

注意如果报错请查找报错原因,有些电脑可以需要从官网下载node.js进行安装并设置环境变量

然后在项目中创建一个文件server.js,并将下方代码放进去

复制代码
const express = require('express');
const app = express();
const port = 3000;

app.use(express.static(__dirname));

app.get('/', (req, res) => {
    res.sendFile(__dirname + '/index.html');
});

app.listen(port, () => {
    console.log(`Server is running at http://localhost:${port}`);
});

之后运行程序

复制代码
node server.js

注意如果报错请查找原因

通过浏览器访问项目: 打开浏览器,并在地址栏中输入 http://localhost:3000

记得打开多个页面,之后阉割版量子纠缠就出现了

相关推荐
da_vinci_x1 天前
Substance 3D 材质流:AI 快速生成与程序化精修
人工智能·游戏·3d·材质·设计师·技术美术·游戏美术
博图光电2 天前
3D TOF 视觉相机:以毫秒级三维感知,开启智能交互新时代
数码相机·3d
GISer_Jing2 天前
OSG多视口与多通道渲染核心技术解析
c++·3d·新浪微博
threelab2 天前
Merge3D:重塑三维可视化体验的 Cesium+Three.js 融合引擎
开发语言·javascript·3d
GISer_Jing2 天前
OSG底层从Texture读取Image实现:readImageFromCurrentTexture
前端·c++·3d
在下胡三汉3 天前
创建轻量级 3D 资产 - Three.js 中的 GLTF 案例
开发语言·javascript·3d
思茂信息3 天前
CST License(Flexnet)设置与问题处理方法
服务器·网络·单片机·3d·php·1024程序员节·cst
我希望的一路生花3 天前
Blender科幻机甲娘莉莉魅魔人物角色3D模型带骨骼动作绑定带贴图
3d·blender·贴图
杀生丸学AI3 天前
【视频生成】GVS:生成式视图拼接
3d·aigc·slam·跨模态·三维重建·视觉大模型·空间智能
CG_MAGIC4 天前
3ds Max材质高清参数设置:10分钟提升渲染真实感
3d·vr·3dmax·材质·vray·渲云渲染