草庐IT

three-tier

全部标签

javascript - Three.js 将对象附加到骨骼

有什么方法可以将网格附加到骨骼上吗?例如,我加载了动画.jsAngular色,我想将武器附加到它的手上。 最佳答案 在Bone和Object3D原型(prototype)上使用一些简单的hack是可能的。由于骨骼继承自Object3D,它们可能有子对象,所以我们可以轻松地.add()一个网格到任何骨骼。但是,SkinnedMesh只会对非Bone子对象调用updateMatrixWorld(),对Bone子对象调用update()。此外,骨骼会为其每个子级调用update()(无论它是否是骨骼)。以下片段改变了这种行为://modi

javascript - Three.js - 在自定义几何体上对 Lambert Material 进行平滑着色时出现问题

我在Three.js中创建了一个自定义几何体。现在,我想创建一个使用平滑阴影LambertMaterial的网格。使用循环,我创建了顶点数组,然后是面,然后我调用了geometry.computeCentroids();geometry.computeFaceNormals();geometry.computeVertexNormals();varcolorMaterial=newTHREE.MeshLambertMaterial({color:0x0000ff,side:THREE.DoubleSide});varmesh=newTHREE.Mesh(geometry,colorMa

javascript - 如何在 three.js 中切换 preserveDrawingBuffer?

基本上,我想要可以转到preserveDrawingBuffer=true的设置,渲染场景一次,抓取屏幕截图,然后返回。然而,这带来了两个问题:渲染器中没有处理所有缓冲区的方法,如果我这样做,Canvas会变黑renderer=newTHREE.WebGLRenderer({canvas:renderer.domElement,preserveDrawingBuffer:true});如何正确执行此操作?编辑:我没有找到切换它的方法,所以我不得不克隆场景并创建第二个渲染器来制作屏幕截图。参见https://github.com/mrdoob/three.js/issues/189

javascript - 在 three.js 示例中使用 dat.GUI 时出现问题

我尝试使用dat.GUI在下面三个.js中example.我只是做了以下代码更改来添加一个GUI来调整网格不透明度。varloader=newTHREE.VTKLoader();loader.load("models/vtk/bunny.vtk",function(geom){varmesh=newTHREE.Mesh(geom,material);mesh.doubleSided=true;mesh.position.setY(-0.09);scene.add(mesh);vargui=newdat.GUI();varview=this;view.Opacity=0.2;varmai

javascript - 在 Three.js 中设置 2D View

我是three.js的新手,正在尝试使用这些3D工具设置相当于2D可视化(用于各种分层Sprite)的内容。我想要一些关于PerspectiveCamera()参数和camera.position.set()参数的指导。我已经在从thisanswer到relatedquestion的正确方向上进行了轻推,这表示将z坐标设置为等于0中的camera.position.set(x,y,z)。下面是我从stemkoski'sthree.jsexamples之一修改的代码片段。目前困扰我的部分是VIEW_ANGLE、x和y的值。假设我想在屏幕大小的平面上有一个平面相机View,我应该如何分配这

javascript - Three.js 围绕物体旋转相机(可能会移动)

我有一个相机在场景中以几种不同的方式移动。相机应围绕目标位置旋转。在我的例子中,这是用户瞄准的网格上的一个点。因为相机通常不需要相对于这一点移动,所以我无法在这里使用枢轴的想法:https://github.com/mrdoob/three.js/issues/1830.我当前的解决方案使用以下代码:varrotationY=newTHREE.Matrix4();varrotationX=newTHREE.Matrix4();vartranslation=newTHREE.Matrix4();vartranslationInverse=newTHREE.Matrix4();varmat

javascript - Three.js 第一人称控制

我正在使用Three.js和WebGL,但无法完全按照我想要的方式进行控制。我选择尝试“滚动我自己的”控件,因为Three.js的FirstPersonControls不使用指针锁定。无论如何,我的大部分代码都来自内置的FirstPersonControls,将其转换为使用指针锁定(movementX而不是pageX-offset),但我无法平滑注视Action。这是我的onMouseMove(使用originalEvent因为它是一个jquery事件):onMouseMove:function(e){if(!document.pointerLockElement)return;var

javascript - Three.js 透明度/差异

我是threejs的新手,我正在尝试制作一个简单的3d模型。尽管如此,自从我开始使用不透明度以来,我遇到了一些透明度/差异问题。我代码的重要部分在这里:varcylJaun=newTHREE.MeshNormalMaterial({color:0xFFFF00,opacity:1});varcylBleu=newTHREE.MeshNormalMaterial({color:0x0000FF,opacity:0.5});varcylJaun1=newTHREE.Mesh(newTHREE.CylinderGeometry(50,50,50,100,1,false),cylJaun);v

javascript - Three.js Object3d 圆柱体旋转对齐向量

我进行了广泛的搜索,但似乎无法弄清楚这个非常基本的东西。一两年前,我在stackoverflow和其他地方看到过其他示例,但它们无法与最新版本的Three.js一起使用。这是我正在处理的版本:http://medschoolgunners.com/sandbox/3d/.我试图让灰色圆锥与未标记的红色矢量完全对齐。IE。我希望圆锥体的尖端与矢量完全对齐,并从原点指向该方向。这是我现在的代码://FUNCTIONTOCREATEACYLINDERfunctioncreate_cylinder(radiusTop,radiusBottom,height,segmentsRadius,seg

javascript - three.js中如何获取顶点的绝对位置?

据我所知,varpoint=object.geometry.vertices[i];将返回x、y的相对位置对象几何内部点的code>和z。如果对象被移动、旋转或缩放,如何获得绝对位置? 最佳答案 首先确保对象的矩阵已经更新。object.updateMatrixWorld();渲染循环通常会为您调用它。然后,这样做:varvector=object.geometry.vertices[i].clone();vector.applyMatrix4(object.matrixWorld);矢量现在将包含世界坐标中的位置。你可能想读一些C