rot

GLL.prototype.PosAndRotY = G__.prototype.PosAndRotY = function (x, y, z, degree){

    this.pos(0,0,0)

    var groupTmp = new THREE.Group();

    addAllTo3jGroup(this ,groupTmp);

    groupTmp.position.set(x, y, z);

    groupTmp.rotateY(degree);

    groupTmp.updateMatrixWorld();

    setPosFrom3jGroup(this);

}

function addAllTo3jGroup (myGroup , threeGroup){

    myGroup.objs.forEach(item => {

        if (item.objs)

            addAllTo3jGroup(item, threeGroup)

        else if (item.isObject3D)

            threeGroup.add(item)

    })

}

function setPosFrom3jGroup(myGroup){

    myGroup.objs.forEach(item => {

        if (item.objs)

            setPosFrom3jGroup(item)

        else if (item.isObject3D){

            item.matrixWorld.decompose( item.position, item.quaternion, item.scale );

            scene.add(item)

        }

    })

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容