Qt canvas3d 学习之obj 模型转成json格式后无法显示的问题解决
多多指教:Qt/QML专业中文社区
2015-06-27
301 阅读
今天又浸水了,我尝试把3d max模型库中的模型转成obj,然后再转成json,然后去在canvas3d中加载这个模型,什么鬼啊,一直加载不了,里面空空的,真的空吗?
我在JSONLoader.js中修改源码,不断的调试并没有什么进展,后来就直接对比两个json模型的数据,一个是能正常显示的一个是不正常的,能正常显示模型的json 的
materia数据:
"materials": [ {
"DbgColor" : 15658734,
"DbgIndex" : 0,
"DbgName" : "wire_188188188",
"colorAmbient" : [0.0, 0.0, 0.0],
"colorDiffuse" : [0.58984, 0.58984, 0.58984],
"colorSpecular" : [0.35, 0.35, 0.35],
"illumination" : 2,
"opticalDensity" : 1.0,
"specularCoef" : 29.411765,
"transparency" : 1.0,
//就在这里
"transparent" : true
}]
不能正常显示模型的Json的materia数据:
"materials": [ {
"DbgColor" : 15658734,
"DbgIndex" : 0,
"DbgName" : "wire_188188188",
"colorAmbient" : [0.0, 0.0, 0.0],
"colorDiffuse" : [0.58984, 0.58984, 0.58984],
"colorSpecular" : [0.35, 0.35, 0.35],
"illumination" : 2,
"opticalDensity" : 1.0,
"specularCoef" : 29.411765,
"transparency" : 0.0,
//就在这里
"transparent" : true
}
发现他们的两个不同之处就在transparency,一个然人疑惑的问题来了,为啥transparency(透明度) 的值被设置成1.0,还能正常显示出来,反倒0.0的时候就没有显示呢?明明 transparency 值设置成1.0应该就全透明了,什么鬼?折磨半天,我在源码中打印相关信息的时候发现,看截图:

这次终于明白为啥会加载这个模型会看不到了,因为transparency已经被重命名为opacity,当opacity(不透明都)为1时,也就完全不透明了。所以我重新在json数据中修改成1后就显示模型出来了。
在不断调试中还遇到一个解不同的问题:
var request = new XMLHttpRequest();
request.open("GET", "3dmodels/man/sofa4.json");
request.onreadystatechange = function () {
if (request.readyState === XMLHttpRequest.DONE) {
console.log(request.responseText);
}
}
request.send();
这段源码中本来是去读取json模型的时候把这个模型的所有数据都打印出来,如果打印出游数据,正面已经加载完了,神奇的是有些模型能打印出数据,也正常加载显示,但是有些面多好多倍的模型打印出来的数据是空的,但是他也能正常加载显示,我也搞不通,也许那个加载obj模型的方法是行得通的,我因为去读取obj的数据的时候打印的数据时空的,还有在缓冲值cached中它也是undefined的,所以就以为它是无法通过OBJLoader.js来加载Obj格式模型,以后有空再研究这个问题。
最后希望研究canvas3d的真正大神们快点出资料啊,博客啊,小弟这个几天研究的头都爆炸了,做梦都在想着three.js源码的构架(今天下午还真因为小睡在梦中想出来这个问题所在之处呢,源码在脑袋中不停翻滚,感觉豪爽,也好痛苦完),继续这样小弟可能会疯掉了呜呜。
作者:多多指教:Qt/QML专业中文社区

多多指教:Qt/QML专业中文社区
原文地址:Qt canvas3d 学习之obj 模型转成json格式后无法显示的问题解决, 感谢原作者分享。
→qml实现幻灯片
←QML不同目录文件之间相互调用
发表评论
您可能感兴趣的博客
tommego 发表 2015-06-27 08:36:40
Qt canvas3d 学习之obj 模型转成json格式后无法显示的问题解决
alai 发表 2013-11-11 07:39:36
使用Qt内置引擎解析JSON格式数据
馒头华华 发表 2015-09-05 03:06:22
【 JSON 浅谈 — 7.0 】 GeoJSON 和 TopoJSON
yztxb2015 发表 2015-07-27 08:50:03
基于Qt的配置文件INI格式读写
Dan (i@shanhh.com) 发表 2013-02-10 05:27:00
Struts 返回 json 格式时缺少父类属性问题解决
root 发表 2015-04-16 04:54:01
servlet返回json格式字符串,jsp中获取
lyuoong08 发表 2016-06-23 02:51:28
qt c++与qml数据交付json
tommego 发表 2015-06-25 16:36:59
qtCanvas3d中用JSONLoder.js加载json格式3d模型(scene camera
博主 发表 2014-08-14 16:00:00
json格式须知
雨点点 发表 2016-01-19 09:34:24
json格式检查正常,却无法解析的解决方案
toby520 发表 2015-06-10 05:44:57
Parsing JSON using Qt 5 framework
justwinit <xdy108@12 发表 2016-11-25 02:09:16
MySQL 5.7原生JSON格式支持,对于JSON格式堪称完美。
您可能感兴趣的代码
2013-04-14 17:09:56Qt 解析 JSON 一例 by did0602
2012-11-05 23:33:49QxOrm ORM框架的使用一例 by firedtoad
2012-12-26 11:39:01 by starstroll
2013-07-15 14:01:04将java类的泛型集合转换成json对象 by 香格里拉登
2014-03-08 10:28:04Java解析Json格式简单范例 by Hugh
2014-08-20 19:16:20C#自定义将各种对象转换成JSON格式的类 by G.Conanca
2015-07-12 09:20:52不用 SDL 的QT+FFMPEG 播放器 by 张宋付
2017-05-05 09:08:55使用xslt将xml转换为json格式 by 甄码农
2012-11-06 00:28:12 by Ω油菜
2012-12-26 12:05:06python使用json序列化datetime类型问题处理 by 金背二郎
2013-04-15 15:04:26QList内存释放 by 杨洋
2013-07-18 13:44:20php解析JSON by 傅小黑