Lesson07-加载模型


官方效果展示

osgjs符合javascript语法,主要内容是 JSON 格式的字符串,主要内容是节点的相关信息配置,这对理解程序中Node 的创建,也有一定的帮助

注:官方提供的例子里面,模型显示时没有纹理,这是因为纹理图片URL无法访问造成的 纹理缺失

带纹理的展示如下:

ogre Poker scene

知识点

读取纹理

核心代码

var promise = osgDB.parseSceneGraph(NodeModel);
P.resolve(promise).then(function(child) {
    rootModelNode.removeChildren();
    rootModelNode.addChild(child);
    cbFocusCamera();
    console.log('success ' + url);
});

可以下载 ogre.osgjs查看一下文件内容 可以看到

文件符合 javascript 语法,并且返回的是一个JSON串,这里取出一段,可以看到一个节点的构成 Node 有attribute、name、primitives、stateset等属性,stateset属性中又包括 材质和纹理 等… 其实在使用代码创建Node时,也是依照这个层次来的

json节点

注意事项

  • 提高速度–可以使用javascript压缩工具对osgjs文件进行压缩,提高网络传输效果
  • 注意纹理的相对位置设置,避免模型展示时纹理丢失