我正在使用托管在node.js上的three.js。我将它与一个可以生成opengl纹理作为输出帧的相机一起使用。我想在three.js中使用这个实时的纹理流。我已经能够在相机和three.js之间创建共享上下文,并且我可以确认在相机上下文和three.js上下文中都存在纹理。我不太确定如何让three.js尊重外部维护的纹理。现有的videotexture对象不是正确的方式,它从浏览器dom对象复制帧数据,我想直接使用相机生成的纹理。
由于这类似于threejs的render- to -texture支持,只是渲染发生在threejs之外,所以我尝试修改该代码以支持外部纹理,但这看起来有点繁
我有一个3D模型与UV映射创建搅拌机。我应用UV映射的方式,纹理只适用于模型的一侧。我将模型导出为obj和mtl。当我在three.js上导入这个模型时,它按预期工作,加载程序会自动将mtl文件中定义的图像作为纹理应用。
现在,我想在three.js中通过编程改变这个纹理。模型有多种材料(我认为是因为多张脸)。我如何重新应用的材料,保持UV映射和只是改变纹理应用?我想将map和envMap应用到模型中。
var m = new THREE.MeshPhongMaterial({
envMap:
我是Three.js的新手,想要添加淡入动画,以便将新的网格几何体添加到场景中。使材质的不透明度在添加后从0更改为1。我该怎么做? 我试图在GUI按钮下的函数外部定义不透明度,但似乎更新动画不起作用 var opa = 0;
var MyUpdateLoop(){
requestAnimationFrame(MyUpdateLoop);
renderer.render(camera, scene);
//here is the problem
opa += 0.1;
}
function buildGui(){
gui = new dat.GUI();
v
在three.js中,我创建了一个使用纹理来控制透明度的材质。纹理是从画布创建的。画布是用rgba的fillStyle绘制的。Alpha在画布上各不相同。我追求的效果是改变材质附加到的对象的透明度。这是不可能的。该对象保持不透明。 代码: tubeTexture = new THREE.Texture(canvas);
tubeTexture.center.set(0.5, 0.5);
tubeTexture.rotation = Math.PI/2.0;
// turn off any filtering to create sharp edges when highlighting
/
我正在使用three.js开发一个简单的模型预览器,其中用户可以动态上传和更改模型材质的纹理,等等。
在我的一生中,我无法克服这个错误,我在three.js中遇到过这个问题,其他应该有addEventListener方法的加载器也遇到过这个问题。那么我到底做错了什么呢?我正在使用r59
function loadTex(tex)
{
var texture = new THREE.Texture();
var imgloader = new THREE.ImageLoader( manager );
imgloader.addEventListener('l
我正在努力学习three.js,并且正在查找一些例子。我试图运行这个代码,但是,它所显示的只是一个黑屏。
我将three.js源文件修改为我的目录,还将材质修改为以下内容,因为我没有板条箱纹理。var material = new THREE.MeshStandardMaterial({metalness: 0, roughness: 0.5}); material.color.setHex(0xc23560)
我正在使用three.js做动画。我想动态更新一个立方体网格的材质。下面是一个例子:
// create cube geometry
var material1 = [new THREE.MeshBasicMaterial({color:0xBEE2FF}),.....];
var geometry = new THREE.CubeGeometry(50, 50, 50,0,0,0,material1 );
var cube = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial());
// ...
var material2 = [
我想知道带纹理的几何体是否可以在three.js中使用照明。在我的场景中,除了具有如下纹理指定的材质之外,所有材质都可以使用spotLight和directionalLight获得很好的照明:
var geometry = new THREE.OctahedronGeometry(1, 0)
var orange = new THREE.TextureLoader().load( 'img/orange.jpg' );
orange.wrapS = THREE.RepeatWrapping;
orange.wrapT = THREE.RepeatWrapping;
orang
我在中模拟了两个对象,使用不同的材质和不同的纹理UV映射到它们。我正在用渲染它
如果I ,则在生成的中有多个材质,但只有一个网格。
这是我用来用Three.js加载模型的(简化)代码:
var loader = new THREE.JSONLoader();
loader.load(myModelPath, function {
var material = geometry.materials[0];
material.morphTargets = true;
material.overdraw = true;
var mesh = new THREE.M