2017-02-26 8 views
0

この質問に対する答えはドキュメントのどこかに埋め込まれているように感じますが、私はそれを見つけるのに苦労しています。バビロンJSのカスタムポイントから塗りつぶした形を作成する方法

私は単純に配列を作成するためにいくつかのカスタムポイントを定義したいと思います(私はこれを行いました)。それらは接続されているので、ラインの内側を色で塗りつぶし、基本的に単一の平面のようなオブジェクト、好ましくは、私は典型的なように変形してテクスチャをつけることができる)。

輪郭形状はこのように定義されています(http://www.babylonjs-playground.com/#I22AB#1)。

var createScene = function() 
{ 
    // Create Scene 
    var scene = new BABYLON.Scene(engine); 

    // Create Camera 
    var camera = new BABYLON.FreeCamera("camera", new BABYLON.Vector3(0, 10, 0), scene); 
    camera.setTarget(BABYLON.Vector3.Zero()); 
    camera.attachControl(canvas, true); 

    // Create Points 
    var x = 0; 
    var z = 0; 
    var points = [ 
     new BABYLON.Vector3(x - 1, 0, z + 1.5), 
     new BABYLON.Vector3(x + 1, 0, z + 1.5), 
     new BABYLON.Vector3(x + 1.5, 0, z), 
     new BABYLON.Vector3(x + 1, 0, z - 1.5), 
     new BABYLON.Vector3(x - 1, 0, z - 1.5), 
     new BABYLON.Vector3(x - 1.5, 0, z), 
     new BABYLON.Vector3(x - 1, 0, z + 1.5) 
    ]; 

    // Create Hex 
    var hex = BABYLON.Mesh.CreateLines("hex", points, scene); 
    hex.color = BABYLON.Color3.Black(); 

    /* Question 
     what can I do now to create a custom 2D shape that 
     is a single filled plane within these defined points? 
    */ 

    // Done 
    return scene; 
}; 

おかげ

答えて

2

Ribbonsはあなたの問題を解決することができます。本質的にリボンはパスを定義することを可能にし、それらのパスの間に三角形が描画されてメッシュが作成されます。すでにパスが定義されており、名前はpointsです。

あなたのプレイグラウンドに次の行を追加すると、そのトリックが実行されました。

ここでは、更新されたplaygroundです。

+0

colorプロパティは影響を与えません。 –

関連する問題