|  |  | 
 |  |  |                 }, null, null ); | 
 |  |  |         }); | 
 |  |  |  | 
 |  |  |     const goodsWrapImg = new THREE.TextureLoader( manager ).load( '../static/img/goodsWrap.jpg' ); | 
 |  |  |     const goodsImg = new THREE.TextureLoader( manager ).load( '../static/img/goods.jpg' ); | 
 |  |  |     new OBJLoader( manager ).load( '../static/model/obj/goods.obj', function ( obj ) { | 
 |  |  |         obj.traverse (function (child) { | 
 |  |  |             child.castShadow = true; | 
 |  |  |             if (child instanceof THREE.Mesh) { | 
 |  |  |                 if (child.name === 'goods') { | 
 |  |  |                     child.material.map = goodsImg; | 
 |  |  |                 } else if (child.name === "goods_wrap") { | 
 |  |  |                     child.material.map = goodsWrapImg; | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         }); | 
 |  |  |         obj.scale.set(1, 1.2, 1.2); | 
 |  |  |  | 
 |  |  |         goodsList.map(item => { | 
 |  |  |             let clone = obj.clone(); | 
 |  |  |             let positionX = that.shelf.positionX || 0; | 
 |  |  |             let positionY = that.shelf.bottomHight + (item.lev1-1)*that.shelf.binHeight || 0; | 
 |  |  |             let positionZ = (item.bay1-1)*-that.shelf.binHeight || 0; | 
 |  |  |  | 
 |  |  |             clone.position.x = -17 + positionX; | 
 |  |  |             clone.position.y = 5 + positionY; | 
 |  |  |             clone.position.z = -7 + positionZ; | 
 |  |  |             that.object.addObject(clone); | 
 |  |  |         }) | 
 |  |  |     }); | 
 |  |  | } | 
 |  |  |  | 
 |  |  | export {StoreGoods} |