2016-09-12 6 views
1

ここでコード全体を不便に貼り付けるのではなく、最も簡単なことは、Babylon.jsプレイグラウンドへのリンクを与えることです。 jsfiddleのような環境ですが、特にBabylon.js webGLレンダリングのためのものです。 YellowStar、WhiteStar、およびレッドスター:私は3つの異なった星型のためのコンストラクタを作成したキャンバス、エンジン、および既に開始されたループをレンダリング(?用語)JavaScriptコンストラクタのプロパティが認識されない - Babylon.js

http://www.babylonjs-playground.com/#LYEU3#0

を持っています。私はそれらをプレイグラウンドコードに貼り付けましたが、ローカルでは3つの機能が別々のファイルにあります。 YellowStarの放射粒子には画像がレンダリングされていないことがわかりますが、これは問題に関係しないので問題ありません。前景のより大きな白い球は発光赤色(RedStarオブジェクト)であるはずです。バックグラウンド(WhiteStarオブジェクト)のより小さい白い球は、想定されるように白ですが、放射特性はそれらにも作用しません。

私は彼らの構築方法に問題があることを知っています。共通のプロパティはあまりないので、私はメインのStarコンストラクタから継承するように設定していません。オブジェクトのスフィアとマテリアルのパラメータを渡すことは、最初にコンストラクタを作成する利便性を損なうでしょう。しかし、私が間違っていること、気づいていないこと、または.matプロパティが機能しないことを考慮していないことがあり、材料がレンダリングされないということがあります。私はすべてのオブジェクト(最終的には惑星を含む)

ホワイトバランスとレッドスターの材料特性は認識されていませんが、私が知ることはできません。独自の機能に限定。

var YellowStar = function (position, size, scene) { 
    this.sphere = BABYLON.Mesh.CreateSphere("sphere1", 30, 30*size, scene); 
    this.mat = new BABYLON.StandardMaterial("white", scene); 
    this.mat.diffuseTexture = new BABYLON.Texture("textures/suntexture.jpg", scene); 
    this.mat.specularColor = new BABYLON.Color3(0, 0, 0); 
    this.sphere.material = this.mat; 
    this.sphere.position = position; 

    /*...this material works...*/ 
}; 

var WhiteStar = function(position, size, scene){ 
    this.sphere = BABYLON.Mesh.CreateSphere("whiteStar", 20, 15*size, scene); 
    this.mat = new BABYLON.StandardMaterial("white", scene); 
    this.mat.emissiveColor = new BABYLON.Color3(1, 1, 1); 
    this.sphere.material = this.mat; /* doesn't work */ 
} 

var RedStar = function (position, size, scene) { 
    this.sphere = BABYLON.Mesh.CreateSphere("redStar", 20, 30*size, scene); 
    this.mat = new BABYLON.StandardMaterial("red", scene); 
    this.mat.emissiveColor = new BABYLON.Color3(0.714, 0.239, 0.169); 
    this.sphere.material = this.mat; /*doesnt work*/ 

}; 

バビロンのコミュニティを持っていますが、質問はよりエンジン側関係、と私はより多くの成功一般的なJavascriptの質問への答えになっています。おかげ

答えて

1

放射状の色を動作させる前に、拡散色を明示的に追加/定義する必要があるように見えます。どうしてか分かりません。

NB白色の発光色が白く塗りつぶされているので、動作しているかどうかをどのように知るかは分かりません。

HTH

+0

オクラも点灯していました!それは私に起こった、私はそうだった...ナ.. ..照明が強すぎる... grr少なくとも私のオブジェクトが良いですhttp://www.html5gamedevs.com/topic/25141-emissive-material-not-rendering /#comment-143751 – gson78

関連する問題