1.背面
在3D场景中,当一张平面图片被旋转后我们将会看到什么呢?实际上,当旋转180度后,我们看到的仍然是跟原图一样的镜像对称图,也就是说在3D环境中一个立方体正面朝上,我们看不到的部分实际上是绘制出来的,既然我们看不到为什么还要绘制出来,明显是浪费了CPU和内存的,CALayer提供了一个属性doubleSided来控制背面是否绘制,默认为NO,设置为YES后,当图片旋转180度后将看不到对称的镜像图。
2.扁平化图层
这一节理解起来略吃力,不过理解了其实感觉作者的比喻不太恰当,说的是图层的旋转和3D图形的旋转,前提没错,我们所看到的3D的图形实际上展现出来的就是一个2D的平面,在按照作者说的方法操作时,作者直接把被操作的图层当作2D的来进行操作,这样,得出的结果肯定是2D应有的效果,而不是3D效果,一开始,绕z轴旋转,我理解,因为是平面了,所以z直接就是平面旋转,旋转结束的图形没变,这里,博主想,作者是不是按照立体的来旋转,而且忽略了屏幕本身的x,y,z轴,用了现实的,如果这么解释,这个图就是正确的。后面的绕y轴旋转作者说的实际效果不变,那应该是3D情况下的,而作者说的实际结果却是2D绕y轴旋转才有的效果,解释完毕。
3.固体对象
这一节不多说,直接上代码:https://github.com/codeliu6572/3DRect
效果很不错,大家尝试下。