3.5如何动态修改3D模型的透明度

2D的透明度可以用UIopacity,但是3D模型的透明度怎么动态修改?
在编辑器里我看直接修改材质的Albedo的a值可以更改透明度,但是代码怎么获取这个属性。
感觉修改模型的透明度好麻烦。
node.getComponent(MeshRenderer).getMaterial(0).passes[0].properties

求大神指教下,或者官方人员解答下,谢谢!!

node.getComponent(MeshRenderer).getMaterial(0).setProperty(“albedo”,v4(1,1,1,a));
a传入你想要的透明度

如果是用这种方法,那怎么可以把透明度传入tween实现透明度慢慢变化呢?

我目前的实际需求是这样的。一个物体上有3个材质,如何做到第一个材质慢慢消失,第二个显示,这样循环。

image

tween利用onUpdate

谢谢你,我是物体上有多个材质,需求是希望材质慢慢切换变化,比如先显示第一个材质,之后慢慢第一个材质消失、第二个材质出现,这样的轮换。

你好,可以使用 tween 和 materil 做到你这个需求。相关接口的使用请参考文档:

https://docs.cocos.com/creator/manual/zh/tween/?h=tween
https://docs.cocos.com/creator/manual/zh/material-system/material-script.html#设置材质的属性

好的,感谢,我尝试下看看。

我更新了文档链接,你再试试

嗯嗯,非常感谢你,这个帖子那么久了我以为没人会来解答了呢,我想着可能cocos不支持模型材质渐变,所以都打算放弃这个效果了。

你可以看看这个帖子中,残影效果的实现代码:

嗯嗯,我想要的效果就是类似游戏《球球你跳一跳》里的那种,玩着玩着场景色调就慢慢过度变了,我是一个新手,完全搞不懂,哈哈。

没事,你多尝试。好好测试一下相关的 API,并且像搭积木一下组合使用相关 api 就行。

嗯嗯,非常感谢你!

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。