0
我試圖讓lensflare在ThreeJS中工作。 當距離相機有距離時,它似乎可以正常工作,但如果我將相機移動到距離lensflare大約50個單位或更少的距離,則耀斑消失!爲什麼?lensflare消除和渲染太慢
更新: 進一步調查之後我注意到,鏡頭光暈工作在webgl_lensflares.html例如罰款。問題是當我嘗試將它添加到ThreeJS編輯器。將它添加到編輯器會導致3個問題:
- 渲染變得非常緩慢。
- 當我旋轉場景時,lensflare可以很好地旋轉,但是當我移動場景時,lensflare會移向相反的方向。
- 如果我把鏡頭光標放在(0,0,0)處,當它離我們太近時它會消失,但是如果我把它放在遠離原點的位置(如(0,10,0)),它沒有那個問題。
這裏是我加入到編輯器中Viewport.js代碼:
var textureLoader = new THREE.TextureLoader();
var textureFlare0 = textureLoader.load("textures/lensflare/lensflare0.png");
var flareColor = new THREE.Color(0xffffff);
flareColor.setHSL(0.55, 0.9, 0.5 + 0.5);
var lensFlare = new THREE.LensFlare(textureFlare0, 100, 1.0, THREE.AdditiveBlending, flareColor);
lensFlare.position.set(0, 0, -10);
scene.add(lensFlare);
什麼鏡頭光暈?你在使用THREE.js的例子嗎?或者您是否編寫/下載/複製自定義後期着色器?請包括您擁有的內容,您嘗試糾正問題的內容以及幫助我們重現您所看到內容的示例代碼等詳細信息。 – TheJim01
我正在使用這個Three.js示例:webgl_lensflares.html –
我無法重現您看到的問題。也就是說,更新鏡頭耀斑的代碼就在這個例子中,所以你可以看到相機四處移動時會發生什麼。比較相機在遠處的結果,而相機與您描述的非常接近。我的猜測是其中一個結果值變成了「NaN」,這導致耀斑位置變得不確定。 – TheJim01