【问题标题】:THREE.js Using MeshPhongMaterial As Particle Material and Setting SizeTHREE.js 使用MeshPhongMaterial作为粒子材质并设置大小
【发布时间】:2013-08-28 08:30:34
【问题描述】:

我正在尝试创建具有 Phong 材料属性(对光有反应)的粒子,为了实现这一点,我使用了“createMultiMaterialObject”,除了忽略粒子大小之外,这在大多数情况下都有效,对于某些为什么粒子看起来是奇怪的三角形,见下文:

这是我正在使用的代码:

var ringGeometry = new THREE.TorusGeometry( rad, ringSize, 1, 200, Math.PI * 2);
materials = [
p2paterial = new THREE.MeshPhongMaterial({shading: THREE.SmoothShading, blending:     THREE.AdditiveBlending, transparent: true, color: ringColour, ambient: 0x000000, specular:     0xffffff, shininess: 1, vertexColors: false  } ),
pmaterial = new THREE.ParticleBasicMaterial( { size: 1, transparent: true,     vertexColors: true  } )
        ];
singleRing = new THREE.SceneUtils.createMultiMaterialObject(ringGeometry, materials);

任何人都可以指出我如何实现最后一点的方向,使每个粒子大小为 1 - 我非常接近得到我想要的东西,我怀疑这只是我需要在某个地方调整的选项。

【问题讨论】:

  • 你能举个例子吗?
  • 添加了一个直接显示问题的屏幕截图

标签: javascript three.js webgl


【解决方案1】:

试试这个:

var geometry = new THREE.TorusGeometry( rad, ringSize, 1, 200, Math.PI * 2);

var material = new THREE.MeshPhongMaterial({shading: THREE.SmoothShading, blending:     THREE.AdditiveBlending, transparent: true, color: ringColour, ambient: 0x000000, specular:     0xffffff, shininess: 1, vertexColors: false  } );
var mesh = new THREE.Mesh( geometry, material );
scene.add( mesh );

var material = new THREE.ParticleBasicMaterial( { size: 1, transparent: true,     vertexColors: true  } );
var particles = new THREE.ParticleSystem( geometry, material );
scene.add( particles );

【讨论】:

  • 感谢您尝试回答我的问题,但不幸的是,这会产生相同的结果,我只是得到了奇怪的三角形形状。我不知道这是否重要,但在我创建圆环几何图形后,我直接循环遍历它,随机移动顶点,如果有帮助,我也可以发布此代码?
  • 我制作了一个测试用例小提琴,准确地显示了上面代码的问题:jsfiddle.net/AL2QN
【解决方案2】:

我从来没有使用过three.js,但我在搞乱你的小提琴,通过调整你的TorusGeometry声明中的RadialSegments的值,我得到了一些看起来更像粒子的东西......

var geometry = new THREE.TorusGeometry( 10, 10, .5, 200, Math.PI * 2);

http://jsfiddle.net/sJZeH/

【讨论】:

  • 感谢您的意见。不幸的是,它们确实看起来像粒子,但它们没有 Phong 材料,这就是它们是黑色的原因,这意味着它们在所有光照条件下都可见。
  • 粒子系统显示的精灵有点像广告牌 - 我不认为你可以在上面获得类似 phong 的材质,除非你编写一些自定义着色。
猜你喜欢
  • 2017-04-14
  • 1970-01-01
  • 1970-01-01
  • 2018-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多