小码农

趣味编程-面向每个人的创意编程

Scratch 2D 变 3D如何实现吗

avatar 2022-11-28 09:41 845次浏览 0 条评论 Scratch

其实3D就是一个视角的概念,如果只有x和y轴,就是2D的平面,如果我们再增加一个Z轴,那么就形成了3D的视角:

 

大家看到没,其实3D就是一个视角的概念,明明上图是3条射线,相互夹角120°,但是大家却能想象到一个三维空间。所以我们要做的其实就是在2维的平面上,通过构图,让大家在看的时候形成一个3维空间的想象。

 

 

 

 

就像大家经常看到的很多3D绘画展一样,其实都是利用了光影和构图等绘画技巧,欺骗了观众,让大家误以为是个真实的3D空间。

 

 

3D示例

618欢乐购

我们先从一个简单的正方体开始尝试,首先我们建立一个2维的正方形,并把它移动屏幕正中。

 

然后我们再增加一个Z轴,来将它变成一个立方体。怎么做呢?这就是今天这一讲的关键技巧,最简单的方法实现2D变3D!

是不是变成了3D的造型?

 

 

 

代码很简单,只要用克隆就好了,在每一次克隆的时候,都让图片在45度角方向进行移动。然后视觉效果就变成了一个立方体。

 

注意
Z轴的图形实际上是2D图形轮廓的线条堆叠组成,所以轮廓的颜色就造成了Z轴方向上的图形颜色。

 

因为正方形轮廓的颜色是深绿色,所以大家看到正方体侧面的颜色也变成了深绿色。

 

 

下面有意思的事情来了,让我们看一下,这个3D图形的旋转效果:

 

 

为了保证这些克隆体同时开始旋转,所以在这里用了消息命令。等3D图形生成后,再用消息通知所有的克隆体一起转动,就形成了3D旋转的效果。

有没有想通这个3D旋转的效果是如何产生的?其实这也是通过构图和视角来欺骗大脑的过程。当所有的克隆体开始旋转时,因为每一个克隆体都有一个错位,那么克隆体的4条边堆叠而成的侧面图形,就会分别出现在我们的视野里,让大脑想象成了一个3D的图形在旋转。

这个图就能让大家非常清楚的理解,把正方形的4条边换成了不同颜色的直线来代替,也就造成了不同的侧面颜色的不同。

发表评论