ht for web(图扑)加载模型

@[TOC](ht for web(图扑)加载模型)


代码加注释

ht.Default.loadObj('model/demo.obj', 'model/demo.mtl', {
            cube: true,
            center: true,
            prefix: 'model/',//贴图素材位置
            reverseFlipMtls:"*",//反面贴图和正面一样
            shape3d: "demo",//模型名称

            finishFunc: function (modelMap, array, rawS3) {
                window.rawS3 = rawS3;
                if (modelMap) {
                    var demo01= modelMap["demo01"];//根据材质球细分模型
                    var demo02= modelMap["demo02"];

                    //模型第一部分
                    ht.Default.setShape3dModel("demo01", demo01);
                    var node1 = new ht.Node();
                    node1.setTag("demo01");//设置节点标签
                    node1.s({
                        'shape3d': "demo01",
                        'wf.visible': 'selected',//选中线框显示
                        'shape3d.transparent': true,//是否透明
                        'shape3d.opacity': 1,//透明系数
                        'wf.geometry': false,//是否显示线框
                        'wf.combineTriangle': 3,//线框类型1,2,3						'wf.color': "#ffffff",//更改线框颜色
                        "2d.selectable": false,//2d是否可选
                        "3d.selectable": false,//3d是否可选
                        "2d.editable": false,//2d是否可编辑
                        "3d.editable": false,//3d是否可编辑
                        "2d.movable": false,//3d是否可移动
                        "3d.movable": true,//3d是否可移动
                        "shape3d.blend": "#ffffff",//贴图颜色
                        "shape3d.alwaysOnTop": true,//是否总在前面
                    });
                    node1.s3(rawS3[0]/15, rawS3[1]/15, rawS3[2]/15);//模型大小
                    node1.r3(0, 0, Math.PI);//旋转角度
                    node1.p3(-120, 1, 300);//位置
                    dataModel.add(node1);//将模型添加到3d场景中

                    //模型第二部分
                    ht.Default.setShape3dModel("demo02", demo02);
                    var node2 = new ht.Node();
                    node2.setTag("demo02");
                    node2.s({
                        'shape3d': "demo02",
                        'wf.visible': 'selected',
                        'shape3d.transparent': true,
                        'shape3d.opacity': 1,
                        'wf.geometry': false,
                        'wf.combineTriangle': 3,
                        "2d.selectable": false,
                        "3d.selectable": false,
                        "2d.editable": false,
                        "3d.editable": false,
                        "2d.movable": false,
                        "3d.movable": true
                    });
                    node2.a({
                        'jt.status': false

                    });
                    node2.s3(rawS3[0]/15, rawS3[1]/15, rawS3[2]/15);
                    node2.r3(0, 0, Math.PI);
                    node2.p3(-120, 1, 300);//位置
                    dataModel.add(node2);
                    
                }
            }
        });

加载标签

function initCameraBillBorad(tag,img){
    var node = new ht.Node();
    node.s({
        'shape3d': 'billboard',
        'shape3d.image': img,
        'texture.cache': true,   // 是否缓存
        'autorotate': true,     // 始终面向相机
        'alwaysOnTop': false,   ---- 是否需要一直在上方
        'vector.dynamic': true, // 是否动态改变贴图的大小以保证清晰
        'fixSizeOnScreen': true,   // 无论缩放,保持 image / 矢量 原始大小,注意需要始终面向相机前提
        "interactive": true,
        "2d.movable": false,
        "3d.movable": false,
        "onClick":function(event,data){
        }
    });

    node.setTag(tag)
    dataModel.add(node);
    return node

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值