我正在尝试创建具有 Phong Material 特性(对光有反应)的粒子,为了实现这一点,我使用了“createMultiMaterialObject”,除了忽略粒子大小之外,这在大多数情况下都有效,出于某种原因粒子似乎是奇怪的三 Angular 形,见下文:
这是我正在使用的代码:
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 - 我非常接近得到我想要的东西,我怀疑这只是我需要在某个地方调整的选项。
最佳答案
试试这个:
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 );
关于javascript - THREE.js 使用 MeshPhongMaterial 作为粒子 Material 并设置大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18434162/