Scratch 之 3D 介绍及教程

第一章 为什么 3D 很难?

1.1 3D 难在何处?

3D 之所以会使我们觉得困难,是因为 Scratch 软件只有两个坐标轴,既:X轴、Y轴。

2维坐标系

2维坐标系

而 3D 却拥有三个坐标轴:

3维坐标系

3维坐标系

怎么办?很简单,自己“创造”一条不就好了吗?

于是,就有了“伪3D”。

1.2 “伪3D是个什么玩意儿?

想要理解“伪3D”,就必须得懂2维和3维。

2维,既平面。三维,既立体。简单来说,很多2维平面可以组成一个3维图形,而一个3维图形又可以分成很多2维平面。因此,“伪3D”,就是通过这样“堆叠 ”的方式制作出来的。

很简单,是不是?

1.3 “伪3D”怎么弄?

相信到这里,很多同学已经跃跃欲试了,那么......

上教程!

第一步,制作一个图形。

1.1

1.1

1.2

1.2

上图是我画的,大家可以随意发挥。

第二步,使用克隆体实现“堆叠”。

在这里我讲一下,没有用过克隆的同学也没关系,照着做就行。

2.1

2.1

这里有只猫是因为我加了积木样式,喜欢的话可以自己去拓展里找。

好,言归正传,我们继续。

接下来,我们进行最重要的一步——“堆叠”。

2.2

2.2

仔细看,是不是有那味了?

2.2效果图

2.2效果图

第三步,整体优化。

通过仔细观察,我们发现了一些问题:边缘有像素点、无法一次性显示。

3.1

3.1

以下是解决方案:

3.2

3.2

注意:一定要勾选这个框!

3.3

3.3

完成了吗?恭喜你:

掌握了“伪3D”的制作方法!

但是,这个时候就有人要问了:

你这也不行啊!

没关系,我还有“真3D”。

第二张 “真3D”

这一章干货较多,仔细阅读。

废话不多说,上教程!

第一步,定义积木。

2.1.1

2.1.1

2.1.2

2.1.2

第二步,程序 1 。

2.2.1

2.2.1

2.2.2

2.2.2

第三步,程序 2 。

2.2.3

2.2.3

第四步,程序 3 。

2.2.4

2.2.4

第五步,隐藏变量。

2.2.5

2.2.5

现在,让我们来测试一下吧。

效果

效果

作品名称:

3D引擎(纯代码)

最后的最后,感谢你阅读本文章,希望对你有所帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/67176.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pdf怎么转换成jpg图片?这几个转换方法了解一下

pdf怎么转换成jpg图片?转换PDF文件为JPG图片格式在现代工作中是非常常见的需求,比如将PDF文件中的图表、表格或者图片转换为JPG格式后使用在PPT演示、网页设计等场景中。 【迅捷PDF转换器】是一款非常实用的工具,可以将PDF文件转换成多种不同…

14k字综述视觉大模型

目录 0.导读1.背景介绍1.1基础架构1.2目标函数1.2.1对比式学习1.2.2生成式学习1.3预训练1.3.1预训练数据集1.3.2微调1.3.3提示工程2.基于文本提示的基础模型2.1基于对比学习的方法2.1.1基于通用模型的对比方法2.1.2基于视觉定位基础模型的方法2.2基于生成式的方法2.3基于对比学…

发布游戏,进行打包。(Unity)

做到这里,我们的项目基本功能已经完成了,如果你还想使项目功能更加完善,可以自己思考如何补充,充分发挥并进行优化使效果达到更加美好。 首先呢,我们这里是说打包Window电脑游戏,我们直接点击菜单栏文件-&…

less基本使用

1 less中的变量 //对值进行声明 link-color: #ccc//定义变量名称 .{sleName} {}bg: background-color; //定义属性名称 .container {{bg}: red; }2 继承(复用重复样式) //继承必须位于选择器最后 //继承选择器名不能为变量 .a:hover:extend(.b) {}.a {…

C++ 二叉树(建立、销毁、前中后序遍历和层次遍历,寻找双亲结点等)

&#xff08;1&#xff09;结构体和类定义 struct BTreeNode {T data;BTreeNode* left, * right;BTreeNode() :data(0), left(nullptr), right(nullptr) {}BTreeNode(T val, BTreeNode<T>* leftChild nullptr, BTreeNode<T>* rightChild nullptr):data(val), le…

十九、docker学习-Dockerfile

Dockerfile 官网地址 https://docs.docker.com/engine/reference/builder/Dockerfile其实就是我们用来构建Docker镜像的源码&#xff0c;当然这不是所谓的编程源码&#xff0c;而是一些命令的集合&#xff0c;只要理解它的逻辑和语法格式&#xff0c;就可以很容易的编写Docke…

【佳佳怪文献分享】安全人机交互的学习责任分配与自动驾驶应用

标题&#xff1a;Learning Responsibility Allocations for Safe Human-Robot Interaction with Applications to Autonomous Driving 作者&#xff1a;Ryan K. Cosner, Yuxiao Chen, Karen Leung, and Marco Pavone 来源&#xff1a;2023 IEEE International Conference on …

JavaEE初阶:多线程 - 编程

1.认识线程 我们在之前认识了什么是多进程&#xff0c;今天我们来了解线程。 一个线程就是一个 "执行流". 每个线程之间都可以按照顺讯执行自己的代码. 多个线程之间 "同时" 执行 着多份代码. 引入进程这个概念&#xff0c;主要是为了解决并发编程这样的…

APP外包开发的iOS开发语言

学习iOS开发需要掌握Swift编程语言和相关的开发工具、框架和技术。而学习iOS开发需要时间和耐心&#xff0c;尤其是对于初学者。通过坚持不懈的努力&#xff0c;您可以逐步掌握iOS开发技能&#xff0c;构建出功能丰富、优质的移动应用。今天和大家分享学习iOS开发的一些建议方法…

【广州华锐视点】AR电力职业技能培训系统让技能学习更“智慧”

随着科技的发展&#xff0c;教育方式也在不断地进步和创新。其中&#xff0c;增强现实(AR)技术的出现&#xff0c;为教育领域带来了全新的可能。AR电力职业技能培训系统就是这种创新教学方法的完美实践&#xff0c;它将虚拟与现实相结合&#xff0c;为学生提供了一个沉浸式的学…

JavaScript版本ES5/ES6及后续版本

JavaScript简史 1995&#xff1a; Brendan Eich在短短10天内创建了JavaScript的第一个版本。它被称为摩卡&#xff0c;但已经具备了现代JavaScript的许多基本特性! 1996&#xff1a; 为了吸引Java开发人员&#xff0c;Mocha先是更改为LiveScript&#xff0c;然后又更改为Ja…

UI设计师个人工作感悟5篇

UI设计师个人工作感悟一 工作一年了&#xff0c;结合我自身谈谈UI设计的重要性。现在主流的论坛建站程序有两种 Phpwind 和Discuz(Phpwind被阿里巴巴收购 Discuz被腾讯收购这两个论坛程序都是开源免费的)&#xff0c;利用这两种程序我都分别建立过论坛&#xff0c;我第一次用的…