#
luxiaotao1123
2022-06-22 1eebc5fe4b56b522c319335498814cfdc88992f6
#
1个文件已修改
82 ■■■■■ 已修改文件
static/js/object/StoreGoods.js 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/js/object/StoreGoods.js
@@ -1,14 +1,15 @@
import {MTLLoader} from "../lib/MTLLoader.js";
import {OBJLoader} from "../lib/OBJLoader.js";
import * as THREE from '../three.module.js';
import * as BufferGeometryUtils from '../utils/BufferGeometryUtils.js';
const palletX = -18;
const palletY = 2;
const palletZ = -46;
const palletX = -2;
const palletY = 23 - 20 - 3;
const palletZ = -25;
const goodsX = -17;
const goodsY = 5;
const goodsZ = -6;
const goodsX = -2;
const goodsY = 40 - 18;
const goodsZ = -25;
/**
 * 初始化托盘模型
@@ -18,22 +19,40 @@
 * @param type 参照物类型:1 - 货架;    2 - 输送线
 */
function InitPallet(scene, palletList, ref, type) {
    const manager = new THREE.LoadingManager();
    new OBJLoader( manager )
        .setPath( '../static/model/obj/' )
        .load( 'pallet.obj', function ( obj ) {
            obj.traverse (function (child) {
                child.castShadow = true;
                if (child instanceof THREE.Mesh) {
                    child.material = new THREE.MeshLambertMaterial({
                        color: 0x708090
    let palletMat = new THREE.MeshPhysicalMaterial({
        color: 0x637e97,
        transparent: false,
        opacity: 0.7
                    });
                }
            });
            obj.scale.set(4, 4, 3.5);
    let transform = new THREE.Object3D();
    let geometries = [];
    let palletGeometry = new THREE.BoxGeometry(30 ,2,40);
    transform.position.set(0 ,7, 0);
    transform.updateMatrix();
    palletGeometry.applyMatrix4(transform.matrix);
    geometries.push(palletGeometry)
    let palletLeftGeometry = new THREE.BoxGeometry(30 ,5,2);
    transform.position.set(0 ,5, -15);
    transform.updateMatrix();
    palletLeftGeometry.applyMatrix4(transform.matrix);
    geometries.push(palletLeftGeometry)
    let palletRightGeometry = new THREE.BoxGeometry(30 ,5,2);
    transform.position.set(0 ,5, 15);
    transform.updateMatrix();
    palletRightGeometry.applyMatrix4(transform.matrix);
    geometries.push(palletRightGeometry)
    let mergedGeometry = BufferGeometryUtils.mergeBufferGeometries(geometries);
    let palletObj = new THREE.Mesh(mergedGeometry, palletMat, 0);
            palletList.map(item => {
                let clone = obj.clone();
        let clone = palletObj.clone();
                let positionX;
                let positionY;
                let positionZ;
@@ -75,7 +94,6 @@
                clone.position.z = palletZ + positionZ;
                scene.addObject(clone);
            })
        });
}
/**
@@ -86,24 +104,16 @@
 * @param type 参照物类型:1 - 货架;    2 - 输送线
 */
function InitGoods(scene, goodsList, ref, type) {
    const manager = new THREE.LoadingManager();
    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;
                }
            }
    let goodsMat = new THREE.MeshPhysicalMaterial({
        color: 0x93710c,
        transparent: false,
        opacity: 0.7
        });
        obj.scale.set(1, 1.2, 1.2);
    let goodsGeometry = new THREE.BoxGeometry(27 ,30,35);
    let goodsObj = new THREE.Mesh(goodsGeometry, goodsMat, 0);
        goodsList.map(item => {
            let clone = obj.clone();
        let clone = goodsObj.clone();
            let positionX;
            let positionY;
            let positionZ;
@@ -145,7 +155,7 @@
            clone.position.z = goodsZ + positionZ;
            scene.addObject(clone);
        })
    });
}
function StoreGoods(object, data, shelf) {