0
我正在進行程序性地形生成。此刻,我得到了由柏林噪音產生的地形。現在我想實施一個程序化的草代,但有一些限制。在頂部網格上產生物體
我只想生成草,如果是在世界中心半徑和地面上。我可以很容易地在世界中心的半徑內產卵。問題是我不知道如何知道指定座標的高度。
這是我試圖實現這一點,但不起作用,我不知道該怎麼做。我需要一些建議。
var group = new THREE.Group();
noise.seed(23);
var worldWidth = 256, worldDepth = 256;
var data = generateNoise(worldWidth, worldDepth);
var geometry = new THREE.PlaneBufferGeometry(7500, 7500, worldWidth - 1, worldDepth - 1);
geometry.rotateX(- Math.PI/2);
geometry.computeBoundingBox();
var vertices = geometry.attributes.position.array;
var positions = []
for (var i = 0, j = 0, l = vertices.length; i < l; i ++, j += 3) {
vertices [ j + 1 ] = data[ i ] * 10;
//check if this coordinate is inside the radius we want to know if can spawn a grass
// if is inside spawn a plant knowing the height of this position
}
var grass = new THREEx.createGrassTufts(positions)
group.add(grass);
var texture = assets.textures.grass.val;
var material = new THREE.MeshPhongMaterial({ map: texture, shading: THREE.SmoothShading });
var ground = new THREE.Mesh(geometry, material);
ground.receiveShadow = true;
ground.castShadow = true;
group.add(ground);
_but doesn沒有工作,我也不知道該怎麼做。尋求調試幫助的問題(「爲什麼這個代碼不工作?」)必須包含所需的行爲,特定的問題或錯誤以及在問題本身中重現問題所需的最短代碼。沒有明確問題陳述的問題*對其他讀者無益*。請參閱:如何創建[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。 – Marcs
地面的高度與佩林噪聲所分配的值不同嗎?如果您正在尋找平均高度或距離最低點的高度,則需要從噪聲集中獲取該信息,或者在頂點操縱過程中計算平均值/最低點,然後執行第二步通過計算真實身高。 – TheJim01