Three.js: 複数のライトから1つにシャドウをキャストできないようにすると、レンダラーがクラッシュします

作成日 2019年10月23日  ·  3コメント  ·  ソース: mrdoob/three.js

問題の説明

複数の光源を含むシーンを考えると、ライトの1つだけにシャドウをキャストできないようにすると、レンダラーがクラッシュします。

スタックトレース:

three.js:16521 Uncaught TypeError: Cannot read property 'toArray' of undefined
    at flatten (three.js:16521)
    at PureArrayUniform.setValueM4Array [as setValue] (three.js:16999)
    at Function.WebGLUniforms.upload (three.js:17248)
    at setProgram (three.js:25307)
    at WebGLRenderer.renderBufferDirect (three.js:24041)
    at renderObject (three.js:24802)
    at renderObjects (three.js:24772)
    at WebGLRenderer.render (three.js:24549)
    at render ((index):111)

この問題はバージョンr108から発生し始めました。 r107では、問題は発生しません。

例:

  • jsfiddle (r109、「シャドウ」をクリックするとレンダラーがクラッシュします)
  • jsfiddle (r107、「シャドウ」をクリックすると正しく機能します)
Three.jsバージョン
  • [x] r108
  • [x] r108
  • [] r107
ブラウザ
  • [x]それらすべて
  • []クローム
  • [] Firefox
  • [ ] インターネットエクスプローラ
OS
  • [x]それらすべて
  • [ ] ウィンドウズ
  • [ ] マックOS
  • [] Linux
  • [] Android
  • [] iOS
Bug

全てのコメント3件

実際、最新のdevバージョンでは再現できません。

https://jsfiddle.net/ewhgdyk4/1/

@moskopio確認していただけますか?

https://jsfiddle.net/pbkx9mwg/r109を使用して実行されて

ただし、最新のdev :+1:を使用しているhttps://jsfiddle.net/ewhgdyk4/1/では正常に機能し

ありがとう@ Mugen87

この問題がすでに解決されてうれしいです:sweat_smile:

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

scrubs picture scrubs  ·  3コメント

filharvey picture filharvey  ·  3コメント

jack-jun picture jack-jun  ·  3コメント

makc picture makc  ·  3コメント

clawconduce picture clawconduce  ·  3コメント