查看: 1621|回复: 12

Android Osg模型颜色出错

[复制链接]

该用户从未签到

发表于 2014-7-17 16:44:04 | 显示全部楼层 |阅读模式
在导入模型后,如果开启光照,整个模型就是灰白色的了,而如果关闭光照,颜色就完全正确了。
根据网上的说明添加了material,但是父节点添加Material,即使采用 OVERRIDE,子节点的颜色还是不正确。
查看了具体的数据,每个Geometry的colorarray都是有值且正确的,也就是说Geometry是正确的,只是颜色没有应用到ColorMaterial上。

请问有人也碰到这问题没啊?是怎么解决的啊?

该用户从未签到

发表于 2014-7-21 11:57:20 | 显示全部楼层
模型禁用光照

该用户从未签到

 楼主| 发表于 2014-7-22 09:03:55 | 显示全部楼层

但是光照是我想要的效果 禁用的话结果太难看了 这如何破啊?

该用户从未签到

发表于 2014-7-22 09:36:46 | 显示全部楼层
开启光照后,colorarray就不起作用了,只能设置四种材质的颜色。

该用户从未签到

发表于 2014-7-22 09:37:43 | 显示全部楼层
移动平台上 就别指望colorarray了

该用户从未签到

 楼主| 发表于 2014-7-22 13:15:19 | 显示全部楼层
smash 发表于 2014-7-22 09:36
开启光照后,colorarray就不起作用了,只能设置四种材质的颜色。

嗯那 所以我现在的做法就变成了 遍历drawable 对每个drawable分别设置材质 感觉好浪费啊 这样

该用户从未签到

 楼主| 发表于 2014-7-22 13:18:46 | 显示全部楼层
StackSnow 发表于 2014-7-22 09:37
移动平台上 就别指望colorarray了

OpenGL es 应该是支持光照加材质的吧?==我再查查资料去,记得看过specification,说的是支持的,只不过在1.0的时候,只支持默认的colormaterial,也就是ambient and diffuse,没办法使用别的模式而已,但是这个功能应该还是支持的吧?

还没直接使用过OpenGL es,不太清楚具体的情况……不知道有没有理解错

该用户从未签到

发表于 2014-7-22 16:17:31 | 显示全部楼层
用shader吧

该用户从未签到

 楼主| 发表于 2014-7-22 16:38:38 | 显示全部楼层

嗯 这样的确可以解决问题 但是还是想知道下到底是什么原因造成的 还在看代码跟资料中……

该用户从未签到

发表于 2014-7-25 14:41:30 | 显示全部楼层
这有什么好跟的,颜色就是要受光照的影响,除非关闭光照,不同的光照,不同的设置,模型都是要收到不同的影响

该用户从未签到

 楼主| 发表于 2014-7-25 16:00:34 | 显示全部楼层
gis_wudi 发表于 2014-7-25 14:41
这有什么好跟的,颜色就是要受光照的影响,除非关闭光照,不同的光照,不同的设置,模型都是要收到不同的影响

但是材质是可以设置的啊 按理说在开启colormaterial的情况下 colorarray应该会反映到材质上 但是从结果上来看并没有 我必须对每个drawable单独设material才行 你有没有碰到这种情况啊?
1.0的我目前就是遍历drawable来解决的,但是担心着是不是自己哪里没写对来着,遍历一遍感觉太浪费了。

该用户从未签到

发表于 2014-7-28 15:19:26 | 显示全部楼层
materail也是模型对光照的一种放映(光吸收)
设置后mode设置override可以将子节点都按照父节点设置的模式显示

该用户从未签到

发表于 2014-7-31 11:42:16 | 显示全部楼层
用shader就可以了,GLES不应存在glMaterial或者glLight这种奇葩的东西
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表