我一直在使用Photoshop中与Alpha配合使用的24bit .png,并且只是尝试了一个可与OpenGL ES配合使用的.psd,但Metal没有看到Alpha channel 。
SceneKit中的粒子绝对最高性能的纹理格式是什么?
如果需要,这是一张要测试的表。
它看起来是白色的...右键单击并另存为空白。这是一套阿尔法沉重的戒指。如果在屏幕上着眼睛,可能几乎无法辨认出它们:
夸张的示例用例:
https://www.dropbox.com/s/vu4dvfl0aj3f50o/circless.mov?dl=0
//任何人都可以猜测的附加点,可以猜测视频中左右两个环之间的差异。
最佳答案
请使用灰度/alpha PNG,而不要使用RGBA。由于它使用每像素16位(8 + 8)而不是32(8 + 8 + 8 + 8),因此初始纹理加载会更快,并且(取决于GPU)使用的内存也可能更少。不过,在渲染时,您不会看到很大的速度差异,因为无论使用哪种纹理格式,它都仍将被绘制到完整的RGB(A)渲染缓冲区中。
还有PVRTC,它可以使您降低到每像素2–4位,但是我在图像上尝试了Imagine’s tool,即使是最高质量的设置也造成了许多伪像,如下所示:
长话短说:使用灰度+ alpha PNG,您可以轻松地从Photoshop导出该PNG。如果您的粒子系统正在损害您的帧速率,请减少粒子的数量和/或大小-在这种情况下,您可以通过在源纹理图集中将几个粒子图像彼此叠加来解决问题,如果您选择尺寸足够大的款式,则可能不会太明显。
关于scenekit - SCNParticles的性能最高图像格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32343199/