2012-09-27 18 views
7

面、押し出しスプライン、円柱形状を使用して教育ツールを構築しています。平面はテクスチャマップを持ち、残りは基本またはランバートの材料です。three.js内の一貫性のないアルファチャンネル

  • テクスチャマップは唯一のマップであり、アルファベットは です。
  • レンダラ=新しいTHREE.WebGLRenderer({アンチエイリアス:真}):
  • テクスチャマップは、すべてのオブジェクトが "真透明" を有する.GIFと.PNG
  • として試験されています。

注:これは、次のリンクに記載されている問題とまったく同じです。それは解決されておらず、私の担当者はコメントするのに十分ではありません。

in three.js, alpha channel works inconsistently

mmaclaurinに述べたように、描画順序とカメラ位置に基づいて変化することができました。私はTHREE.TrackballControlsを使い、カメラの動きを2軸に制限しています。

ワイヤフレーム用のBasicMaterialを追加または削除しても問題は変わりません。

ご連絡いただきありがとうございます。平面オブジェクトの

例:問題が最も顕著である押し出されたスプライン形状の

var T4map = new THREE.ImageUtils.loadTexture('medium_T4.png'); 
    var T4Material = new THREE.MeshBasicMaterial({ opacity: .96, transparent:true, map: T4map }); 
    var T4Geometry = new THREE.PlaneGeometry(810, 699, 10, 10); 
    var T4 = new THREE.Mesh(T4Geometry, T4Material); 
    T4.position.y = -CNspacing; 
    T4.doubleSided = true; 
    scene.add(T4); 

例:

var mesh = THREE.SceneUtils.createMultiMaterialObject(geometry, [ 
new THREE.MeshLambertMaterial({ color: 0xaaff00, opacity: 0.5, transparent: true }),   
     mesh.position.set(x, y, z); 
     mesh.scale.set(s, s, s); 
     parent.add(mesh); 
+0

新しい観測のためのあなたの主題に関連する他の多くの質問があります:それは唯一のy> 0にすべてのオブジェクトを移動、Y下回る= 0 – ChrisTalbot

+0

が起きかもしれません助けてくれなかった。しかし、アルファの欠如を観察するためにカメラをすべてのyの位置に移動すると、結果は最終的に停止します。図面の問題のように聞こえる... – ChrisTalbot

+0

問題は停止しますが、透明度は失われて永遠に消えます(リフレッシュするまで) – ChrisTalbot

答えて

3

depthTestで遊ぶようにしてください。通常、これは役立つだろう:

new THREE.MeshBasicMaterial({ side:THREE.BackSide,map:texture,transparency:true, opacity:0.9, depthWrite: false, depthTest: false }); 

例:transparent bug

関連する問題