簡體   English   中英

THREE.js使用MeshPhongMaterial作為粒子材料和設置大小

[英]THREE.js Using MeshPhongMaterial As Particle Material and Setting Size

我正在嘗試創建具有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 - 我非常接近得到我想要的東西,我懷疑它只是一個我需要調整到某個地方的選項。

試試這個:

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 );

我從來沒有使用過three.js,但是我正在弄亂你的小提琴,我通過在TorusGeometry聲明中調整RadialSegments的值來獲得看起來更像粒子的東西....

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

http://jsfiddle.net/sJZeH/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM