File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -79,6 +79,35 @@ export class TilesGroup extends Group {
7979
8080 }
8181
82+ // update the active tile scenes so they are up to date, as well. We iterate over all
83+ // children above because plugins etc may add other objects.
84+ const { tilesRenderer } = this ;
85+ const { activeTiles, visibleTiles } = tilesRenderer ;
86+ activeTiles . forEach ( tile => {
87+
88+ if ( ! visibleTiles . has ( tile ) ) {
89+
90+ const { scene } = tile . engineData ;
91+ scene . traverse ( c => {
92+
93+ c . updateMatrix ( ) ;
94+ c . matrixWorld . copy ( c . matrix ) ;
95+ if ( c . parent ) {
96+
97+ c . matrixWorld . premultiply ( c . parent . matrixWorld ) ;
98+
99+ } else {
100+
101+ c . matrixWorld . premultiply ( this . matrixWorld ) ;
102+
103+ }
104+
105+ } ) ;
106+
107+ }
108+
109+ } ) ;
110+
82111 }
83112
84113 }
Original file line number Diff line number Diff line change @@ -935,6 +935,36 @@ export class TilesRenderer extends TilesRendererBase {
935935
936936 }
937937
938+ setTileActive ( tile , active ) {
939+
940+ const scene = tile . engineData . scene ;
941+ const group = this . group ;
942+
943+ if ( scene ) {
944+
945+ // update matrices for the tile scene
946+ scene . traverse ( c => {
947+
948+ c . updateMatrix ( ) ;
949+ c . matrixWorld . copy ( c . matrix ) ;
950+ if ( c . parent ) {
951+
952+ c . matrixWorld . premultiply ( c . parent . matrixWorld ) ;
953+
954+ } else {
955+
956+ c . matrixWorld . premultiply ( group . matrixWorld ) ;
957+
958+ }
959+
960+ } ) ;
961+
962+ }
963+
964+ super . setTileActive ( tile , active ) ;
965+
966+ }
967+
938968 setTileVisible ( tile , visible ) {
939969
940970 const scene = tile . engineData . scene ;
@@ -945,7 +975,6 @@ export class TilesRenderer extends TilesRendererBase {
945975 if ( scene ) {
946976
947977 group . add ( scene ) ;
948- scene . updateMatrixWorld ( true ) ;
949978
950979 }
951980
You can’t perform that action at this time.
0 commit comments