我一直在尝试SCNMaterials
,专注于发射以尝试创造一种霓虹灯材料。不确定是否有可能,但如果它可以发光,那就太好了。谢谢 :)
问问题
1867 次
2 回答
5
这很简单:
material.emission.contents = [NSColor greenColor];
所有这一切都是使材料在它自己的光下发光。
如果你想让其他物体受到这个霓虹灯的影响,
你可以像这样向你的霓虹灯节点添加一个灯光:
SCNLight *mylight = [SCNLight light];
mylight.type = SCNLightTypeOmni;
mylight.color = [NSColor greenColor];
myNeonNode.light = mylight;
希望有帮助!
笔记:
光的强度可以通过你使用的颜色来控制:
深绿色看起来像一种没有那么强大的绿光。
浅绿色看起来像是更强大的绿灯。
于 2016-05-15T04:07:21.047 回答
0
除了@ProBlaster 的回答,您还可以设置intensity
发射的,而不仅仅是contents
.
这对于将对象设置为越来越发光的动画非常有用:从一开始就将内容设置为明亮的颜色,但将强度设置为 0:
material.emission.contents = UIColor.white
material.emission.intensity = 0
(这不会发光)
然后,在动画块中,将强度增加到(比如说)1:
SCNTransaction.begin()
SCNTransaction.animationDuration = 0.5
SCNTransaction.animationTimingFunction = CAMediaTimingFunction(name: .easeIn)
material.emission.intensity = 1
SCNTransaction.commit()
(不确定您是否可以contents
在动画块中获得颜色值属性的“自动插值”,就像您对 float-valued 所做的那样intensity
)
于 2020-08-19T09:09:02.163 回答