Navigation

    CreatiCode Scratch Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • CreatiCode
    1. Home
    2. creaticodeta2-mail
    3. Posts
    C
    • Profile
    • Following 0
    • Followers 0
    • Topics 54
    • Posts 54
    • Best 1
    • Groups 2

    Posts made by creaticodeta2-mail

    • 化身动画

       

      预备知识

      • 在场景中添加化身

       

      说明

      当一个化身(avatar,也叫替身或者人像)做出三维动画的时候,它是在快速的展示一系列的身体姿势。每个姿势都会定义化身各个部分的位置和角度。举个例子,下图展示奔跑动画中的五个姿势。

       

       

      在一个化身被加载之后,它只知道怎么样运行“待命”这个动画,也就是站在原地,什么都不做。你可以很简单地为化身添加其他的动画,就好像你在“教”这个化身去做更多事情一样。要使用动画,你需要知道如何做三件事情:如何添加动画到化身,如何开始一个动画以及如何停止一个动画。

       

      把动画添加到化身的编程积木

      下面这个积木可以“教会”一个化身如何做一个或者多个动画动作:

       

      • 动画名称列表: 在化身中被允许的动画列表。当你点击“请选择”输入框时,一个新的窗口会展示所有你可以选择的预先建好的动画。需要注意的是,你可以同时选择很多个动画。当你点击选择任何动画时,它将会被陈列在窗口的顶部。你可以点击陈列在顶部的任何动画来取消它。最后,你需要点击右上角的”确认“按钮。


       

      • 在你确认需要添加的动画列表之后,它们的名字会被一个一个地添加到列表中,之间以逗号分隔开。举个例子,下列的编程积木包含两个名为“快跑”和“打败”的动画:

       

       

      运行结果

      当你运行这个编程积木的时候,被选择的动画将会被下载并添加到这个化身模型中。需要注意的是,这个编程积木只能在化身被加载到场景中之后被使用。事实上,这个编程积木通常会被直接放置在“添加化身”积木的下面。

      此外,你只需要在化身上添加一次动画,当动画已经被添加到化身之后,你不需要再次添加他们。一个很常见的错误就是在一个循环里重复运行“添加动画”积木。换句话说,如果一个化身已经学会了怎样跑,你就不需要再一遍一遍的教他怎样跑了。

       

      开始动画的编程积木

      这个积木可以用来开始运行一个新的动画:

      31ae6a64-b3fb-44f5-afb1-b77ecffd1da6-image.png

      • 动画名称: 需要被运行的动画名称。当你点击“请选择”输入框时,一个新的视窗会展示所有你可以使用的动画。需要注意的是,你要选择的动画必须在此之前已经被包含在“添加动画”积木中。举个例子,要运行“飞”的动画,你需要先在化身中添加“飞”这个动画,否则它将不知道怎么样“飞”。

      • 循环: 如果“是”,那么动画会在它完成播放时就会重新开始;如果“否”,那动画将会在播放一次之后停止,并把化身静止在最后一个姿势,直到你开始另一个动画。

      • 从%: 动画以百分比来计算的起始点,它可以是0到100之间的任何数值。举个例子,假设动画有40个姿势,而如果我们把“从%”设置成50,那么动画将会在第20个姿势开始,而不是从第一个姿势开始。

      • 到%: 动画以百分比来计算的结束点,它可以是0到100之间的任何数值,并且不小于“从%”。举个例子,假设动画有40个姿势,如果我们把“到%”设置成80,那么动画将会在第32个姿势结束。这个时候,如果“循环”为“是”,那么动画会回到“从%”指定的姿势重新开始运行。如果循环为“否”,那么动画将会静止在第32个姿势。

      • 速度比例: 速度比例控制播放动画的速率。当它是100时,动画会以它原本的速度播放。如果数值大于100,比如200,那么动画将会以2倍速播放,也就是说,每两个相邻的姿势之间的间隔时间会减少一半。需要注意的是,速度比例不会影响开始和结束的姿势,只是控制姿势一个个被展现出来的速度。

      • 运行模式: 如果是“需等待的”,那么程序逻辑将会在这个积木运行完毕之前都被暂停在这个积木上;如果是“可继续的”,那么程序逻辑将在开始动画后立刻继续到这个积木下方的其他积木。举个例子,如果你把动画设置成重复执行,并也把它设置成“需等待的”,那么这个积木下方的积木都将不会被运行。

      • 偏移 x/y/z: 在开始一个动画的时候,你可以在不改变化身的位置的情况下让它的身体偏移一个距离。如下图示例, 当一个化身从“待命”转而开始“飞”的动作的时候,它的飞行高度就是它的脚下。这看起来有的别扭。要解决这个问题,我们可以在Z方向增加一个偏移距离,这样化身的身体中心就不会改变太多。

       

      • 进度列表 和 广播消息列表: 最后 2 个输入允许你在动画运行期间的某些时间点自动广播消息。 “广播消息列表”输入接受一个或多个以逗号分隔的消息,例如“移动,返回”(你必须在此之前使用“接收消息”积木来定义这些消息)。 “进度列表”输入接受一个以逗号分隔的进度时间列表,例如“50,100”代表进度50%和100%。你必须确保消息的数量和进度点的数量相同。在下面的示例中,我们让化身开始循环运行跳舞的动画,并且在每次进行到 50% 和 100% 两个进度的时候广播“变色”这个消息:

       
       

      运行结果

      当运行“开始动画”这个编程积木时,化身将会根据你指定的参数来运行特定的动画。如果化身已经在运行其他指定的动画,那么那个动画将会被先停止。

      需要注意的是,大部分动画都是由“原地不动”的姿势组成,就是说动画并不改变化身的位置。举个例子,要让一个化身奔跑,你需要在播放“跑”的动画的同时另外改变化身的位置(比如使用移动积木)。不然的话,化身会在原地跑步。

       
       

      示例

      程序: 这个程序添加两个动画到机器人化身,并以“重复循环”模式运行“奔跑”动画。因为动画是“可继续的”,在它下方的重复循环编程积木会直接开始,让角色向前移动。

      c035552a-7834-4a29-887b-2d9db07d4b8a-image.png

       

      结果展示

       
       

      停止动画

      有时你可能希望化身停止当前正在运行的动画,例如停止奔跑或停止跳舞。你会发现并没有“停止动画”的积木。相反,你应该让化身开始“待命”动画。

      如下图所示,你可以使用按钮控件来添加两个按钮:其中一个按钮使化身跳舞,而另一个按钮使其回到待命状态:

      posted in 三维积木
      C
      CreatiCode TA 2
    • 设置摄像头极限

       

      预备知识

      • 在三维场景导航中使用轨道摄像头

       

      介绍

      你可以利用这个编程积木来设置轨道摄像头的极限:

       

       

      参数

       

      • 最小/最大半径: 这两个输入框设置了轨道摄像头和他的目标点之间的最小和最大距离。举个例子,如果你把最小半径设置成1,那么当你用鼠标滚动按钮或W键把摄像头放大时,你距离摄像头目标的距离不能小于1个单位的距离:

       

       

      • 可见距离 最小/最大: 这两个数值控制场景中被展示的物体范围。举个例子,如果我们把距离设置成5到1000,那么任何和摄像头距离小于五个单位或大于1000个单位的物体将不会被展示在摄像机里。

       

      • 上下角度 最小/最大: 这两个数值控制了摄像头的上下角度。默认情况下上下角度为0至180度,这个数值覆盖了所有角度。无论如何,如果你把上下角度设置成更小的角度,那么摄像头将不可以倾斜到大于或小于这个角度:

       

       

      • 速度比例 平移/转动: 最后两个数值控制你可以手动平移或旋转摄像头的速度。这两个数值越大,摄像头会移动得越快。举个例子,这个速度展示了500对比5000的平移速度差异:

       

       

       
       

      示例

      当我们使用不同的天空时,我们必须要设置摄像头的可见范围。 “设置天空”积木会为场景添加一个巨大的天空背景,但普通的轨道摄像机看不到那么远。因此,我们需要在设置天空后扩大摄像头的可视范围:

      9e624d0d-0390-4671-b385-13202119ac66-image.png

       

      7a06396d-f20e-4ed9-bc43-28c1789e7035-image.png

      posted in 三维积木
      C
      CreatiCode TA 2
    • 使用ReadyPlayer.me来创建你的化身

      介绍

      你可以创建一个化身模型,用来在虚拟的三维世界里面代表你自己,就像下面这个画面一样:

       

       

      在这篇文章中,你将会学习如何使用一个名为Ready Player Me的免费工具来创建一个化身。你需要至少有一个看起来比较像你的化身,这样**你的朋友就可以在众多的化身中看出哪个化身是你。

       

      打开化身创建网站:

      • 如果你拥有自己的电子邮件(你的或者你的监护人的),请根据以下步骤来登入:

        1. 拜访 ReadyPlayer.me
        2. 点击右上角的“登入”
        3. 在文本框中输入你的邮箱,并点击“发送激活码”
        4. 去到你的邮箱并寻找名为“在Ready Player Me登入”的邮箱,并复制(Ctrl + C)激活码。
        5. 回到ReadyPlayer.me窗口,并复制激活码到文本框中,接着点击“登入”。
        6. 点击“创建新化身”的青色按钮,并选择“全身”类型。

       

      • 如果你没有任何邮箱可以让你用来接收激活码,你可以点击这个链接来开始: https://creaticode.readyplayer.me/

       
      这两个方法的关键差别是,如果你能够登录,那么你以后还可以打开并编辑你的化身模型。但是如果你没有登录,那么你不能编辑以前创建的化身模型,每次必须从头开始创建新的化身模型。

       

      创建一个初始化身

      现在你只需要两个步骤就可以开始创建一个初始化身:

      • 首先,选择一个身体种类,男生可以选择Masculine(肌肉型),女生可以选择Faminine(女性型)。
      • 接下来,使用任一方法来提供你自己的基础图像:
        • 点击**Take a photo (拍一张照片)**按钮,这将会打开你电脑上的摄像头并拍摄一张你的照片。需要注意的是,如果你的摄像头正在被其他应用程序比如Zoom使用,那么你需要先关那个应用程序里的摄像头。
        • 你也可以选择“pick a file (上传一个文件)”,这会允许你从你的电脑内存中挑选一张照片图像。如果你的电脑没有摄像头或者你不想要拍照,这是一个很好的选择。
        • 最后,如果你不想要一个看起来想你的化身,你也可以选择Continue without a photo (继续但没有照片)。那么,你就会从一系列预先建好的化身原型中选择一个。

       

      创建你自己的化身

      我们有很多方法可以创建你的化身。举个例子,我们会尝试修改预建化身中的一个:

       

       

      • 首先,你可以调整化身的肤色。要能更清晰地看见差异,你可以放大到脸部。

       

       

      • 接下来,你可以调整化身的脸部形状,主要是下颚和脸颊的区域。你也可以调整眼睛,鼻子和嘴唇,但它们没有那么重要。

       

       

      • 你也可以选择一套不一样的服装。需要注意的是,样式远比颜色或者印花更重要,因为你可以之后在程序中修改它们。

       

       

      • 接下来,你可以调整化身的发型以及颜色。这也会是一个重要的造型,因为它会很严重地影响化身的样子。需要注意的是,你应该在改变发型之前先记得系统选择的发型,因为你可能找不到一个更好的方案了。

       

       

      • 最后,这里有一些你可以尝试的有趣选择。

       

       

      用GLB文件来导出你的化身

      要在创益编程平台使用你的化身,你需要以GLB格式从Ready Player Me平台中导出它。就像JPG文件格式可以储存二维照片一样,GLB文件格式可以储存三维模型。

      • 如果你已经使用邮箱登录了,那么你可以点击右上角的’进入中心’,并点击左下角的“My Avatars (我的化身)”目录。你将会在这个页面找到你的所有化身。你可以点击任一化身上的三个小点,并选择“Download avatar glb (下载化身glb)”。你可以能需要用你的名字重新命名这个GLB文件,以便你可以过后轻易找到它。

       

       

      • 如果你没有登录,那你应该点击右上角一个名为“Next (下一步)”的按钮,这将会弹出一个包含GLB文件链接的对话框。你可以复制这个链接并在新的游览页面粘贴它,以便这个化身可以被下载到你的电脑里。你可能需要把这个文件以你的名字重新命名一边你可以很轻易地找到它。

       

      上传你的GLB化身文件

      要在创益编程平台中上传你的GLB文件,去到“我的东西”页面,并点击“我的化身”,接着点击“上传3D化身“。点击写有”点击上传“的按钮,找到你刚刚下载的化身的GLB文件。给你这个化身模型起一个名字,在文件被上传到服务器之后,点击底部的”上传3D化身“。通常来说,这个步骤使用谷歌浏览器会更快一些。

       

       

       

      改变你的化身

      如果你需要改变你的化身,你可以删除现有的化身,然后上传一个新的化身。

       

       

       

      了解更多:

      在场景中添加化身

      posted in 三维积木
      C
      CreatiCode TA 2
    • 在三维场景中添加盒子

      介绍

      盒子是三维世界中最基础的建筑积木。举个例子,在《我的世界》中,你能使用很多的盒子来合成任何一个物体。

      要在场景中添加一个盒子,使用三维物体类别中的添加盒子积木:

       

       
       

      参数

      颜色

      你可以通过点击颜色输入框并移动滑杆来设置盒子的颜色。需要注意的是,“饱和度“控制颜色看起来多浓烈,”亮度“控制颜色变得暗淡或明亮。”透明度“允许你让盒子变透明。

       

       

      举个例子,这三个盒子分别拥有0,30和60的透明度。透明度数值越高,盒子就会越透明。事实上,你甚至可以通过设置透明度100来创建一个看不见的盒子。

       

       

       
      你也可以使用上和下箭头来改变数值,每按一次箭头数值就会改变1。如果你要设置一个确切的数值,这会让你的控制更加精准:

       

       

      在x/y/z维度的大小

      这三个数值控制盒子在每个x,y和z维度的大小。举个例子,以下这个程序会添加一个X维度大小400,Y维度大小300以及Z维度大小200的盒子:

       

       

       

       

       

      棱角半径

      棱角半径让你的盒子拥有圆角和尖角。越大的数值会让盒子的棱角看起来越圆润。举个例子,下图将会展示棱角半径为0,10和30的差异:

       

       

      名为

      你可以使用编程积木末端的“名为”输入框来给新盒子一个名字。你可以查看名字和角色物体来知道更多详情。

       

       
       

      演示

      通过更改上述的参数,你可以创建很多种不一样的盒子,比如:

       
       

      六色盒子

      你也可以使用这个编程积木来添加一个在六个面都有不一样颜色的盒子:

       

       

      这个编程积木跟“添加盒子”编程积木非常相似,除了你能为盒子设置六个颜色,以及你不能使用它来设置棱角半径。

      颜色输入

      这六个颜色输入控制“顶面”、“底面”、“左面”、“右面”、“背面”以及“前面”的颜色。需要注意的是,整个盒子只有一个透明度,并且它可以使用第一个输入框的透明度滑杆来设置。这是一个例子:

       

       

      posted in 三维积木
      C
      CreatiCode TA 2
    • 二维 - 艺术 - 点状影子(难度:2)

       

      覆盖的关键课题

      • 造型上色
      • “笔”扩展
      • 触碰物体编程积木
      • “颜色”编程积木

       
       

      介绍

      在这个教程中,你将会学习如何创建一个角色的“点状”版本,比如说一条鱼:

       

       

      步骤1 - 创建一个新的程序

      首先,请创建一个新的程序,移除含有科迪的角色1,并把“空白1”角色命名成“笔”。请从图书馆中添加一个“鱼”的角色。

      你的程序应该看起来像这个样子:

       

       

       
       

      步骤 2 - 调整鱼角色

      接下来,请把鱼角色变得更大。你可以把它的大小设置成300。然后,请去到它的“造型”页面并选择“鱼-c”造型:

       

       

       
       

      步骤 3 - 把“笔”角色弄成点的造型

      接下来,选择“笔”角色的造型,并画一个小圆点,成为它的造型。

       

       

       
       

      步骤 4 - 添加笔扩展

      现在,我们准备好添加一些编程积木了。首先,请添加”笔“扩展,并把这两个编程积木添加到”笔“角色,以便程序在开始时清理舞台:

       

       

      步骤 5 - 让点从左边扫描到右边

      要扫描整个舞台,我们需要把”笔“造型移动到不一样的X位置。要做到这样,创建一个新的变量”x",并使用一个"为了循环“来让x从-240变成240,每个步骤大小为10。换句话说,x会在-240开始,并增加10变成-230,然后-200,并持续增加直到变成240。

       

       

      现在你应该可以看见点从左边滑动到右边:

       

       

       

      步骤 6 - 从底端扫描到顶端

      与其只扫描一行,我们可以让点从舞台底端向上进行扫描,并扫描整个舞台。我们可以使用另外一个“从”循环以及一个新的名为“y”的变量。y应该从-180增加到180,并且步长也为10:

       

       

      现在,在每个x位置,我们让点在往右边移动之前先经历所有的y位置。

       

       

       
       

      步骤 7 - 在每个位置画个点

      现在,让我们在每个位置画个小点。首先我们需要把笔的大小设置成10,所有他可以画一个大小为10的圆形。接下来,我们需要让笔放下并在我们移动它之后直接拿起。

       

       

      你应该会得到很多像这样的小点:

       

       

       
       

      步骤 8 - 让点移动得更快

      要让现在的点完整地扫描整个舞台可能会太慢了。让我们以增加笔的大小以及增加步长数值,比如30,来让他更快:

       

       

      现在我们将会得到更大的点,而且他们能够更快地覆盖整个舞台:

       

       

       

      步骤 9 - 只在鱼的下方画圆

      现在,我们准备好扫描鱼的角色。我们可以添加添加一个情况,就是我们 使用"接触物体"编程积木时,只会在笔角色触碰鱼角色时画下一个圆形。要让我们的扫描变得更准确,你需要把笔角色的大小设置成一个小的数值比如1。

       

       

       
       

      步骤 10 - 跳过屏幕更新

      要让我们的程序运行得更快,我们即将使用一个非常有有用的技巧。在“笔”角色中创建一个名为“画圆形”的新的编程积木,并选择“运行时不刷新屏幕”:

       

       

      接下来,把所有的编程积木移动到这个新的编程积木的定义堆栈。这样做之后,电脑在“制作圆形“堆栈完成运行之前,不会更新我们看见的荧幕。

      现在你的程序应该运行得更快:

       

       

       
       

      步骤 11 - 切换成更小的点

      要让圆点更好地贴合鱼的形状,我们可以使用更小的圆点。因为我们的程序会在不刷新屏幕时运行得更快,我们可以使用更多的圆点。举个例子,这是你在把圆点大小和步长设置成20之后得到的:

       

       

       
       

      步骤 12 - 把笔设置成随机颜色

      最后一个步骤,让我们把每个圆点的笔颜色变成随机颜色。要完成这个,你需要使用”设置笔颜色“编程积木,以及"颜色" 编程积木来计算一个随机的新颜色:

       

       

      这是最后的结果:

       
       

      创意点子

      你可以有很多方法,使用你自己的创意点子来改编这个程序。这里是一些例子:

      • 不同的角色::你可以把鱼替代承认和其他的角色,比如动物或者一些字体。

      • 多个角色: 你可以为很多个角色创建”点状影子“。要能够做到,你只需要把条件改变成当笔角色接触任何一个角色时创建一个圆点即可。

      posted in 小教程
      C
      CreatiCode TA 2
    • 二维 - 可持续目标14 - 海底塑料污染(难度:2)

       

      覆盖的关键课题

      • 复制角色
      • 设置或改变角色物体大小
      • 造型上色
      • 使用变量
      • 切换造型
      • 广播信息
      • 挑选一个随机号码
      • 重复循环
      • 当接触时间
      • 重复-直到循环

       
       

      介绍

      可持续目标是联合国在2015年认证的17个目标。它们是每个人都需要共同努力的代办目标。

      这个教程将会教导如何移除海洋的塑料污染,而这与第十四个目标"保护水下生物"。

      每年都会有大量的塑料垃圾流入海洋,这会威胁到水下的生物。在这个程序中,你将会创建一个游戏来捕捉塑料垃圾。如果任何的塑料垃圾或者网触碰到任何海洋生物,那么游戏就会结束。

       

       

       

      步骤 1 - 改编一个模板项目

      首先,请点击这个链接来打开程序模板:

       
      https://play.creaticode.com/projects/2346d59cdaba3485820986ec


       

      点击“改编”按钮来创建你自己的改编项目。需要注意的是,你需要登入才能够改编项目。

      这个项目包含三个角色以及一个海底背景。

      • “野生生物”角色包含鱼类以及其他海底野生生物的8个造型。.
      • “塑料”角色包含塑料垃圾的四个造型:塑料袋、塑料杯、塑料瓶以及塑料碟。
      • “网”造型包含一个可以用来捕捉塑料垃圾的网子。

       

       

       

      步骤2 - 重复地复制野生生物

      首先,我们将会处理鱼的角色。在游戏开始之后,我们需要一直每三秒复制一个新的野生生物:

       

       

      当你运行程序之后,你不会看见任何新的复制体,因为他们都和原有的角色重叠了。所以你需要把原有的角色拖拽到新的位置来看见复制体。

       
       

      步骤 3 - 把克隆的野生生物移动到左边

      所有的野生生物会从左边移动到右边,所以我们会把他们的起始X位置设置成-220。要让他变得有趣,我们可以为它们设置一个随机的Y位置,但我们需要确保他们出现在舞台的下半部分。因此,我们可以使用-50到-170之间的数值。

       

       

      现在,我们可以看见复制体出现在左边:

       

       

       
       

      步骤 4 - 切换到一个随机的造型

      要让每个新的复制体展现一个不一样的造型,我们可以使用“切换造型”编程积木。需要注意的是,这个编程积木不仅允许你从列表中选择,也可以使用数字来作为它的输入方式。所以我们可以使用“随机选取”编程积木来产生一个1到8之间的随机数字。举个例子,当数字会是1时,那么这个复制体将会切换成造型号码1,也就是“金鱼”。

       

       

      现在,我们每次都会得到一个随机的野生生物:

       
       

      步骤 5 - 隐藏原有的角色

      原有的角色一直都被展示在舞台上。我们可以简单地隐藏它,以便所有的游戏逻辑都由复制体完成。需要注意的是,当原有的角色被隐藏起来时,它的复制体也会被隐藏,所以我们需要在复制体被生成之后显示它们:

       

       

      现在,我们只会看得到复制体,并且把原有的角色隐藏起来:

       

       

       
       

      步骤 6 - 让野生生物游泳

      在每个复制体被生成之后,我们会让它们游到右边。我们可以一直地 把它们的X位置数值加1:

       

       

      现在,我们会在海底得到一些正在游泳的野生生物:

       

       

       
       

      步骤 7 - 删除复制体

      当一个复制体抵达舞台的右边时,我们需要删除它。一个很简单的方法就是使用就是使用“触碰舞台边缘”编程积木,就像这个样子:

       

       

      虽然如此,这个方法会有一些问题,因为复制体会在它们被生成的时候触碰到左边的舞台边缘,所以它们会直接被删除掉。要解决这个问日,我们可以检查复制体的X位置是否接近右边的舞台边缘:

       

       

      现在,我们可以看见克隆体会在它们抵达右边的舞台边缘时被删除:

       

       

       
       

      步骤 8 - 触碰网则游戏结束

      在这个游戏中,玩家将会操控网来捕捉塑料垃圾,并且网不应该伤害任何野生生物。因此,一旦网意外触碰到任何一只野生生物,那么游戏就会结束。为了能够结束游戏,我们可以添加一个新的名为“游戏结束”的变量。

      • 当游戏开始时,我们把“游戏结束”设置为0,这意味着游戏还没有结束。
      • 当野生动物的任一克隆体碰到“网”角色时,我们把“游戏结束”设置为1。

      这是一个“游戏结束”变量的简单测试。它从0开始,并在鱼接触到网时被设置成1。

       

       

       
       

      步骤 9 - 重复直到游戏结束

      当游戏结束时,我们应该停止创造新的克隆体,并冻结现有的克隆体。我们可以使用“重复执行直到”编程积木来替代“重复执行”编程积木,以便复制会在“游戏结束”变量变成1的时候停止。

       

       

      当我们测试游戏时,所有的复制体会在第一条鱼接触到网时被冻结:

       

       

       
       

      步骤10 - 把编程积木复制到塑料角色

      现在,让我们开始为“塑料”角色进行编程。你会发现,因为塑料角色也创建很多会在舞台上移动得随机复制体,所以我们能重复使用野生动物角色中的大部分程序。关键的差异是移动的方向。

      因此,我们可以复制“野生动物”角色中的3个堆栈的编程积木到“塑料”角色中。

       
       

      步骤 11 - 修复塑料角色中的复制编程积木

      虽然复制大量的编程积木感觉很不错,但是你也需要非常地小心,因为**程序中的大部分问题都来自于”复制粘贴“**。

      我们需要小心的改变新的编程积木,以便塑料角色的复制体会随机地移动到底。这是一些你需要做出的改变:

      • 让“塑料“角色每秒生成一个复制体,以便我们可以得到更多的塑料。
      • 复制体只可以从四个造型中选择。
      • 复制体应该去到舞台的顶端,并且X位置随机。
      • 复制体应该向下移动,每一步的Y位置都减少两个单位。
      • 如果复制体的Y位置低于特定数值,比如-150,那么我们将会删除它。

       

       

      作为测试,现在我们将会得到随机的野生生物和随机的塑料垃圾:

       

       

      步骤12 - 删除塑料垃圾的时机

      我们也需要改变删除塑料角色复制体的方式。我们不应该在垃圾抵达底部的视乎删除它,因为真正的塑料垃圾会留在海洋的底部。而且,当塑料切除到”网“角色的时候,这意味着网已经收集了这个垃圾,所以我们应该删除这个复制体。

      现在,塑料垃圾会在他们接触到”网“角色时消失:

       

       

       
       

      步骤 13 - 如果垃圾接触野生生物,游戏结束

      玩家的目标是为了预防塑料垃圾伤害野生生物,所以我们应该在垃圾接触任何的野生生物时把”游戏结束“设置成1:

       

       

      作为测试,当野生生物接触掉下来的垃圾时,游戏结束:

       

       

       
       

      步骤14 - 点击以移动网

      现在,让我们改变”网“角色。我们可以使用很多方式来让玩家控制”网“角色,以移动它。让我们挑选一个简单的方法:当玩家点击舞台的任一地方时,我们把网移动到那里。我们可以使用"当按下鼠标按钮时”编程积木。

      需要注意的是,它需要我们创建两个新的变量“x"以及”y“,并且我们需要从下拉式选项中选择他们。

       

       

      现在,游戏可以通过控制网的方式来进行:

       

       

       
       

      步骤 15 - 总共分数

      因为所有游戏都会有一个努力的目标,让我们在玩家移除一个垃圾物体时奖励他们一分。我们可以添加一个新的变量”分数“,在游戏开始时把它设置成0,当有些塑料垃圾被移除时增加一分。这部分可以在”塑料“角色里完成:

       

       

      现在游戏已经完成了:

       

      创意点子

      我们有很多办法,让你可以在这个程序里面创建更多。这里有一些点子的例子:

      • 添加更多野生生物或垃圾造型: 找出其他正在被这个问题伤害的海底野生生物,或者其他常见的垃圾种类,并把它们添加到游戏中,以便人们开始警惕。

      • 塑料垃圾的速度: 要让游戏变得更有挑战性,你可以让垃圾以随机的速度下降,或让他们下降得越来越快。

      posted in 小教程
      C
      CreatiCode TA 2
    • 二维 - 可持续目标10 - 教育与收入(难度:2)

       

      覆盖的关键课题

      • 文本框控件
      • 更换背景

       
       

      介绍

      可持续发展目标是联合国在2015年认证的17个目标。它们是每个人都需要共同努力的待办目标。

      这个教程是关于学习年份与收入之间的关系,而这跟第十个目标"减少不平等"有关。

      你会创建一个很简单的薪水计算器:用户可以输入他们呆在学校的年份,而你的程序会展示他们能够得到的薪水,以及每周的平均薪水。

       

       

       

      步骤1 - 改编一个模板程序

      首先,请点击下方链接来打开程序模板:

      https://play.creaticode.com/
      projects/0edc60af14f4a6177a32f3c7

      点击“改编”按钮来创建你自己的改编项目。需要注意的是,你需要登入才可以做到。

      21c90156-8b05-45a9-84d1-6613330ee2ad-Picture1.png

      这个项目包含一个空白的角色以及舞台里的一些背景。

       
       

      步骤2 - 开始的一幕

      当用户点击运行旗帜时,我们需要展示“开始”背景。你可以使用空白角色中的"转换背景"编程积木:

       

       

       

      步骤3 - 显示一个输入框文字格

      要允许用户输入他们打算上学的年份数量,我们有几个可以做到的方法。举个例子,我们可以使用"询问并等待" 编程积木。

      无论如何,在这个程序中,我们会使用不一样的方法:文本框小工具。请先添加小工具扩展。

       

       

      现在你应该可以看见左方的“小工具”类别,而你可以在展开的上方寻找“添加文本框”编程积木。

       

       

      当你点击运行旗帜时,你会在舞台中间得到一个输入框,就像下图展示的一样:

       

       

       

      步骤 4 - 调整文本框

      现在我们需要把输入框向上移动,并且把它调整得更小。你可以尝试使用小工具来调整它,就像这样:

       

       

      需要注意的是,编程积木中的位置和大小数值会自动改变。如果你不知道要怎么样使用小工具,你依然可以以直接在编程积木中输入数值:

       

       

       

      步骤 5 - 当文本框被改变时

      每当用户改编文本框中的数值,我们应该改变背景。要简单地开始,让我们在文本框改变时,把背景改变成“辍学”:

       

       

      现在只要我们输入任何文字,背景都会被改变:

       
       

      步骤 6 - 检查年份的数量

      你可以通过读取文本框小工具的数值来得到用户输入的数值。我们知道完成高中学业需要12年时间,所以如果用户输入的时间少于12,我们需要展示“辍学”背景:

       

       

       

      步骤 7 - 高中毕业证书

      现在让我们看看当用户输入的数值超过12时的情况。这意味着用户将会至少得到高中毕业证书。要从学院中得到一个副学士学位,一个人则需要学习至少14年。所以如果输入数值少于14,我们可以去欸的那个这个用户将会得到一个高中毕业证书。

      你可以右键点击“如果否则”编程积木来复制它,然后改变这两个地方:

       
       

      步骤 8 - 副学士学位

      下一个步骤非常相似。要得到一个学士学位,一个人需要学习16年的时间,所以,我们可以添加一个少过16年的情况:

       
       

      步骤 9 - 直到博士学位

      你可以不断地添加更多情况来升级。需要注意的是,在最后一部分,如果上学年份至少是22年,我们不再需要添加更多的“如果否则“编程积木,因为用户会得到一个博士学位。

       

       

      这是程序的最终演示:

       
       

      下一步

      这里有一些你可以利用你的创意点子来延伸这个项目的一些方式:

      • 更改背景: 你可以更改北京来用相同的方式展示其他信息。举个例子,你可以改变背景中的角色,或不展示每周薪水而是展示每月薪水。

      • 说些什么: 在切换成本不一样的背景之后,你也可以使用”文字朗读“或者你自己的声音录制来说写什么。举个例子,你可以说”恭喜!得到一个学士学位会有很不错的薪水!“

      posted in 小教程
      C
      CreatiCode TA 2
    • 二维 - 可持续目标5 - 议会里面的女性百分比

       

      覆盖的关键课题

      • 设置或改变角色大小
      • 造型上色
      • 使用列表
      • 使用变量
      • 下拉式小工具
      • 造型盖章
      • 使用循环
      • 打印文字
         
         

      介绍

      可持续发展目标是联合国在2015年认证的17个目标。它们是每个人都需要共同努力的待办目标。

      这个教程是关于不同国家国会议席里的女性占比,而这个跟第五个目标"性别平等"有关。

      你的项目将会允许用户选择一个国家并展示一个动画来显示该个国家中,女性议员的比例。这个数值很常被用来测量一个国家拥有多少女性数量。

       

       

       

      步骤 1 - 改编一个模板项目

      首先,请点击这个连接来打开项目模板:

      https://play.creaticode.com/projects/031866d2c5b75663d2b2c094

      点击“改编”按钮来创建你自己的改编项目。需要注意的是,你需要登录才可以做到。

       
      f1feacc9-a07a-4cdf-9045-159e12cfcbfd-wm 1.png
       

      这个项目在绿色的背景之上包含一个角色。这个角色有一些议会男性和议会女性的造型。

       

      步骤 2 - 把标题添加到背景中

      首先,让我们在绿色背景中添加一个标题。你可以选择舞台,并使用“T”工具来在背景中添加字体。你也可以改变字体的颜色,位置和大小。

       

      步骤3 - 创建一个国家名字的下拉名单

      接下来,我们会创建一个新列表并把它命名为“国家”,并把这五个例子国家添加到列表里:

       

       

      有了这个准备好的列表之后,我们可以添加一个下拉式名单,以便在用户点击运行旗帜时展示列表:

       

       

       

      步骤 4 - 调整下拉式目录

      我们需要把下拉式目录调整到更高的位置。这可以通过“小工具位置”工具来轻易地做到:

      370ed466-424b-4689-b76e-1e429f773682-image.png

       

       

      需要注意的是,当你移动或者改变下拉小工具大小时,编程积木里面的数值会自动被改变。

       

      步骤 5 - 观察用户选择的改变

      当用户在下拉名单选择一个不一样的国家时,我们需要展示那个国家的资讯。我们可以使用“当控件被更改”编程积木来激活这个举动。

       

       

       

      步骤 6 - 展示信息的新编程积木

      我们会添加一个名为“展示信息”的新编程积木。它会包含所有为特定国家展示信息的编程积木。

       

       

      需要注意的是,你也可以改变新的编程积木的颜色。

       

      步骤 7 - 得到女性议员百分比

      现在我们需要使用新的变量来代表被选择国家中的百分比数值。举个例子,在这个页面,我们可以找到冰岛中,议会(国会)有大约47%的女性议员。最简单检查下拉式名单的数值是使用“如果”编程积木:

       

       

      你可以复制这个“如果”编程积木来处理其他四个国家,就好像下图展示的一样:

       

       

       

      步骤 8 - 打印百分比变量

      现在,让我们在国家名字之后展示百分比数量。你可以使用打印文字编程积木来在舞台上写下任何文字。你会需要在打印之前清空所有打印,以便国家名字改变时,之前的数值被清除了。

       

       

       

      步骤 9 - 在一行里盖章造型20次

      最后一步,我们需要在舞台上打印一百个男性或者女性的图像。要开始很简单,让我们只添加一行20个图像,但是先不需要担心需要使用哪个造型。

      就像展示的一样,你可以使用一个“从-循环”,这会把“x”变量从一个数值增加20,再到另一个数值:-190,-170,-150,…170,190。

      然后我们只需要移动角色到指定的x位置,并且y位置=30,过后打印造型。需要注意的是,我们需要先清除所有盖章。

       

       

      现在我们得到造型的20个盖章。要让他们在舞台上看起来合适,我们需要把大小调整到20左右:

       

      步骤10 - 计算图章数量

      要控制图章的造型是女性还是男性造型,我们需要知道我们已经打印了多少个图章。我们可以使用新的变量“计算器”来计算图章数量。它应该从零开始,并在我们盖上一个印章时增加一个:

       

       

       

      步骤11 - 决定哪一个图章需要被盖下

      现在我们知道我们已经打印了多少个印章,我们也可以比较自由地决定要打印男性造型还是女性造型。我们会先开始打印女性造型,并在计算器开始大于百分比数值是,我们转换成男性造型。

       

       

      现在,首20个图章的代码已经成功了。举个例子,如果我们选择“日本”,那么造型会在十个图章之后转换成男性造型:

       

       

       

      步骤12 - 添加多4行图章

      最后一步,我们只需要打印多4行的造型,一行20个图章。Y位置会是唯一的差别,每一行的Y数值会减少40:30,-10,-50,-90,-130。

       

       

       
      这是我们会得到的最终结果:

       
       

      创意点子

      你可以有很多方法来延续这个项目。这里是一些例子:

      • 优化编程积木: 现有的“展示信息”编程积木很长。你可以把一些编程积木移到另外一个新的编程积木,并把那5个“从”循环简化成2层的循环。

      • 其他国家: 尝试在列表中添加一些其他国家。如果你不喜欢使用“如果”编程积木来设置“百分比”变量,你可以尝试使用一个表格来储存数值。

      • 其他标题: 除了议会中的女性数量,你可以使用这个形式来代表其他的比例,比如贫穷人口,或大于某个年龄的人士等等。

      posted in 小教程
      C
      CreatiCode TA 2
    • 二维 - 可持续目标4 - 翻译教育性YouTube影片

       

      覆盖的关键课题

      • Youtube影片小工具
      • 标签小工具
      • 广播消息

       
       

      介绍

      可持续发展目标是联合国在2015年认证的17个目标。它们是每个人都需要共同努力的待办目标。

      这个教程与第四个目标"优质教育"有关。

      现今,YouTube上有很多很棒的免费教育资源。虽然如此,它们大多都被制作成英语版本,所以对于不讲英语的学生来说,要从这些影片中学习非常困难。

      在这个小教程中,你将会为奈飞影片《我们的星球》创建一个简短的翻译。你可以用你自己的声音来代替原有的英文配音,也可以添加别的内容比如字幕和影片上的文字。

      西班牙文版本:

      中文版本:

       

      步骤 1 - 添加YouTube影片播放器小工具

      要开始,请先创建一个新的项目,移除“科迪”角色,并把“空白1”角色重新命名为“主要”。过后,把这些编程积木添加到“主要”角色。

       

       

      这个编程积木会把 Youtube影片小工具放到舞台中间并覆盖整个舞台。这个影片会被称为“影片1”,过后我们使用这个名字来代表这个影片窗口。

      你可以从这个影片下方复制影片链接。你只需要点击右上角的“分享”按钮,并点击底部的“复制链接”。

      点击运行旗帜,你将会看到影片已经被加载但是还没有被播放:

       

       

       

      步骤 2 - 从第17秒开始播放

      你可以使用“跳转到”编程积木来移动到影片的任何时间点。在这个例子程序里,让我们跳过影片的首17秒,并使用“开始播放”编程积木来开始播放影片

      需要注意的是,你需要在这些编程积木的下拉式选项中选择“影片1”。
      影片只会在你点击运行旗帜并把YouTube影片小工具添加到舞台时才会显示在下拉式选项中。

       

       

      现在如果你点击运行旗帜,影片会被加载并在第17秒开始播放:

       

       

       

      步骤 3 - 添加作为字幕的标签

      接下来,让我们添加一个标签小工具 来显示我们要说的话的字幕。这个标签会被放在影片下方来覆盖掉影片原有的字幕。把这个标签命名为“标签1”,以便我们可以在过后指定他。

       

       

      现在,当我们运行程序,我们会在影片下方得到一个空白标签:

       

       

       
       

      步骤 4 - 更新标签的颜色

      因为原有的影片底部是黑色的,我们也可以把我的标签变成黑色来隐藏它。我们也需要把它的边框更新成0,以便它不会显示任何的边框。标签的默认字体颜色是黑色的,所以不会显示在黑色的背景上。因此,我们需要把字体颜色更新成白色。你也可以改变字体的颜色和大小。

       

       

      如果你在下拉式选项中没有看到“标签1”的名字,这意味着你还没有把标签添加到舞台上,而你只需要点击运行旗帜来添加标签就可以了。

      现在我们就看不出影片的底部有个标签了:

       

       

       

      步骤 5 - 隐藏标签

      我们只需要在我们添加自己的音频和字幕时显示字幕,所以我们可以先隐藏标签小工具:

       

       

       
       

      步骤 6 - 添加一个新的角色 “音频1"

      现在我们可以准备添加我们自己的音频了。首先,创建一个新的空白角色并把它命名为”音频1“。

      接下来,影片准备好后,从原有的”主要“角色中广播一个“开始”消息 :

      接下来,在 “音频1” 角色中接收这则消息:

       
       

      步骤 7 - 找到第一个句子的时间点

      现在,我们需要找出原有影片中第一个句子的开始时间和结束时间。要更方便地找出这个时间点,你可以打开一个新的浏览器页面,并直接打开YouTube影片的链接。

      播放影片直到旁白说出第一个句子,也就是”Just 50 years ago, we finally ventured to the Moon.“。这个句子大概在第20秒开始,并在第27秒结束。

       

      步骤 8 - 录制新的音频

      现在让我们录制一段会覆盖原有声音的新音频。如果你原本就知道另外一种语言,比如西班牙文或者中文,你可以简单地使用另一种语言来录制你自己的声音。

      无论如何,如果你对其他语言不熟悉,你依旧可以使用谷歌翻译来帮助你。举个例子,你需要做出以下步骤来得到西班牙文的翻译:

      1. 打开"谷歌翻译" 网站。
      2. 在左边的输入框输入句子"Just 50 years ago, we finally ventured to the Moon.",你就会看到西班牙文翻译出现在右边。
      3. 在你的创益编程项目中,转换成“音频1”角色的“声音”页面,并开始路子一个新的声音。
      4. 切换回到谷歌翻译页面,并点击声音标志来播放西班牙文版本的句子。
      5. 当声音结束后,回到创益编程游乐场并停止录音。
      6. 选择已录制声音的中间部分并保存它。

      这是上述程序的演示:

       
       

      步骤 9 - 等到开始时间

      因为我们会在第20秒开始我们的新录音,我们可以等到影片先播放到那个时间点,你可以使用“现有视频时间”编程积木来得到以秒为单位的影片时间,那么你的程序只需要等到那个时间就可以把原有的影片静音。这些编程积木可以被添加到“音频1”角色“:

      现在如果你运行程序,原有的音频应该会在20秒开始被静音。

       
       

      步骤 10 - 开始播放我们的新声音

      在影片已经播放到20秒时,我们可以开始播放我们的录音:

       

       

      需要注意的是,我们正在使用“播放声音”编程积木,而不是“播放声音等待播完”编程积木。这样的话,程序不需要等到声音播放完毕才开始运行接下来的编程积木。

      现在如果你点击运行旗帜,你应该只听到你的新音频,而不是原来的音频。

       

      步骤 11 - 展示新的字幕

      我们应该展示新语言的心字幕来匹配音频。因此,你可以把“标签1”的数值设置成西班牙文的翻译。你可以从谷歌翻译复制译文:

       

       

       
       

      步骤 12 - 等到原有句子结束

      要确保原有影片中的第一个句子被完全移除了,我们需要让影片保持静音,直到第27秒。我们可以使用另外一个“等待”编程积木,来等到第27秒,并把影片取消静音。我们也应该在这个时候隐藏字幕标签。

       

       

      现在你已经成功用自己的句子来替代第一个原有的句子了。这应该是你完成之后的成果:

      需要的是,字幕文字太大了,要放成一行放不下,所以让我们去到“主要”角色,并把标签的字体大小从16改成12:

       

       

       
       

      步骤 13 - 自定义一个新的编程积木“播放声音”

      因为我们会代替很多个句子,我们会重复替代第一个句子的逻辑很多次。因此,我们可以在“音频1”角色里“包括”很多编程积木在一个新的编程积木里。我们可以把这个新的编程积木成为“播放声音”,而它需要有四个输入框:句子的开始时间,句子的结束之间,声音录频的编码,以及需要展示作为字幕的文字。

       

       

      当这个编程积木被定义之后,我们可以使用它来播放第一个句子,就像这样:

       

       

      需要注意的是,对于“声音”,我们指定字母1,以便系统会知道我们需要播放“声音”页面的第一个声音。

       

      步骤 14 - 第二个句子

      现在,让我们尝试替代第二个句子。你会发现第二个句子介于40秒和46秒之间:“For the very first time, we looked back at our planet.”。

      因此,我们可以录制这个句子的第二个声音,并使用“播放声音”编程积木来添加它:

       

       

       

      步骤 15 - 四个句子

      我们可以使用同样的方式来添加多四个句子:

       

       

       
       

      步骤 16 - 为“标题”创建一个一个新角色

      在六个句子过后,影片将会展示一个大标题“我们的星球”。让我们也为它添加一个翻译好的标题。

       

       

      你将会找到这个标题在第80秒和88秒被展示。所以,让我们添加一个名为“标题”的新角色,并让他等到第80秒:

       

       

       

      步骤 17 - 展示被翻译的标题

      现在让我们为标题添加另外一个名为“标签2”的标签。它会需要一个比较大的文字大小,并且如果我们给他一个透明的背景他看起来会比较好看。同样地,你可以从谷歌翻译得到“我们的星球”的西班牙文翻译。

       

       

       

      步骤 18 - 隐藏标题

      最后当原有的标题消失时,我们应该也隐藏新标题。所以,让我们等到第88秒,并隐藏新标签。

       

       

      这是翻译影片的最终演示:

       


       

       

      创意点子

      毋庸置疑,能够在你的项目背景中加入YouTube影片为你打卡了无限的可能。你可以选择不一样的影片,并在影片上添加小工具/绘画/角色,然后改变音轨。

      这里是可以激发你的想法的一些点子:

      • 团队合作翻译整个影片:创建被翻译的声音和字幕是非常耗时的。虽然如此,你可以选择跟你的同学或朋友团队合作。每个人可以使用它们自己的角色来处理句子,然后你需要导入这些角色(比如“音频1”,“音频2”…)进入一个新的主要项目。他们看起来很不错。

      • 把一个不一样的影片从一个语言翻译成另一个语言:你可以选择另一个影片并把它冲英文翻译成另一个语言,或者选择一个外国语言的影片并把它翻译成英文。你可以看下方的参考来找到一些可能的影片。

      • 改变说过的句子:与其完全地根据原有影片进行翻译,你其实可以用你自己的句子取代他们,而这个句子可以带有完全不一样的意思。举个例子,你可以通过代替角色正在说的话来创建一些有趣的影片。

       
       

      YouTube上的优秀创意影片

      这个列表会持续地被更新。

      • linkstart||The Bright Side Channel||https://www.youtube.com||/c/BRIGHTSIDEOFFICIAL||linkend
      • linkstart||The Ted-Ed Channel||https://www.youtube.com||/teded||linkend
      • linkstart||The SciShow Kid Channel||https://www.youtube.com||/c/scishowkids||linkend
      • linkstart||The Free School Channel||https://www.youtube.com||/channel/UCebMFnw6WxozGmqGekJHOJg||linkend
      • linkstart||The National Geographic Channel||https://www.youtube.com||/c/NatGeo||linkend
      • linkstart||The Kaoru GreenEmerald Channel||https://www.youtube.com||/c/KaoruGreenEmerald||linkend
      • linkstart||The History of the World Channel||https://www.youtube.com||/channel/UC6xWLK_eSPw5Kk-zlkC8KwA||linkend
      • linkstart||The Viper TV Science Channel||https://www.youtube.com||/c/ViperTVSciences||linkend
      • linkstart||The Nat Geo Kids Channel||https://www.youtube.com||/natgeokidsplaylists||linkend
      • linkstart||David Attenborough Documentaries||https://www.youtube.com||/playlist?list=PLz58QJ68R9CTFoR1J6dgAc4mwdAmm3kZZ||linkend
      • linkstart||The Khan Academy Channel||https://www.youtube.com||/c/khanacademy||linkend
      posted in 小教程
      C
      CreatiCode TA 2
    • 二维 - 可持续目标3 - 卡路里计算机(难度:2)

       

      覆盖的关键课题

      • 设置或改变角色大小
      • 造型上色
      • 使用变量

       
       

      介绍

      可持续发展目标是联合国在2015年认证的17个目标。它们是每个人都需要共同努力的待办目标。

      这个小教程是关于我们吃的食物的卡路里,这和第三个目标“良好健康和福祉”有关。

      用户可以点击他们吃过的不同种类的食物,而卡路里的总和会被自动计算。

       

       

       

      步骤 1 - 准备一个新的项目

      请创建一个新的项目并移除里面的两个角色。

      选择一个简单的背景图像,比如说“蓝天2”:

       

       

       

      步骤 2 - 添加一个苹果角色以及一个“苹果”变量

      现在让我们添加一个苹果角色,并把他放在舞台的左上角。

       
      请记得添加一个新的变量 ,并把他命名为“苹果”,并把它移到苹果角色下面。把它的布局改变成“大字显示”以便只有数字数值被展示。

       

       

       

      步骤 3 - 展示苹果的卡路里

      现在让我们改变造型来展示吃下一个苹果的卡路里,大约数值为80。你可以使用“T”工具来把文字添加到苹果角色的造型,并使用箭头工具来移动和调整字体大小。

       
       

      步骤 4 - 点击动画

      用户可以点击苹果来把它添加到当天吃的食物列表。我们可以简单地添加一个动画来让用户知道他已经正确地点击了。

      转换到“代码”页面,并添加这些编程积木。这些编程积木会在用户点击苹果角色时被运行,然后把苹果的大小减小到原有大小的80%。在等待非常短的时间(100毫秒)后,我们把它的大小设置回100%。

      这是程序运行过后的结果:

       
       

      步骤 5 - 更新“苹果”变量

      当用户点击苹果之后,我们会把“苹果”变量添加1,以便它会展示总共被添加的苹果数量:

       

       

      无论如何,我们也需要允许用户重重新开始计算。我们可以通过点击绿色旗帜时把“苹果”变量设置成0来做到。

       

       

      现在,苹果变量正在运行良好:

       

       

       

      步骤 5 - 展示总共卡路里的“总数”变量

      我们也会需要计算卡路里总数。请添加一个新的名为“总数”的变量,并把它展示在舞台的底端。

       

       

       
       

      步骤 6 - 更新“总数”变量

      我们用来更新“总数”变量的方法跟我们如何更新“苹果”变量很相似。

      • 每当用户点击苹果角色时,我们会把苹果的80卡路里添加到总数。
      • 每当绿色旗帜被点击时,我们把总数重新设置成0。

       

       

      现在,每当我们添加更多苹果时,总数会被正确地更新:

       

       

       
       

      步骤 7 - 添加一个甜甜圈角色

      现在让我们添加一个角色,作为甜甜圈。因为我们要重新使用苹果角色的代码,我们有两个选择:

      • 我们可以复制苹果角色,并把它的造型换成一个甜甜圈;
      • 我们可以添加一个新的甜甜圈造型,并从苹果造型复制代码。

      让我们使用第一个方法,右键点击苹果角色来复制他,并把新的角色命名为“甜甜圈”:


      接下来,转换到它的“造型”页面,并添加“甜甜圈”造型:

      最后,添加字体来展示甜甜圈的卡路里,它的卡路里大概是200。你可以选择一个不一样的颜色来让他更容易阅读。

       

       

       

      步骤 7 - 添加“甜甜圈”变量

      我们需要一个新的名为“甜甜圈“的变量来追踪有多少个甜甜圈被吃掉了,并把它放置在甜甜圈角色下方:

       

       

      现在请改变甜甜圈角色的代码,用”甜甜圈“变量来取代”苹果“变量。并且,”总数“应该在我们每次点击甜甜圈角色时增加200。

       

       

      现在我们的计算机将能够计算两个角色的卡路里:

       

       

       

      步骤 8 - 添加更多食物

      请重复以上步骤来添加更多食物。这是一些例子:

      如果你正在以团队形式创建程序,你们每个人都可以尝试创建一些食物种类,然后你们可以通过导出和导入角色来合并你们的程序。

       
       

      创意点子

      你可以有很多方法和使用你自己的创意来延展这个程序。这是一些例子:

      • 添加练习: 你可以添加一些额外的角色来代表一些不一样形式的练习。举个例子,添加一个奔跑的角色,每当用户点击角色时,这意味着用户跑步一分钟,我们可以减少10个卡路里的卡路里总数。

      • 多个页数: 我们可以添加两个按钮,一个”上一页“和一个”下一页“,这样我们就可以在不同的页面展示不一样的食物,这会允许我们展示更多的食物选择。

      posted in 小教程
      C
      CreatiCode TA 2
    • 三维 - 地球走透透(难度:1)

       

      覆盖的关键课题

      • 创建三维场景
      • 使用轨道摄像头
      • 摄像头设置
      • 小工具扩展
      • 按钮插件

       

      介绍

      在这个教程中,你将会创建一个程序来告诉大家你的祖国和你想要拜访的国家:

       

       

       

      步骤 1 - 加载“地球”场景

      请在创益编程游乐场创建一个新的项目,移除小狗角色,再把这些编程积木添加到“空白1”角色中。

      使用三维场景类别中的"创建三维场景" 来加载”地球“场景。

       

       

      现在你可以围绕着地球来 旋转摄像头:

       

       

       

      步骤 2 - 找到你在地球的哪里

      现在请尝试通过旋转和放大摄像头来寻找你在地球的哪端。举个例子,假设你的位置很靠近芝加哥(美国),你可以尝试把这个地点放在摄像头的中间:

       

      步骤 3 - 让摄像头自动移动

      现在我们要让摄像头自动移动以便用户不需要旋转摄像头。

      要移动摄像头,你需要使用”设置摄像头“编程积木。而要找出摄像头的位置,你可以使用摄像头特质报告编程积木,下图将展示如何同时使用这两个编程积木:

       

       

      在完成你的程序之后,它看起来应该长成这个样子。它会自动把摄像头移动到你所在的地球位置上。

       

      步骤 4 - 给目的地的新按钮

      接下来,让我们添加一个按钮来让你直接跳到你在地球上的目的地。添加一个 “小工具” 扩展,然后添加 “添加按钮” 编程积木。

      举个例子,假设你想要访问西班牙。那么你可以把按钮上的字体设置成”西班牙“。

       

       

      当你点击这个编程积木(只点这个积木),一个新的按钮会被添加到屏幕的中间。你可以打开”小工具位置“工具,并移动或者调整按钮大小。”添加按钮“编程积木的数值会随之改变。

      这里展示一个有新的编程积木的最终程序:

       

       

       

      步骤5 - 处理点击按钮事件

      当用户点击按钮时,我们需要转换摄像头视角以便它看向地球上的西班牙。这个逻辑可以被转换成这两个编程积木:

       

       

      现在我们只需要找出摄像头的准确距离和角度。这个方法和步骤2和3非常相似。我们首先手动移动摄像头,然后找出摄像头参数。

       

       

       

      步骤 6 - 摄像头动画

      现在,当用户点击“西班牙”按钮时,我们的摄像头就会跳转到新的视角。要让跳转看起来更流畅,我们可以添加一些动画,就像我们在谷歌地球里面看到的一样。

      我们有很多可以移动摄像头的方法。在这个例子中,我们会先在1.5秒内把摄像头和地球之间的距离增加到11000来拉远摄像头。第二步,我们保持这个就,但是在三秒内把摄像头旋转到一个新角度。最后,我们在1.5秒内把摄像头拉近以便更靠近西班牙。

       

       

      现在我们得到一个还不错的摄像头动画:

       

       

       
       

      创意点子

      你可以使用这个点子来创建更多其他有趣的程序,用以展示地球的其他部分。这里有一些你可以参考的想法

      • 你可以改变按钮的颜色来让他变得更好看。
      • 你可以添加另外一个可以把摄像头转换成你现有地点的“家乡”按钮。
      • 你可以创建一个程序来展示地球上最大、最小和最出名的国家。
      posted in 小教程
      C
      CreatiCode TA 2
    • 三维 - 精灵球(难度:1)

       

      覆盖的关键课题

      • 创建三维场景
      • 使用球体
      • 旋转物体

       
       

      介绍

      在这个教程中,我们将会创建一个像这样的精灵球:

       

       

       

      步骤 1 - 有三维轴的“空无”场景

      请创建一个新项目,移除小狗角色,并把这些编程积木添加到“空白1”角色。你可以在“三维场景”类别中找到"创建三维场景"编程积木以及"显示三维坐标轴" 编程积木。

       

       

      就像动图显示的一样,X轴会指向右边,Y轴会指向前方(面向屏幕),以及Z轴指向上方。你可以在舞台上拖拽你的滑鼠来让摄像头围绕着它旋转:

       

       

       

      步骤 2 - 一个深灰色的球

      我们先从添加一个暗黑色的球体开始。请把它在三个维度的大小都设置成300,并把侧面数设置成64来让球体看起来更光滑。

       

       

      你应该得到一个像这样的物体:

       

       

       

      步骤 3 - 添加半球体盖子

      精灵球应该有一个红色的半球体复盖在上半部。我们可以添加一个稍微更大一点的球体,把大小从300改成304,以及把侧面数从100改成50。

       

       

       

      步骤 4 - 把盖子旋转到顶部

      现在我们需要把红色盖子旋转到顶部。你可以使用角色控制台中的方向控制来手动尝试旋转,并添加"旋转到"编程积木,然后使用你得到的数值。在这个案例中,我们应该围绕着X轴到-90度或者270度:

       

       

       

      步骤 5 - 在底部的白色盖子

      下一个步骤是非常相似的。我们需要在底部添加另外一个半球体,所以旋转角度会是90度。

       

      步骤 6 - 创造缝隙

      现在我们不能看见在红色和白色盖子下的灰色球体。要在中间创造一个缝隙,我们要让盖子变小。

       

       

      你可以通过把“切层”数值从50减到48来做到。

       

       

       

      步骤 7 - 添加一个黑色盖子

      现在我们需要添加一个黑色的盖子,作为精灵球的“眼睛”。它看起来应该长这个样子:

       

       

      请在还没有看答案之前先想想如何添加它。

      这是其中一个能够做到的方法:

       

       

      就像你看到的一样,我们需要一个比较大的球体,这样他就会覆盖红色和白色盖子。我们也需要使用一个非常小的“切层”数值以便它只会覆盖球体的一小部分面积。

       

      步骤 8 - 一个荧光眼球

      接下来,让我们在黑色眼睛里添加一个荧光眼球。你可以尝试看看吗?

       

       

      答案会和黑色眼睛非常相似,我们只是需要把大小增加一点,然后把“切层”数变小一点。

       

       

       

      创意点子

      你可以有很多办法来改良这个程序。这里有一些可以激发你的灵感的点子:

      1. 不一样的颜色和纹理: 你可以在精灵球的所有部分尝试不一样的颜色或使用新的纹理。

      2. 两只眼睛: 你可以在现有的眼睛部分对面尝试添加另外一只眼睛。

      posted in 小教程
      C
      CreatiCode TA 2
    • 三维 - 外星飞碟(难度:1级)

       

      覆盖的关键课题

      • 创建三维场景
      • 使用球体
      • 更新纹理

       
       

      介绍

      在这个程序中,我们会利用三个球体形状来创建一个外星飞碟:

       

       

      步骤 1 - 创建一个“天空”场景

      请创建一个新项目,并使用"创建三维场景"编程积木来加载“蓝天”场景。这个场景可以很快被加载的。它包含一个有白云的蓝天,并且下方有个海洋。请一并添加三维轴来显示三个维度。

       

       

       

       

       

      步骤 2 - 添加第一个球体

      现在让我们添加一个大而平的球体来作为外星飞碟的主体。X和Y的大小应该是一个很大的数值,比如500;而Z的大小(高度)应该要更小,比如50.

       

       

      这是需要被添加的新的编程积木。需要注意的是,侧面数被设置成64,来让大的球体看起来更光滑。

       

       

      步骤 3 - 更新纹理

      要让外星飞碟的主体看起来更真实,我们可以对它使用一个纹理。如果你搜索关键词“宇宙”,你将会找到很多可以选择的好看纹理。你也可以改变它的重复次数来让纹理重复更多次。

       

       

       

      步骤 4 - 第二个球体

      接下来,让我们添加另外一个更小但是更高的球体,但是也拥有不一样的纹理,你可以尝试添加它吗?你应该使用什么x/y/x的数值呢?

       

       

      这是你如何利用复制来添加第二个球体的方式:

       

       

       

      步骤 5 - 作为控制室的第三个球体

      最后一个球体看起来会更小更高。你也可以在指定颜色时让他变得半透明。

       

       

      这是你需要添加的新编程积木:

       

       

      步骤 6 - 把第三个球体切一半

      我们应该只需要控制室在外星飞碟的上半部分。我们可以使用“切层”输入来得到半个球体。请尝试产出一个像这样的结果:

       

       

      就像展示的一样,当我们把球体变成一个半球体,他正面向错误的方向,所以我们也需要旋转它:

       

       

       

      创意点子

      有很多你可以改善这个外星飞碟的方法。这里是一些可以激发你的灵感的点子:

      1. 不一样的颜色和纹理

      2. 打开第二个球体: 现在第二个球体作为透明盖子出现。如果能够打开,那看起来会更好:

       

       

      1. 添加其他物体: 你可以在场景中添加一些其他物体,比如外星人、灯、舱门、着陆腿等。
      posted in 小教程
      C
      CreatiCode TA 2
    • 三维 - 外星人跳舞派对(难度:1)

       

      覆盖的关键课题

      • 创建三维场景
      • 使用化身
      • 化身动画
      • 摄像头设置
      • 复制物体
      • 击打鼓
      • 更新物体颜色

       
       

      介绍

      在这个教程中,我们将会进行一些跟跳舞的外星人的趣事:

       

       

      步骤 1 - 创建一个有三维轴的草地场景

      请创建一个新项目,并移除小狗角色。在“空白1”角色中,添加青色旗帜编程积木、“创建三维场景”、以及”添加三维轴“编程积木。需要注意的是,你需要点击输入框并选择”草地“场景。这是一个拥有巨大草地和蓝天的轻量级场景。

       

       

      就像动图显示的一样,X轴会指向右边,Y轴会指向前方(面向屏幕),以及Z轴指向上方。你可以在舞台上拖拽你的滑鼠来让摄像头围绕着它旋转。

       

      步骤 2 - 添加一个外星人化身

      化身是可以呈现一系列动图的像人的模型。这里将展示如何添加一个外星人化身:

       

       

      步骤 3 - 教外星人如何跳舞

      外星人化身只知道如何保持在”休闲“状态。我们需要通过对外星人"添加动画"来“教会”它如何进行一些跳舞的动画。下列动图将会展示如何浏览动图并添加“霹雳舞准备”动画。

       

       

       

      步骤 4 - 开始舞蹈

      在我们添加舞蹈动画之后,我们可以在任何时候开始动画。默认情况下,动画会在它完成一轮之后重新开始,所以它会一直重复下去。

       

       

      步骤 5 - 摄像头更好的位置

      因为外星人面向前方并体积很小,我们可以移动摄像头以便可以在外星人的前方观看。我们可以使用这个编程积木来设置摄像头的距离和角度 :

       

       

       

      步骤 6 - 复制并移动

      接下来,让我们添加另外一个外星人角色。我们可以创建一个它的复制体,并选择在这两个角色之间共享数据。这会让你的程序运行得更快,因为所有角色将会重用一样的颜色和动画数据。

      我们也需要将复制的角色移动到一个不一样的位置,否则他将会与原有的角色重叠。

       

       

      现在我们会有两个在彼此旁边跳舞的外星人:

       

       

       

      步骤 7 - 第三个外星人

      接下来,你可以尝试添加一个像下图一样的外星人吗?

       

       

      这里有一个可以做到的办法。我们只需要把它的X数值设置成-100,而不是100。

       

       

       

      步骤 8 - 跳舞节奏

      我们的舞蹈排队还缺少一些跳舞的节奏。我们可以添加一些鼓点来配合外星人的动作:

       

       

      步骤 9 - 改变眼睛颜色

      最后,让我们是外星人眨动红色眼睛:

       

       

      要让眼睛改变颜色,你需要使用"更新颜色"编程积木,并选择“第二”区域,这个区域代表角色的眼睛。

       

       

      作为参考,这是最终程序。

       

       

      创意点子

      你可以有很多办法来延展这个程序。这里有一些可以激发你的灵感的电子:

      1. 改变身体颜色: 你可以随机地在每个不走改变外星人的身体颜色。

      2. 移动外星人: 你可以尝试添加更多的角色,并移动或旋转他们来形成一个有趣的阵型。

      posted in 小教程
      C
      CreatiCode TA 2
    • 三维 - 一个旋转的地球(难度:1)

       

      覆盖的关键课题

      • 创建三维场景
      • 使用球体
      • 更新纹理
      • 设置物体速度
      • 为物体添加高光

       
       

      介绍

      在这个教程中,你将会学习如何创建一个旋转的地球:

       

       

      步骤 1 - 创建一个空白场景

      首先,创建一个新的项目,然后使用"创建三维场景"编程积木来加载一个空白场景。

       

       

      默认情况下,这回创建一个没有东西但是蓝色背景的空白场景:

       

       

      步骤 2 - 设置星空背景

      接下来,使用“指定天空”编程积木来创建更好看的背景:

       

       

      你应该会得到一个太阳处在右边的星空:

       

       

      步骤 3 - 添加一个大的球体

      接下来,在场景中添加一个球体,它的直径需要有10000。我们先不需要担心它的颜色。

       

       

      被添加的球体面向太阳的那一面会看起来更明亮。

       

       

       

      步骤 4 - 添加地球纹理

      现在我们需要使用地球纹理来更新球体的纹理。我们先添加"更新纹理"编程积木,点击“请选择”输入框,并在图书馆窗口中搜索“地球”。

       
      e1.gif
       

      注意,这里的地球的纹理是上下反过来的。这个问题在使用纹理的时候偶尔会出现。为了让它上下翻转过来,我们可以把纹理的垂直方向的重复次数从1改为-1:

       

      e2.gif

       
       

      步骤 5 - 让地球旋转

      要让地球物体旋转,我们可以使用"设置速度"编程积木。需要注意的是,地球需要从“左”旋转向“右”,所以“Z轴旋转”速度需要为负数。

       

       

      现在你的地球物体应该可以缓慢地旋转了。

       

       

      步骤 6 - 围绕着地球的高光

      最后,要让地球物体散发出蓝光,我们可以创建一个新的高亮层,并把球体添加到那个层次。

       

       

      现在你的地球物体周围应该带有一圈蓝光。

       

       

       

      下一步

      你可以尝试使用相似的方法来创建其他项目。这里有一些点子的例子:

      • 不一样的星球: 你可以把地球换成其他星球,比如火星;
      • 旋转的皇冠: 你可以尝试让一个皇冠物体 旋转并发光。
      posted in 小教程
      C
      CreatiCode TA 2
    • 二维 - 可持续发展目标12 - 回收小测验(难度:1)

       

      覆盖的核心课题

      • 设置大小、修改大小
      • 为造型上色
      • 切换造型

       
       

      介绍

      可持续发展目标是联合国在2015年认证的17个目标。它们是每个人都需要共同努力的待办目标。

      这是一个关于回收的教程,跟第十二个目标“负责任消费和生产”有关。

      你将会创建一个简单的小测验,让玩家选择一件物品可以被回收与否:

       

      步骤一 - 改编一个程序模板

      首先,请点击这个链接来打开一个程序模板:

      https://play.creaticode.com/projects/c6ff348d316b5d815fecd0f4

      点击“改编”按钮来创建一个你自己的改编程序。需要注意的是,你需要登入以便可以创建改编程序。

      21c90156-8b05-45a9-84d1-6613330ee2ad-Picture1.png

      这个程序包含三个角色物体。物体角色物体将会代表测验中的废弃物品。它包含了很多常见物体造型。在这个教程中,我们只会使用“牛奶罐”造型。

       

      步骤二 - 移动和设置角色物体大小

      首先,让我们移动和调整角色物体大小以便让布局变得更好看。举个例子,你可以让废弃物品变得更大,并把两个桶调整得更小并放到右边。

       

       

       

      步骤三 - 用新的角色物体来绘制箭头

      接下来,让我们添加另外一个角色物体,用以展现两个从废弃物品指向垃圾桶的箭头。你可以使用右下角的“绘制”按钮来添加一个空白造型的新角色物体:

       

       

      在这个新角色物体的造型编辑器中,你可以添加一个你喜欢的颜色的新箭头,并把它旋转到朝上的方向。

       

       
      接下来,选择这个箭头,然后创建一个它的复制体。把这个新箭头放到下边并让它指向下方:

       

       

      步骤四 - 在垃圾桶造型中添加字体

      当玩家正确地选择了垃圾桶,我们需要展示一个很大的“是”在垃圾桶的上方。要做到这个,最简单的方式是添加另外一个造型,并在上面写上很大的“是”字。请复制垃圾桶造型,并在上边添加“是”字。

       

       

      相似地,请制造另外一个有“不”垃圾桶的造型:

       

       

      步骤五 - 把字体复制到回收箱

      我们也需要回收箱的“是”与“不”的版本。你可以复制两次回收箱,并从垃圾桶造型中复制字体。

       

       

      目前为止,我们已经拥有所有需要的造型,是时候开始添加编程积木。

       

      步骤刘 - 展示不带有字体的垃圾桶

      当程序开始运行的时候,我们应该展示上方没有字体的垃圾桶。你可以把这个两个编程积木添加到垃圾桶角色物体里:

       

       

       

      步骤七 - 当垃圾桶被点击时,转换成带有“不”的造型

      因为我们正在使用牛奶罐作为我们的例子,而牛奶罐是应该被回收的。所以,如果玩家选择垃圾桶,答案就会是错误的。我们可以在玩家点击垃圾桶是,把造型变成上方有“不“字的造型。你可以在垃圾桶造型中使用这些编程积木:

       

       

      现在我们的垃圾桶角色物体运行良好。它一开始时没有字体,然后我们点击它时就会转换成”不“:

       

       

      步骤八- 为回收箱添加相似的编程积木

      现在请复制这两盏编程积木到回收箱编程积木,并在回收箱被点击时转换成“是”的造型:

       

       

      现在我们简单的小测验程序已经完成了。当用户点击运行之后,他/她需要选择点击垃圾桶或回收箱,然后我们会展示答案:

       

       

      创意点子

      你可以有很多方法使用你的创意点子来延续这个程序。这里有一些例子:

      • 不一样的物体: 你可以选择使用“废弃物品”造型列表中的另一个物体,又或者添加你自己的新造型。作为参考,这个页面包含了很多可回收物品和不可回收物品的例子。

      • 笑脸: 与其展现“是”与“否”的字体,你也可以在垃圾桶和回收箱的上方添加笑脸或生气的脸。

      • 多重关卡: 在玩家正确回答一个问题之后,你可以给他的分数添加一分,并展示另一个物品。重复这个步骤直到玩家做出了错误的选择。

      posted in 小教程
      C
      CreatiCode TA 2
    • 二维 - 可持续目标3 - 给老人的护理机器人(难度:1)

       

      覆盖的核心课题

      • 用以移动的箭头编程积木
      • 说句子
      • 设置大小、修改大小
      • 绘制造型
      • 更换造型
      • 广播消息与接收消息
      • 隐藏或显示角色

       
       

      介绍

      可持续发展目标是联合国在2015年认证的17个目标。它们是每个人都需要共同努力的待办目标。

      这个教程是关于老年人的福祉,而这个跟第三个目标“良好健康与福祉”有关。

      对于年龄大于65岁的人群来说,大部分人都在家独居。要照顾他们的其中一个方法是在他们的家中使用照顾健康机器人(“护理机器人”)。

       

       

      这个程序将会展示给更多人知道护理机器人可以做到的事情。祖父将会指示一个名为“Joy”的护理机器人来帮他找到他的书本,而用户将会使用键盘来控制Joy去拿到书本。

       

       

       

      步骤一 - 改编一个程序模板

      首先,请点击这个链接来打开一个程序模板:

      https://play.creaticode.cn/projects/49c43c50fd71336e5fb6c685

      点击“改编”按钮来创建一个你自己的改编程序。需要注意的是,你需要登入以便可以创建改编程序。

      21c90156-8b05-45a9-84d1-6613330ee2ad-Picture1.png

      这个程序包含4个角色物体:

      • “祖父”角色是一个需要Joy的帮忙来获取东西的人物。
      • "Joy"护理机器人拥有16个造型,用以让角色在4个方向行走;
      • “房间”角色包含一个简单的墙壁造型;
      • “东西“角色物体包含一些祖父可能正在寻找的常见物品,比如书本或眼镜。

       

      步骤二 - 填充一个背景颜色

      首先,请选择舞台,并使用一个长方形来覆盖整个造型。选一个跟角色们不一样的颜色。

       

       

      步骤三 - 祖父呼叫帮忙

      当程序开始运行时,祖父需要告诉Joy他正在搜寻的物品。你可以使用”说“ 编程积木来在屏幕上展示他的需求,例如”Joy,我的书本在哪里?“。需要注意的是,你需要在”祖父“角色物体中添加这两个编程积木:

       

       

      步骤四 - ”开始“消息

      在说完请求之后,祖父会”告诉“”东西“角色以移动到舞台的一个随机位置。他可以在通过”说“编程积木之后使用广播一个“开始”消息 来做到:

       

       

      在“东西”角色物体,当他收到“开始”消息时,它应该移到随机位置。

       

       

      步骤五- 隐藏和显示书本

      与其展示书本随机移动的画面,我们应该在一开始时隐藏物体,并在它已经移动到一个新地点之后显示它。

       

       

      现在,书本会在一开始时被隐藏,接着在一个随机位置被显示:

       

       

       

      步骤六 - Joy在中间开始

      现在让我们添加一些编程积木到”Joy"角色物体。首先,我们需要Joy一直在舞台的中间开始。这会让玩家更容易开始。

       

       

       

       

       

      步骤七 - Joy走到右边

      当玩家按下键盘上的右箭头键,我们会让Joy转向右边。程序里包含Joy面向右边的四个造型,”R1“、”R2“、”R3“和”R4“。现在,我们会只使用"R2"。

       

       

      我们也需要使用右键编程积木来让Joy移向右边。

       

       

      现在,每次我们按下右箭头键时,Joy都会朝右边移动一点:

       

       

      步骤八 - 添加其他三个方向

      让Joy在其他三个方向移动的编程积木非常相似。请把它们也添加到Joy角色物体:

       

       

      现在我们就能让Joy移动到舞台的任何角落:

       

       

      步骤九 - 触碰墙壁就重新开始

      现在,Joy可以穿透房间里的墙壁。要让游戏更有趣,我们可以让Joy在触碰到任何墙壁时回到中心点。

       

       

      现在我们可以让Joy走向墙壁来测试程序:

       

       

      步骤十 - 添加一个”做得好“消息

      当玩家成功让Joy移向书本物体的时候,我们需要展现一个消息。请添加一个新的名为”成功“的角色物体,并绘制一个成功消息。这是一个例子:

       

       

       

      步骤十一 - 一开始时隐藏“成功”角色物体

      在游戏的一开始,我们应该隐藏“成功”角色物体。请在角色物体的代码中添加这些编程积木:

       

       

      步骤十二 - 显示”成功“角色物体

      当Joy角色物体触碰到书本物体,我们需要显示”成功“角色物体。

      首先,我们需要在Joy触碰到”东西“角色物体时广播一个新的消息”成功“。我们应该在Joy的代码中添加这些编程积木:

       

       

      在“成功”的角色物体中,当我们收到“成功”消息时,我们应该显示这个角色物体,并把他移到屏幕的中间:

       

       

      现在我们的游戏已经准备好了:

       

       

       

      下一步

      你可以用很多方式来延伸这个程序。这里是一些例子:

      • 绘制一个不一样的房间: 你可以用你自己的绘画来代替“房间”角色的造型。

      • 寻找两个物体: 与其只寻找一个物体,你可以改变祖父的指令来让玩家寻找两个物体。成功的条件也会随着指令改变而被改变。

      posted in 小教程
      C
      CreatiCode TA 2
    • 创建和输出自己的三维模型

       

      预备知识

      • 父母孩子关系

       

      介绍

      如果你有尝试自己利用简单的形状来建造一个物体,比如桌子,你可以把这个物体输出成模型文件,这可以用来做三维打印或分享成社区模型。

       

      准备物体以作输出用途

      在你还没有可以把物体输出成一个模型文件之前,你首先需要准备好它。目标是要让模型的其中一部分成为其他所有部分的父母。

      举个例子,这个桌子由桌面和4个桌腿组成。要输出这个桌子,我们需要采取两个步骤:

      1. 为这5个盒子各取一个名称。
      2. 把桌面设置成4个桌腿的父节点。

       

       

      输出物体

      现在你可以利用“输出物体”编程积木来把这个物体输出成一个文件。编程积木里的输入框应该要是你之前指定的父节点物体的名称。

       

       

      如果你需要一个“GLB”文件作为分享用途,那你应该使用“输出物体()为GLB文件”编程积木。如果你需要一个“STL”文件作为三维打印用途,那你应该使用第二个编程积木。

      当你运行这些编程积木时,它会展示一个对话框以让你指定文件名称。

       
      ccimg||900|https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/d5f31e6e-72ad-4557-a3e1-2bffd1fa6dc9.gif
       

      动手时刻:
      https://play.creaticode.com/projects/27b6fd6dc16d056ba2807bb4

       

      不要从模型图书馆中输出模型

      需要注意的是,你不应该输出你使用”添加模型“或“添加社区模型”编程积木加载的物体,因为这可能违反了这些模型的许可。

      事实上,如果你的场景中包含模型图书馆中预先构建好的模型,“输出物体”编程积木将不会做任何事情。

      posted in 三维积木
      C
      CreatiCode TA 2
    • 切割物体

       

      预备知识

      • 添加盒子
      • 名称和角色物体

       
      ##介绍

      你可以通过用一个物体来切割另一个物体来创建很多有趣的形状。举个例子,下列这个物体就是利用一个柱体来切割一个盒子得到的:

       

       

      需要注意的是,切割是一个非常花费时间的操作。两个物体之间的细节越多,需要用来进行切割操作的时间就越长。举个例子,一个球体比起一个盒子拥有更多的细节(定点,棱角和面),所以切割球体需要花费的时间会更长。

       

      ”切割物体“编程积木

      要制作一个切割品,你首先需要两个有名称的物体。它们也需要有重叠的部分,否则切割操作之后没有东西会被改变。接着,你就只需要运行这个编程积木:

       

       

      当你运行这个编程积木,第二个物体(将会被切割的目标物体)的重叠部分将会被移除,而第一个物体(作为切割器的物体)将不会被改变。

       

      例子1:先切割后移除

      在一个基本使用例子中,你在一个物体上切割了一个洞,而你需要移除作为切割器的物体,才能展示那个洞。就像展示的一样,当你运行了”切割“编程积木后,看起来好像没有什么事情发生。虽然如此,在移除了青色盒子之后,我们会看见黄色盒子上的孔。

       

       

       

      例子2:重新使用作为切割器的物体

      有的时候,我们不需要在进行切割之后直接移除作为切割器的物体。相反,我们可以重新使用它来进行更多的切割。这样的操作会确保我们得到的孔或洞会有一样的尺寸。在这个例子中,进行第一个切割后,我们旋转作为切割器的物体”C“来进行另一个切割。

       

       

       

       

      运行一下试试看:

      https://play.creaticode.cn/projects/7def30b673781fc7d1e69b9e

      posted in 三维积木
      C
      CreatiCode TA 2
    • 添加尾迹

       

      预备知识

      • 添加盒子
      • 名称和角色物体

       

      介绍

      有的时候,我们会有一些移动得很快的物体,比如一个球或一颗子弹。我们可以在这些物体上添加尾迹来展示它们的移动途径。

      需要注意的是,尾迹在它的开端会比较厚,然后尾迹的宽度会慢慢减少,直到它在末端消失。

       

      ”添加尾迹“编程积木

      ”添加尾迹“编程积木会在现有角色的现有角色物体添加一个新的尾迹。让我们把这个物体称为”目标物体“。

       

       

      反射色和自发色

      你可以在把这两个颜色设置到尾迹网格,就好像你怎么样更新一个盒子的颜色。需要注意的是,我们经常需要让尾迹散发一些光线,所以自发色会被用来设置光线的颜色。

       

      宽度

      这个数值控制尾迹在开端的宽度(最厚的一个点)。需要注意的是,尾迹会被画成和头部一样的宽度,不管是我们的摄像头是在哪个角度看着尾迹。

       

      段数

      这个数值间接地控制尾迹的长度。每个段数对应着目标物体的其中一个之前的位置。如果段数数值是50,那么尾迹就会被画在沿着所有过去50个段数的轨迹上。所以当目标物体移动得更快,段数之间的距离会更长。

       

      演示

      在这个演示中,一个球体会反复地左右移动,而一个尾迹会被添加来展示它的轨迹。

       

       

      在这个程序中,有两个需要注意的地方:

      1. 要让尾迹散发颜色,我们需要把尾迹本身添加到发光层,而不是添加目标物体的尾迹。
      2. 在添加尾迹之后,它变成了目标物体。所以如果要让原本的名为s的目标物体左右移动,我们需要先选择原本的物体。

       

       

       
      动手时刻:

      https://play.creaticode.com/projects/63e4e69aef66187247332746

      posted in 三维积木
      C
      CreatiCode TA 2
    • 弯曲的线和箭头

       

      预备知识

      • 直线和箭头

       

      介绍

      你已经知道在创益编程乐园中,线条是由很细的管子组成的。你也可以使用很多小分段的管子来创建曲线。

      要添加一个曲线,你需要采取三个步骤:

      1. 创建一个新的列表
      2. 创建一个列表的点
      3. 利用这个列表来画曲线

       

      创建一个列表的点来生成圆弧

      我们只需要三个点来定义一个圆弧(一个环的一部分)。所以,你可以使用下列编程积木,沿着圆弧来生成一系列的点。

       

       

      起始/中间/结束点

      这三个点在三维空间定义一个圆弧,而更多的点会被沿着这个圆弧被加入,让圆弧看起来更光滑。需要注意的是,中间点不一定需要准确落在圆弧的中间。虽然如此,如果你指定两个点(起始点和结束点),那这两个点之间可以很多不一样的圆弧。举个例子,下列图像展示了四个经过绿色和蓝色点的圆弧,每一个都有不一样的黄色中间点:

       

       

      储存点的列表

      你需要选择哪个列表用来储存被产出的点。如果这个程序中没有列表,你需要先创建一个。

      点数

      这个数值指定你想要沿着圆弧添加的点的数量。数值越高,越多点会被添加,这会让弧更圆滑。需要注意的是,因为一些优化原因,实际生成的点数有可能会少于输入的数值。

       

      用列表的点添加圆弧

      在点的列表被创建之后,我们可以利用“添加曲线“编程积木来画出一个曲线:

       

       

      首五个输入框

      积木的首五个输入框和添加直线的输入框一样,因为它们都被用来控制管子本身的样子。

      储存点的列表

      储存用来绘画曲线的点的列表名称

      列表的开始和结束数值

      你不需要使用列表里的所有数值,相反,你可以指定列表里的开始数值和结束数值。举个例子,如果开始数值是1而结束数值被保留空白(或者是列表的长度),那么列表里的所有点都会被使用。虽然如此,如果开始数值是2而结束数值是4,那么就只会有三个点被用来画曲线。

      段数

      这个输入框跟实线输入一样,可以把曲线切割成很多有空袭的线段。

       

      演示

      在这个程序里,我们添加很多条曲线,并把他们围绕着一个圆旋转到不同的角度。

       

       

       

       

      posted in 三维积木
      C
      CreatiCode TA 2
    • 直线和箭头

       

      预备知识

      • 柱体和管子

       

      介绍

      线条和箭头会被广泛应用在图表和演示中。你可以把三维线想象成一条链接两个点之间的细管。

       

      “添加线”编程积木

      “添加线”编程积木会有好几个输入。你可以利用这个编程积木来添加一条线、一个箭头或者一条虚线。

       

       

      颜色选择

      你可以在添加一个柱体时设置初始反射色。你可以在过后更新它的反射色、自发色、粗度或者亮度。

       

      直径

      直径控制线条的粗度。

       

      盖子种类

      盖子种类控制线条的顶面和底面是开启或是关闭的。举个例子,入伏哦盖子种类为“无”,那你可以看透一个线条,就像一个管子一样。

       
      )
       

       

      箭头种类

      这个输入允许你在线条的开端和末端添加箭头,这可以把线条转换成一个箭头。

       

       

       

      侧面数

      因为线条只是长而细的管子,你可以像管子一样设置线条的“侧面数”。你指定越多侧面数,线条看起来就越“圆”。而线条通常都很细,比较小的“侧面数”数值比如4至6就应该足够了。

       

       

      “从”和“到”的XYZ位置

      线条被用来连接两个点,所以你可以直接指定这两个点的X/Y/Z位置。

      这是一个非常有用的特征。假设我们需要在(0,0,0)和(100,100,100)这两个点之间添加一条线,如果你需要使用一个管子,那你需要移动和旋转管子以便管子连接到这两个点上。但是,如果你使用“添加线”编程积木,你就可以利用输入框来指定这两个点的位置。

       

      段数:虚线的段数数量

      你也可以利用这个编程积木中的“段数”输入框来添加虚线。如果这个输入框保持空白,那你就会得到一条实线。但是如果你在输入框中指定一个数值,那这一条实现就会被切割成数值指定的段数。每个段数会包含半段实线和半段空白。

       

       

       

      “添加虚线”编程积木

      当你利用“添加线”编程积木来添加虚线时,每个线段的长度和空隙的长度会是一样的。

      如果你需要使线段比空隙更长或是更短,你可以使用“添加虚线”编程积木:

      9da29250-d2af-45e2-b3c1-fb3874747e62-image.png

       
      下面是两段不同的虚线,他们展示了不同的线段长度与空隙长度的比例:


       

       

      演示

      在这个程序中,12条白色实线被用来形成一个盒子的框架,而3条黄色虚线被用来连接3个顶点,形成一个三角形:

       

       

       

       

      posted in 三维积木
      C
      CreatiCode TA 2
    • 让一个物体发光

       

      预备知识

      • 更新物体颜色
      • 为物体添加高光
         

      介绍

      我们周围的很多物体都会发光。你可以利用更新颜色更新物体散发的光线颜色。你也可以让物体利用那个颜色发光。需要注意的是,物体的自发色,而不是反射色会被用作发光色。

      这是一个发光的天花灯:

       

       

      要让一个物体发光,我们需要采取两个步骤:

      • 首先,我们需要创建一个“辉光层”。
      • 第二,我们需要把物体添加到辉光层。

      需要注意的是这些步骤跟为物体添加高亮的步骤非常相似。但是,当你为物体添加高亮时,只有物体的外轮廓发亮; 但如果一个物体在发光,物体本身就会被发光颜色覆盖。

       

      创建一个辉光层

      要创建一个辉光层,你可以使用这个编程积木:

       

       

      强度

      强度控制颜色的明亮度。下列展示三个强度分别为200,100和50的例子:

       

       

      光晕大小

      这个输入框控制了光晕会围绕着物体延伸出多远。通常你会让这个数值保持在小于100的范围。当光晕大小比较大的时候,它会需要花费更多时间来画。下图展示强度同样为100的情况下,不同的光晕大小:

       

       

      名称

      当你正在使用很多层辉光层时,你会需要命名它们,以便你可以在把物体添加到每一层时指定它们。

       

      把物体添加到辉光层

      你可以利用下列编程积木把物体添加到辉光层:

       

       

      如果只有一个辉光层,那你不需要指定它的名字。所有被添加到同一个辉光层的物体会共享一样的强度和光晕大小。因此,如果你需要不一样的物体有不一样的辉光强度或光晕大小,那么它们会需要被添加到不一样的辉光层。

       

      从辉光层移除一个物体

      要关闭发光效果,你也可以利用以下编程积木来把物体从辉光层中移除:

       

       

      如果只有一个辉光层,那你不需要指定它的名字。

       

      如果一个物体没有任何自发色?

      一个物体只有在有自发色的情况下会发光。如果物体并没有任何自发色,我们可以更新物体来添加颜色。

      举个例子,这个灯物体并没有自发色,所以当我们把它添加到辉光层时,他不会散发任何光线:

       

       

      要解决这个问题,我们可以更新天花灯的底部(它的“主要”区域)来添加自发色。需要注意的是,你只应该更新天花灯物体的底部,否则整个物体都会散发光线。

       

       

      posted in 三维积木
      C
      CreatiCode TA 2
    • 为物体添加高亮

       

      预备知识

      • 添加模型

       

      介绍

      有的时候,你需要在你的场景中为一个物体添加高亮来吸引用户的注意力。物体的轮廓(线条)会被画上一个模糊的边界,所以看起来物体的周围正在散发一些光。需要注意的是,这些光不会被画在物体上面,者可以确保我们依然可以清晰地看见原本的物体。

      这里有2个例子:

       

       

       

       

      要为一个物体添加高亮,你需要进行两个步骤:

      1. 创建一个高亮层。你可以把高亮层想象成一个画在三维世界上的二维画布。
      2. 把物体添加到高亮层,以便物体的轮廓会被画在高亮层中。

       
       

      创建一个高亮层

       

       

      光晕大小

      这个输入控制高亮线条的宽度。通常你需要让数值不多于五。当光晕很大的时候,我们需要花费比较多时间来绘制。这是一个比较:

       

       

      名称

      第二个输入框指定了高亮层的名称。如果你只需要使用一层高亮层,那你不需要为它命名。如果你需要有很多层高亮层(我们接下来会讨论),那你会需要为它们命名,以方便后续指定它们。

       
       

      把物体添加到高亮层

       

       

      颜色

      你可以指定物体模糊轮廓的颜色。需要注意的是,你可以指定添加到同一高亮层的网格让他们有不一样的颜色。

      高亮层名称

      如果只会有一个高亮层,你不需要在这里指定它的名字。如果我们将会有好几个高亮层,这个输入框允许你指定物体将被添加到哪个高亮层。

       
       

      把物体从高亮层移除

      当一个物体在被加入到某个高亮层后,如果你想去掉它的高亮效果,你随时可以使用下面这个积木把它从那个高亮层移除掉:

      8455f123-e631-487a-b4c1-9de2898b9f58-image.png

       

      如果只会有一个高亮层,你不需要在这里指定它的名字。如果我们将会有好几个高亮层,这个输入框允许你指定物体将被从哪个高亮层移除出来。

       
       

      多层高亮层

      当很多个物体被添加到同一个高亮层,如果他们重叠,那他们的轮廓将会被合并,就好像他们是一个物体一样。换句话说,两个物体重叠的边缘将不会有高光层。

       

       

      以下是能够达成这个效果的程序:

       

       

      虽然如此,如果你要每个物体在它自己的轮廓都会有完整的高亮,你可以创建好几个高亮层,然后把每个物体都添加到自己的高亮层。

       

       

      以下是能够达成这个效果的程序:

       

       

       

      被高亮的物体会更突出

      当场景中拥有很多个物体而有些物体被高亮时,那些被高亮的物体对比起没有被高亮的物体常常会看起来更突出。换句话说,它们不会被阻挡在没有被高亮的物体后面。

      举个例子,在这个程序中,绿色的球被高亮了,而橙色球并没有被高亮。

       

       

      因此,当我们旋转摄像头时,就算绿色球在橙色球后方,我们依然可以完整地看到绿色球:

       

       

      posted in 三维积木
      C
      CreatiCode TA 2
    • 增厚效果

       

      预备知识

      • 创建三维场景

       

      介绍

      增厚意味着给二维图像添加一些厚度,让它变成一个三维物体。举个例子,你可以给这个苹果图片增厚成一个有厚度的三维苹果“卡板”:

       

       

      要创建一个被增厚的物体,你首先需要在角色的造型中添加图像。你可以从造型图书馆中选择一个图形,或者自己画出图形,又或者上传一个图像文件。请确保造型是处于矢量图格式。那就是,如果你看见造型的底部有个蓝色按钮说“转换成矢量图”,你需要点击它。

       

       

      一旦造型图像准备好了,你可以运行下列编程积木,把图像转换成三维物体:

       

       

       

      造型名称

      第一个输入是一个下拉选项,让你可以选择包含你想要增厚的图像的造型名称。

       

      厚度和侧面颜色

      被增厚的三维物体会有在它的轮廓周围有一个扁平的表面。这两个输入会允许你去控制物体看起来的厚度,以及侧面的颜色。以下展示一些不同厚度和颜色的例子:

       

       

       

      粒度

      当我们增厚一个图像时,图像的轮廓会先被转换成很多细小的线条分段。粒度数值控制了这些线条分段的长度,它可以是任何大于零的数值,比如0.1或者50。数值越大,更长的线就会被使用,这会让三维物体变得简单,但是也会让曲面变得不那么平滑。以下是一些粒度等于30,10和1的例子:

       

       

       

      增厚物体的注意事项

      被增厚的物体会和Y轴面向一样的方向,也被称为“正向Y”方向。

      况且,造型图像的中心点会被放置在三维世界的中心点,换句话说,你可以在造型编辑器中改变图像的位置,而这不会影响增厚效果:

       

       

       

      演示:有厚度的三维文字

      你可以用增厚效果来创建有一些厚度的三维文字。你只需要在造型编辑器中写下字体,然后用你想要的厚度来增厚它。需要注意的是,要维护你的文字特别的造型,你需要先把它转换成位图格式,再把它转换成矢量图格式:

       

       

      posted in 三维积木
      C
      CreatiCode TA 2
    • 三维文字

       

      预备知识

      • 柱体和管子

       

      介绍

      你可以利用以下编程积木在场景中添加三维文字:

       

       
       

      文字输入

      第一个输入框中,你可以写下任何文字(数字,文字,符号),比如”你好!“。需要注意的是,文字在默认情况下将会和Y轴面向同一个方向。

       

       

      你也可以使用表情符号来作为文字输入。这个网站中有表情符号的完整列表。

       

       

       
       

      文字风格

      下一个输入框让你可以选择不一样的文字风格。

       

       

       
       

      文字颜色

      你可以利用这个输入框来设置文字的颜色(和透明度)。

       

       

       
       

      宽度和高度限制

      我们不会直接设置字体的大小。相反,你可以指定整个文字物体的整体宽度和高度限制。需要注意的是,文字物体会保持自己的宽度和高度的比例,只要文字物体整体不超过你指定的限制。

      举个例子,假设你要在一个宽度为200高度为100的盒子上添加一些字体。你可以把你的字体的宽度和高度指定成200和100:

       

       

       
       

      弯曲直径

      默认情况下,三位文字是一个扁平的物体。但是有的时候你会需要文字弯曲以包围另一个物体,比如一个球体或一个柱体。你可以使用弯曲直径输入框来让字体向后弯曲,而字体看起来会好像被写在一个你输入的直径大小的透明柱体上。需要注意的是,文字大小依然被宽度和高度输入框控制着。

      举个例子,如果一个柱体的直径是200,而你指定的文字弯曲直径是201,那么你的字将会紧紧包围着柱体。

       

       

       
       

      面向摄像头

      因为我们添加的字体是扁平的,如果我们不是看向字体的前面时,字体阅读起来会很困难。为了要确保摄像头一直看向字体的前面,你可以让字体一直面向摄像头。当摄像头移动的时候,字体会自动旋转以面向摄像头:

       

       

       

       

       
       

      带厚度的三维文字(英文)

      对于英文的文字,你还可以用下面的积木添加带厚度的三维文字,并且有更多的字体供你选择。注意,用这个方法来生成三维文字会比上面介绍的无厚度的文字耗费更多的电脑资源。

      b23d87b7-6b27-43cf-b6ea-dee234b4e6fa-image.png

       
      这个积木有两个不同之处:

      • 字体: 这个下拉菜单有很多的字体供你挑选。
      • 厚度: 这里你可以设置三维字体的厚度,这样从侧面你也能看到这个字。

       

       
       

      更新文字颜色和纹理

      三维文字物体就跟其他的任何物体一样。你也一样可以更新它的颜色或者纹理。举个例子,下列程序就创建了某些由砖块组成的文字:

       

       

       

       

       
       

      更新文字位置、旋转和比例

      你也可以像其他物体一样,更新文字的位置、旋转和比例:

       

      posted in 三维积木
      C
      CreatiCode TA 2
    • 柱体和管子

       

      预备知识

      • 添加盒子
      • 材料设置

       

      介绍

      一个柱体就像是一个树干一样,拥有圆形的顶面和底面。

       

      “添加柱体”编程积木

       

       

      颜色选项

      你可以在添加柱体时设置它的初始扩散色。你也可以过后更新它的扩散色/自发色、光泽度或亮度。

       

      顶部直径、底部直径和高度

      一个柱体的顶面和底面都是圆形的,但是他们不一定大小一样。当它们中其中一个的直径是0,你会得到一个锥体。

       

       

      弧度

      如果你把柱体想象成一个蛋糕,我们可以切掉它的一片,而**“弧度”就控制了剩余的蛋糕的百分比**。如果弧度为100,你就会得到一个完整的蛋糕。下图展示了各个“弧度”数值的例子:

       

       

      开放截面或封闭截面

      当“弧度”数值不是100%的时候,我们切掉了蛋糕中的一块,而我们有设置截面开放或封闭的选项。当截面没有被封闭时,我们可以看到柱体的内部:

       

       

       

      盖子类型

      你也可以利用“盖子类型”选项来控制柱体的顶面和底面被覆盖与否:

       

       

       

      侧面数

      柱体的侧面由长方形面组成,而“侧面数”输入框控制了用来组成柱体侧面的长方形数量。越多长方形面被使用,柱体看起来越光滑:

       

       

       

      结合多种输入

      当你结合不同输入框的不同设置时,你会得到一些看起来完全不像柱体的有趣形状。举个例子,当你运行以下编程积木时,你会得到一个弯曲的墙面:

       

       

       

       

       

      管子

      管子跟柱体有着非常密切的关系。你可以用一个更小的柱体来切割柱体,然后得到一个管子:

       

       
      所以,用来添加管子的编程积木有着非常相似的输入参数:

       

       

       

      厚度

      管子唯一一个新的输入框是”厚度“,用来控制管子的”墙壁“厚度。这个数值不应该多于顶部或底部直径的一半。

      posted in 三维积木
      C
      CreatiCode TA 2
    • 更新物体纹理

       

      预备知识

      • 在三维场景中添加盒子

       

      介绍

      纹理是有图案的图像。他们可以被涂在物体的表面,让物体看起来更真实。

      举个例子,在下列提供的场景中,我们可能很难告诉你这些物体分别代表什么:

       

       

      虽然如此,在我们应用一些纹理之后,我们就可以很清楚地看到我们有一面砖墙,和一个在地上的木制箱子:

       
       

      “更新纹理”积木

       

       

      选择纹理种类

      当你点击”请选择“输入框,一个展示所有由创益编程平台提供的纹理的图书馆视窗会弹出。你也可以使用纹理的名字来搜寻它。举个例子,如果你搜索”像素“,你会得到所有跟《我的世界》方块纹理很相似的像素化纹理。你可以点击任一物体来选择它。

       

       

      重复长方形表面的纹理

      每种纹理都是一张正方形图像。所以当我们尝试利用纹理来覆盖一个物体的表面时,我们需要重复纹理图像好几次。你可以利用”纹理边长“输入框控制在每个方向,纹理需要重复的次数。

      举个例子,如果一个盒子的长方形表面的宽度是400而高度是300,我们把纹理边长设置成100,那纹理图像就会在X方向重复4次,并在Y方向重复3次。这样的重复方式会让每个纹理图像维持没有变形的正方形图像,而重复的次数是自动计算的。这个方法适用于任何长方体表面。

       

       

      在非长方形表面重复纹理

      当一个物体的表面不是长方形时,比如一个球体或一个有圆角的盒子,我们不能使用它的宽度和高度来自动计算纹理图像需要重复的次数。相反,你会需要使用接下来的两个输入框“非盒子重复 横()竖()”(“横”指定横向的数值而“竖”指定纵向的数值)来指定重复的次数。需要注意的是,“纹理边长”的输入数值会在非长方体表面被忽视。

       

       

      纹理旋转

      你可以利用角度来旋转纹理图案。举个例子,当你把旋转从0度改成90度时,箭头将会从指向下方改为指向侧边。

       

       

      模型或角色的区域

      你也可以在模型或者角色中运用纹理。操作方式和更新颜色的方式很相似,你可以指定要更新模型的全部区域或者其中一个区域。每个区域的特定意思将会根据模型改变。

      举个例子,你可以让角色穿上“岩浆”上衣和“青草”裤子:

       

       

      有些纹理也提供影子

      有些纹理不仅仅会在物体的表面添加颜色图像,也会允许游戏引擎模拟影子。举个例子,在单向光的照射下,我们可以观察到“砖块03”纹理在砖块间的缝隙添加了一些暗影:

       

       

       

      更新纹理颜色

      在应用一些纹理之后,你依然可以更新它的颜色来得到一个不一样的外貌。举个例子,“地面02”的纹理是白色的,但你可以更新它的颜色来的得到不一样颜色的地板:

       

       
       

      使用造型作为纹理

      有的时候,你在纹理图书馆找不到你确切需要的纹理。这时,你可以利用这个编程积木来把角色的造型作为纹理:

       

       

      这个编程积木里只有一个新的输入框,你可以选择你想要使用的造型纹理。

      举个例子,你可以在造型编辑器上传任何图案,然后使用那个造型作为纹理。需要注意的是,你需要把造型转换成"矢量图”格式。

       

       

      举另一个例子,你可以绘画你自己的造型并把它用作纹理。

       

       

      演示:一张美元钞票

      有的时候,你也会需要设置长方形表面的重复次数。要进行设置,你可以很简单地把“纹理边长”设置成0.举个例子,假设我们要创造一张100美金钞票。我们可以添加一个平面,并添加一张自定义的100美元图像。现在我们只需要把纹理边长设置成1,并把“横”和“竖”方向的重复次数都设置成1即可:

       

       

      https://play.creaticode.com/projects/8a108de3cf219ff25801a819

       
       

      使用网络上的图片作为纹理

      作为另外一个选项,你还可以通过下面这个积木直接使用任何在网上共享的图片文件作为纹理:

      16640555-85ee-450b-aed8-1de0e65efbd4-image.png

       

      这里唯一的一个新的输入是用来指定图片文件的URL(网址)的。你可以先在网上找到你想使用的图片,在图片上按下鼠标右键,然后选择“复制图片地址”。之后,你就可以把那个地址粘贴到这个输入框了。下面是一个例程序:

      3c844315-5d09-4559-b1af-6e69016652aa-image.png

       
      它会生成一个鲜花图案的盒子:

      posted in 三维积木
      C
      CreatiCode TA 2
    • 父母-孩子关系

       

      预备知识

      • 名称和角色物体

       

      介绍

      很多时候,我们需要让好几个物体一起移动。举个例子,当一个物体移动或旋转时,我们需要另一个物体跟着它一起移动、旋转或者改变比例。这被称之为“父子关系”,因为这和父母带孩子过马路的方式非常相似————父母行走,而小孩跟随父母。

       

       

       

      设置父节点的编程积木

      你可以利用这个编程积木来把现有角色物体(活跃的角色物体)中的任何物体设置成其他物体的“父节点”。

       

       

      • 父节点物体名称: 会成为父节点的物体名称。

      • 父节点角色: 成为父节点物体的物体属于的角色。换句话说,创建物体的角色将会被设置成父节点。需要注意的时这个选项允许你让一个由不同角色创建的物体成为现有角色的物体的父节点。

      需要注意的是每个物体可以有很多孩子,但是只能有一个父母。假设物体A已经有一个父节点物体B,然后你把物体C设置成物体A的父节点,那么A就不再是B的小孩。

       

      演示:一起移动

      在这个程序例子里,我们添加一辆卡车,并在卡车上添加一个桌子。这两个物体被分别命名为“卡车”和“桌子”。当我们移动卡车时,桌子不会跟着它移动。

      要纠正这个错误,我们需要在“添加模型”编程积木后运行“设置父节点”编程积木,以便桌子会跟随卡车的移动:

       

       

       

      演示:一起旋转

      在这个例子程序中,我们添加一个飞碟并在它的上方添加一个猫头鹰。这两个物体被分别命名为"飞碟”和“猫头鹰”。当我们旋转飞碟时,猫头鹰保留在它原本的位置。

      要让两个物体一起旋转,我们只需要把飞碟设置成猫头鹰的父节点。需要注意的是,猫头鹰不是围绕着它自己的身体中心旋转,而是围绕着父节点的身体中心旋转。你可以把它们想象成”身体“(飞碟)以及”手臂“(猫头鹰):当身体旋转时,手臂会绕着身体旋转。

       

       

       

      演示:更新位置和比例

      在这个程序例子里,父节点物体处于X=200的位置,而他的比例在Y的方向被更新。孩子物体处于X=0,Z=200的位置。当我们设置它的父节点物体时,我们也选择更新孩子物体的位置和比例,所以他被移到了相对于父节点物体来说,X = 0,Z = 200的位置,而孩子物体的比例也会继承它父母物体的比例。

       

       

      移除一个父节点

      要结束父子关系,我们可以使用这个编程积木:

       

       

      演示

      就像下列动图展示的那样,当我们选择猫头鹰物体并把它从父节点(飞碟)当中解除时,猫头鹰就再也不会跟着飞碟旋转了:

       
      )
       

       

      转换器

      有的时候,我们需要添加一个新物体并把它当成另一个物体的父母。虽然我们可以添加一个几乎看不见的盒子,但我们有个更好的选择是添加“转换器”。这些转换器会“更便宜”,因为他们是看不见的,所以我们不需要在画面上把他们画出来。转换器也不会携带任何关于自身形状或者颜色的资料。

      你可以用下列编程积木来添加转换器并给他一个名字:

       

       

      演示

      在这个例子里,我们有一个剑物体。当我们让它围绕着Y轴旋转时,他会围绕着自身的最低点旋转。假设我们要剑围绕着另一点旋转,比如它的中心点(Z = 50),我们可以在中心点添加一个名为“Z”的转换器并把它命名为“p”。假设我们现在旋转转换器物体,剑也会围绕着它旋转。

       

       

      祖父节点

      **父节点关系可以被“链接”。**假设物体A是物体B的父节点,而物体B是物体C的父节点。那么,物体A就是物体C的祖父节点。物体C的移动会被物体C影响,而这两个物体的移动都会被物体A影响。

       

      演示

      在这个例子里,我们添加三个球体来代表太阳、地球和月球。我们把太阳设置成地球的父节点,而地球将会是月球的父节点。当我们旋转太阳时,地球和月球都会围绕着太阳旋转。我们可以做得更多一些,让地球绕着自己自转,然后月球会围绕着地球旋转。

       

       

      你可以打开这个项目试一试:

      https://play.creaticode.cn/projects/1ed5e0f8bcae20f94b938f11

      posted in 三维积木
      C
      CreatiCode TA 2
    • 更新物体颜色

       

      预备知识

      • 在三维场景中添加盒子
      • 在场景中载入角

       

      介绍

      在添加物体之后(比如一个盒子,一名角色或一个模型),你可以使用下列编程积木来更新它的颜色:

       

       

      反射颜色

      ”反射颜色“也被称为”扩散颜色“。它是一个物体反射的光线颜色。当场景里面没有光线时,那就不会有光线的反射,所以物体看起来是黑色的。如果你不要物体反射任何颜色,你可以把物体的反射颜色设置成黑色。实际上,你添加盒子时选择的颜色就是盒子的反射色。

       

       

      当光线不是白色时,物体的颜色会是反射色和光线颜色的结合。

       

       

      自发颜色

      自发颜色是物体自身散发的光线颜色,所以他是不被其他光线来源影响的。举个例子,下列两个盒子有两个反射颜色,但是右边的盒子被更新成自发紫色并反射黑色。所以,当我们改变场景中的光线时,右边的盒子并没有被影响:

       

       

      当反射色不是黑色时,那么物体地颜色将会成为反射色和自发色地结合:

       

       

      光泽度和亮度

      这两个参数从两个方向控制物体的亮度。当物体反射一个光源来源时,物体上通常会有一个发光点。光泽度控制发光点有多光滑,而亮度控制围绕着这个发光点的区域有多明亮。

      举个例子,当你把亮度设置成一个低数值如30,你可以很清楚地观察到不同光泽度的效果。数值低的光泽度让物体看了起来更像金属,而高光泽度看起里更像橡胶。

       

       

      另一方面,当我们使用一个更大的亮度数值,围绕着发光点的区域会变得更明亮。举个例子橡胶物体通常会有更大的亮度数值,但金属物体通常会有更小的亮度数值。

       

       

       

      去掉纹理

      有时候,当我们尝试更新一个模型或一名角色地颜色时,我们不一定得到我们指定的颜色。这是因为物体已经自带一些纹理(一个颜色款式)或者颜色。

      举个例子,当我们尝试更新这个沙发的颜色,中间的部分会有一个更深的颜色,这是因为它自带的颜色。我们可以通过在更新物体颜色时移除现有颜色来简单地解决这个问题。

       

       

      区域

      当你更新一个物体或者一个角色的颜色时,你可以使用“区域”输入框指定物体哪个部分的颜色会被更新。当你选择全部区域,整个物体都会被更新的颜色覆盖,但你也可以从物体的四个部分——“主要”、“第二”、“第三”、“第四:中选择。根据具体物体的不同,这四个区域的意思也可能不一样。你需要通过尝试来找出每个区域各自代表哪个区域。

      举个例子,对这个沙发来说,它的三个部分被区分成了”主要“、”第二“、”第三“等区域。

       

       

      对于这辆警方卡车来说,四个区域被分布在车身和窗口:

       

       

      posted in 三维积木
      C
      CreatiCode TA 2
    • 使用光源

       

      预备知识

      • 创建一个三维场景

       

      介绍

      所有的场景都一定会包含一些光源,如果没有光,那么所有的东西都会一片黑暗,就像你走在一间没有光线的黑暗房间里看到的那样。

      所以,哪怕是”空无“场景也包含了一些添加的光线,所以它并不是真正的空无。

       

      移除所有光线

      如果你要改变一个场景中的光线,你经常需要先删除所有在场景里现有的光线。你可以使用这个编程积木来做到:

       

       

      举个例子,这是当你删除在”村庄“场景中的所有光源之后会发生的事情:

       
      )
       

      删除一个光源

      如果你只是需要移除场景中的其中一个光源,你可以使用这个编程积木:

       

       

      需要注意的是你可以在创造光源时指定它的名字。

       

      环境光

      在大多数程序中,你只需要拥有我们在大白天下的正常灯光。 这种灯光被称为“环境光”,意思是我们周围的光。 默认情况下,环境光会被添加到所有场景中。

      你可以使用以下编程积木来在场景中添加环境光:

       

       

      • 颜色: 会被添加到所有物体的光源颜色。举个例子,假设你要创建一个日落场景,那光源的颜色应该是金色的:

       

       

      • 天空方向: 环境光模拟我们周围的物体如何把光线反射回到天空中。所以你需要指定天空的方向,通常会是”x = 0, y = 0,z = 1“。

        场景在所有方向都会被照亮,面朝天空的部分会是最亮的,而在天空反方向的部分会是最暗的:

       

       

      • 亮度: 亮度数值控制灯光有多明亮。100的数值代表正常的亮度,如果你把数值翻倍,那么灯光就会有翻倍的亮度。

      • 光源名称: 你可以为光源命名并在过后用这个名称来代表这个灯光。

       

      单向光(阳光)

      有时候你只需要光源来自一个方向。举个例子,当来自太阳的光线抵达地球时,你可以把它们想象成来自一个方向的平行光束。


      (image source: freepik)

       
      你可以用下列编程积木把单向光添加到你的场景中:

       

       

      • 颜色: 跟环境光一样。

      • 光源方向: 光束指向的方向,默认情况下会使用”x = 0, y = 0,z = 1“的数值把它设置成下方。因为光线是平行的,物体的翻遍将不会得到任何光线:

       

       

      • 光源来源:你也可以指定单向光的光源原点。它不会影响物体的样子,但会被用来生成物体的影子。

      • 亮度: 跟环境光一样。

      • 光源名称:跟环境光一样。

       

      单点光源

      单点光源是朝着所有方向散发光线的一个单点。我们身边的很多光源都可以被当成单点光源,比如一盏灯泡或一把手电筒。

      你可以使用下列编程积木在场景中添加单点光源:

       

       

      • 颜色: 跟环境光一样。

      • 光源来源:你也可以指定光源来源的位置,以便所有的光线会从这个位置散发到所有方向。

      • 亮度: 跟环境光一样。

      • 显示位置与否: 虽然一个单点光源散发光线,但你通常不会在场景中看到它。为了帮你调试你的程序,你可以暂时把“显示位置”设定成“是”,这会在光源来源的位置添加一个发光的小球体。当然,就算你不是在调试程序,你依然可以把这个光球成为你场景展示的一部分。

      • 光源名称:跟环境光一样。

       

      演示

      在这个演示中,四个单点光源被添加到盒子的四个顶点:

       
      )
       

       

      聚焦光源

      第四种光源被称为“聚焦光源”。这种光源也从单点散发光线。但是,就像现实中的聚光灯一样,光线被限制在某个方向内。

      你可以使用下列编程积木在场景中添加聚焦光源。默认情况下,聚焦光源的方向会落在Y轴的正面方向。你可以旋转它以使它转向其他方向。

       

       

      • 颜色: 跟环境光一样。

      • 光源来源:你也可以指定光源来源的位置,以便所有的光线会从这个位置散发到所有方向。

      • 打开角度:聚焦光源散发光源角度的数值,应该坐落在1和179之间。

      • 亮度: 跟环境光一样。

      • 光晕:就像现实生活中的光线一样,你距离光源来源月圆,光线就会变得越模糊。你可以使用“光晕"参数来控制这个效果。

      • 显示位置与否:当你把”显示位置与否“设置成”是“,一个发光的圆锥会被添加到场景中来代表聚焦光源的位置和方向。

      • 光源名称:跟环境光一样。

       

      演示

      在这个演示中,一个聚焦光源被添加到盒子的Z轴上方。它的打开角度是60°,以及他围绕着Z轴旋转。

       

       

      posted in 三维积木
      C
      CreatiCode TA 2
    • 应用网格材料

       

      预备知识

      • 添加平面

      介绍

      网格材料让物体拥有一个干净以及有未来感的外观。它通常被用来创建平地。

      要在任何物体上使用网格材料,你可以使用下列编程积木:

       

       

      表面颜色和线条颜色

      你可以使用编程积木中的首两个颜色选择输入框来设置表面和线条的颜色。需要注意的是,表面颜色的透明度数值会被忽略,但你可以设置线条颜色的透明度。而当线条完全透明时,表面颜色的透明度会被固定在92%。

       

       

      线条密度

      你可以利用密度数值来控制线条之间的间距。当数值为1,代表着每100个单位一条线。更高的密度数值会减少线条间距,因此产生更多的线;更低的密度数值会产生更少的线。

       

       

      次要线条可见性

      网格材料中会有两种不同的线条:主要线条和次要线条。”次要线条可见性“输入控制了在主要线条的对比下,次要线条的透明度。默认情况下,次要线条的厚度是主要线条的33%。如果你把这个数值设置成100%,那么次要线条看起来就会和主要线条一样。

       

       

      X/Y/Z 位移(绝对数值)

      你可以利用X/Y/Z中的每个方向的绝对数值来移动线条的位置。就像在这个例子展示的一样,假设我们要主要线条出现在盒子的边缘,我们需要把线条移动到边缘长度的一半,也就是500。

       

       

      posted in 三维积木
      C
      CreatiCode TA 2
    • 设置碰撞器盒子

       

      预备知识

      • 检查碰撞

       

      介绍

      就像在检查碰撞里解释的那样,你可以使用一个碰撞器盒子和一些射线来检测碰撞。
      有时候,你会需要使用下列的编程积木来设置碰撞器盒子。

       

      “设置碰撞器”编程积木

      你可以通过这个编程积木来设置一些碰撞器的额外参数:

       

       

      碰撞器大小 X/Y/Z

      默认情况下,碰撞器会被设置成精准覆盖玩家物体的大小。虽然如此,你可以根据你的需求来改变它的大小。

      举个例子,如果你要碰撞器盒子变得特别厚,你可以设置“Y"的大小。

       

       

      碰撞器 Z 位移

      你也可以为碰撞器盒子设置一个不一样的Z位移。举个例子,如果你的角色正在运行一个游泳动画,那你需要设置碰撞器盒子的维度和Z位移。

       

       

       

      检测距离 X/Y/Z

      这三个输入框允许你设置射线在三个方向的长度。举个例子,如果你的角色绝对不会朝侧边移动,那你可以把X方向的碰撞器设置成0,X方向的碰撞将不会被检测,这可以减少一些计算时间。

       

       

      碰撞器盒子颜色

      最后,如果黄色没有提供明显的对比,你可以把碰撞器盒子设置成不同颜色。

       

       

      posted in 三维积木
      C
      CreatiCode TA 2
    • 用射线投射检查物体碰撞

       

      预备知识

      • 追踪摄像头
      • 三维物体的速度
      • 用距离检查物体间的碰撞

       

      介绍

      当一辆一车或者一个角色正在移动,它可能会跟其他物体产生碰撞。我们需要确保这个碰撞被真实地模拟出来。举个例子,一个角色不应该能穿透一面墙壁。

      除了用距离来计算物体间的碰撞,我们也可以使用一种名为“射线投射”的方式。当场景中有很多你需要检查碰撞的物体时,这个方式会更加方便。

       

      碰撞器

      要检查一个玩家物体(一个角色或一辆汽车)是否正在和其他物体碰撞,我们首先需要定义一个玩家的边界。要让这个概念变得简单,我们假设玩家是被一个盒子包裹着的。我们可以把它称之为“碰撞器”。碰撞器的大小是根据玩家物体的大小自动计算的。

       

       

      当这个碰撞器盒子和其他物体接触时,我们就会知道碰撞发生了:

       

       

      射线投射

      要找出碰撞器盒子是否正在接触另一个物体,我们可以使用名为“射线投射”的技巧。

      射线投射的基本概念就是我们从碰撞器盒子的中心往所有六个方向(上、下、左、右、前、后)射出线。这些线被称之为“射线”。

       

       

      当一个玩家物体(举例一个角色或一辆汽车)移动时,射线会跟随它一起移动。当玩家物体靠近蓝色墙壁时,玩家物体朝向前方的射线将会先接触到墙壁。射线会报告它与墙壁交互的点,也被称之为“交叉点”。现在我们就可以计算玩家物体前面和交叉点的距离。

       

       

      这个距离会在玩家逐渐靠经墙壁时被减少,所以当距离减少至0,我们就会知道玩家物体的前面正在触碰墙壁。反之,如果射线没有跟任何物体交互,那我们就假设没有障碍。

       

       

      同样的方法也可以被使用在其他五个方向。

      现在,让我们来看看你可以怎么样在程序中开启碰撞感应。

       

      “打开碰撞”编程积木

       

       

      这个编程积木将会开启玩家物体的碰撞感应。需要注意的是,这个积木只有在你利用三维物体的速度来移动物体的时候才会运作。

      需要补充的是,如果你多次运行这个编程积木,最后一个编程积木的参数将会决定碰撞器盒子的参数。

       

      参数

       

      碰撞种类

      碰撞有两种类别:“可穿过的”或“不可穿过的”。

      • 如果你想要在发生碰撞时让玩家停下,比如当玩家碰到墙壁是,你应该使用不可穿过的类别。需要注意的是,玩家物体只可以在你使用“设置速度”来移动玩家物体时被停下来。换句话说,如果你直接设置玩家物体的x/y/z位置,那么玩家物体将不会在碰撞到物体时停下。
      • 如果你要让玩家继续移动,比如当玩家物体为了奖励收集宝石时,你应该使用“可穿过的”类别。

       

       

      障碍角色

      这是你指定哪个角色会跟玩家碰撞的地方。需要注意的是,你不需要一个一个地指定障碍物体。你可以直接指定一个角色,以便所有在那个角色里创建的物体都会时障碍物。

      举个例子,如果你在一个游戏里需要很多面墙壁,那么所有的墙壁盒子都可以在一个名为“墙壁”地角色里被创建,然后它们全部都会在你运行这个“打开碰撞”编程积木之后,跟玩家碰撞。

      下图展示了一个设立不可穿过的墙和可穿过的宝石的例子。两个“广播”编程积木将会在其他两个角色里创建墙壁盒子并添加宝石,然后你就可以在“墙壁”角色中打开不可穿过的碰撞,并在“宝石”角色中打开可以穿过的碰撞。

       

       

      碰撞器Z位移

      这个数值允许你调整碰撞器盒子的Z位置。对于有些物体,比如角色或建筑物来说,他们的位置只说明了他们的最低点,并没有说明他们的中心点,这会导致碰撞器位置太低。所以,我们需要调整碰撞器Z位置的位移。

      举个例子,对于一个高度100的角色来说,它的Z位移数值应该是50:

       

       

      感应精度

      你可以使用这个设置来控制用来感应碰撞的射线数量:

      • 低: 这意味着我们只会使用6束射线,每个方向一束。所有的6束射线都来源于玩家盒子的中心,所以如果有个小障碍物没有被射线击中,那么它将不会被感应。

      • 高: 这意味着我们会使用26束射线, 左右方向各三束射线,而其他四个方向各五束射线。更多的射线会需要更多的运算,但是它们也会能够检测到更多障碍物。

      • 下方和前方: 这意味着我们只会使用2束射线, 下方一束以及前方一束。这是最快的模式,而如果我们正在创建简单的游戏,那它已经足够好用了。

       

       

      调试模式

      这个选项控制了你要隐藏或展示碰撞器盒子和射线。一般情况下,当你正在建立或调试你的程时,你应该把这个选项设置成“是”;当程序完成时,你应该把这个选项设置成“否”。

       

      演示

      这是一个你可以尝试的程序例子:

      https://play.creaticode.com/projects/151ec87b5f86b37b1bc8154f

       

      检查角色是否被阻挡

      你可以使用下列六个编程积木中的一个来找出角色在六个方向中的一个方向是否被阻挡。数值”0“代表角色在该方向没有被阻挡,而数值”1“代表角色在该方向被阻挡。

       

       

      演示

      在这个演示中,变量“角色物体前面被阻挡”在一开始为0,但是当角色前面被墙壁阻挡时,系统把变量更新成1。

       

       

       

      碰撞事件编程积木

      你也可以使用这个帽子编程积木来处理碰撞事件。

      在落下的选项中,你需要选择包含着障碍物体的角色名称,比如添加所有障碍盒子的“墙壁”角色。这之前,你一定需要先开启和该角色的可穿过的和不可穿过的碰撞。

      当一个碰撞发生时,这个帽子编程积木将会被触发。而且,正在碰撞的物体就将会成为现有角色的“角色物体”。举个例子,如果你在“墙壁”角色中运行这个帽子编程积木,那么和角色碰撞的那个墙壁盒子将会成为“墙壁”角色的角色物体。

       

      演示

      在这个演示中,每当角色跟墙壁盒子碰撞时,我们把角色移到起始点并让他再次向前。需要注意的是,你需要再次设置“前进速度”,因为角色每次被阻挡时,它的前进速度都会被重置成0,以让角色停下。

       

       

      了解更多

      • 更新碰撞器盒子
      posted in 三维积木
      C
      CreatiCode TA 2
    • 用距离检查物体之间的碰撞

       

      预备知识

      • 三维物体的速度
      • 名称和角色物体

       

      介绍

      我们经常需要检查两个物体是不是正在触碰彼此。举个例子,如果一个角色碰到了盒子,我们可以让角色坐在盒子上。

       

       

      检查两个物体是否正在触碰彼此的最简单方法就是检查他们之间的距离。

       

      利用X和Y位置来计算距离

      当两个物体都在平地上时,我们只需要使用X和Y位置来检查它们之间的距离:

       

       

      举个例子,角色和盒子之间的直线二维距离被展示在下图中:

       

       

      演示程序

      在这个程序例子中,我们把一个盒子放在Y=100的位置。

       

       
      接着,每次我们点击”w“键时,我们都把角色向前移一下:

       

       

      动手时刻:

      https://play.creaticode.com/projects/836c92f886f791086cf57b1c

       

      使用三维距离

      有时候,二维距离并不足够准确。举个例子,假设一个物体漂浮在空中,而角色处于物体下方。两者之间的二位距离很接近0,但是他们并没有接触到彼此。要把垂直的距离纳入考量,我们需要计算三维距离:

       

       

      演示程序

      在这个程序例子中,我们把一个盒子放在Z=140的位置,然后我们把角色移到她和盒子之间的三维距离少过110的位置。

       

       


       

      动手时刻:

      https://play.creaticode.com/projects/32f4e2bffc79c532fbeba129

      posted in 三维积木
      C
      CreatiCode TA 2
    • 追踪摄像头

       

      预备知识

      • 把轨道摄像头用作三维场景导航
      • 三维坐标和位置
      • 三维方向和旋转

       

      介绍

      当我们正在使用轨道摄像头时,如果一辆汽车或一个角色正在移动,那它可以轻易地抛出我们的摄像头视角。在这样的情况中,我们需要使用”追踪摄像头“,基本上它会追随目标物体。

      通常,你应该在物体添加到场景的编程积木之后,比如”添加角色“、”添加模型“或“添加盒子”,立刻使用这个编程积木。

       

      ”添加追踪摄像头“编程积木

       

       

      参数

       

      距离

      这是摄像头和目标物体位置之间的距离。

       

       

      Z-位移

      这个输入将会提升摄像头的目标点。就像上图显示的那样,当目标是一个角色时,默认情况下我们的摄像头将会看向角色的脚。如果我们需要把角色的身体放在摄像头的视角中心,我们可以使用”Z-位移“来使摄像头看向一个更高的点。

       

       

      俯视角度和侧视角度

      这两个输入框决定了摄像头的垂直和纵向观看角度,这和轨道摄像头很相似。
       

       

      主方向

      主方向是追踪摄像头中最重要的输入。它控制着摄像头怎么样根据物体移动。

      • 主方向 = 固定: 这意味着无论目标物体正在转向哪个方向或朝哪个方向移动,摄像头的观看角度和距离会保持固定。当侧视角度是0,摄像头会看向Y轴的方向。当侧视角度是180,摄像头会面向反方向。而且,你不能使用滑鼠来旋转或放大摄像头。

       

       

      • 主方向= 目标: 这意味着摄像头将会一直和目标物体指向一样的方向。举个例子,如果目标物体向右转,那摄像头也会向右转,同时保持在物体的后面。在这个情况下,俯视角度将会被忽视,而你也不能使用滑鼠来控制摄像头。

       

       

      • 主方向 = 自由: 这个模式简单地意味着你可以在任何时候控制摄像头,哪怕目标物体正在移动。要注意的是,你可以使用鼠标左键来旋转摄像头,但你不可以再使用鼠标右键来转移目标。这是因为目标点已经被锁定在摄像头正在追踪的目标物体上。

       

       

      • 主方向 = 自由 (右键): 这个模式跟”自由模式“一样,除了你需要使用鼠标右键来旋转摄像头。

       

      透视度 %

      当目标物体被其他物体遮挡时,我们可以让遮挡的物体变透明。这个输入框控制了遮挡物体的透明度。举个例子,0%代表遮挡物体将会完全遮挡视线,而100%代表遮挡物体将会完全透明。

       

       

      posted in 三维积木
      C
      CreatiCode TA 2
    • 选取事件

       

      预备知识

      • 添加盒子
      • 三维物体的速度

       

      介绍

      要允许用户跟场景里的物体互动,我们可以允许“选取”事件。它跟二维程序里的“点击”事件非常相似。当你在场景中点击一个三维物体时,选取事件将会被触发。

      需要注意的是,事件会在你释放鼠标时被触发,而不是当你按下鼠标是触发。

       

      “开启选取”编程积木

      默认情况下,选取事件时不被开启的因为他需要一些额外的运算,要开启它,你可以使用“开启选取”编程积木:

       

       

      参数

       

      鼠标按键

      你可以选择让用户使用鼠标左键或鼠标右键来选取。当你正同时使用追踪摄像头时,这个选择不应该跟摄像头的导航按钮一样,以免起冲突。举个例子,如果用户使鼠标右键来控制追踪摄像头,那他应该使用鼠标左键来选取物体。

       

      角色列表

      要指定场景中哪些角色可以被用户选取,你可以指定一个角色列表名称并用逗号来分隔它们,比如角色1,角色2。通过这样的方式,任何一个被添加在两个中任一角色的物体都可以被选取。

       

      “关闭选取”编程积木

      有时候你需要在开启选取时间之后将它关闭。你可以使用“关闭选取”编程积木:

       

      这个编程积木只需要一个输入,也就是角色名称列表。角色的名字应该要被逗号分隔开来,比如角色1,角色2。

       

      “当被选取”编程积木

      每当用户选取一个物体时,如果这个事件编程积木被使用在拥有被选取物体的角色时,它将会被触发。

       

       

      诠释选取事件的编程积木

      当我们选取一个物体时,我们正在把一束光线从摄像头投射到鼠标,然后再把这束光线一直延伸,直到光纤击中场景中的任一物体。这束光线和目标物体的交叉点叫做"被选取点",而目标物体被称为”被选取物体“。

       

       

      以下四个编程积木可以让你得到更多关于选取事件的信息。

       

       

      演示

       

       

      在这个演示程序里有两个角色。

      在”角色1“里,我们添加了一个黄色的盒子,把它用作平地,然后我们允许用户选取任何在”盒子“角色里创建的物体。接着,我们广播一个信息来添加盒子。

       

       
      在“盒子”角色中,当我们收到消息时,我们在10个随机位置添加盒子。接着,当任何一个盒子被点击时,我们首先用”被选取物体“编程积木来选择那个盒子,然乎我们设置它的上升速度,让他飞起来。

       

       

      动手时刻:
      https://play.creaticode.com/projects/e09563dbcf2abc29327819bd

      posted in 三维积木
      C
      CreatiCode TA 2
    • 三维物体的速度

       

      预备知识

      • 三维坐标和位置

       

      介绍

      虽然你可以通过设置物体的x/y/x位置来直接移动一个物体,但我们强烈建议你使用“设置速度”编程积木。

       

      “设置速度”编程积木

       

       

      速度种类

      系统有8种速度让你选择:

      • 前进速度: 这是物体每秒会向前移动的距离。如果速度数值是负数,那么物体将会向后移动。默认情况下,物体会沿着Y轴的正向方向移动,但是如果他转向了围绕着Z轴的另一方向,那物体的移动方向将会跟随新方向。在任何情况下,物体的Z位置在向前或向后移动时都会保持一样。

       

       

      • 侧移速度: 这是物体每秒会向侧边,也就是右边移动的速度。如果速度数值为负数,那么物体将会移向左边。默认情况下物体系那个会沿着负数的X方向移动,但是如果他转向了围绕着Z轴的另一方向,那么侧移的方向也会被改变。在任何情况下,物体在侧移时,Z位置都会保持不变。

       

       

      • 上升速度: 这是每秒物体会向上移动的距离。当数值是负数时,物体会向下降落。但是,**当Z位置为0时,物体会停止降落。**这个功能在你把平地设置在z=0的位置时非常有用。

       

       

      • 前进加速度: 这是前进速度每秒增加多少的数值。如果数值是负数,那么物体的前进速度将会减缓。举个例子,如果一个物体的前进速度是100,而我们把前进加速度设置成-100,那么前进速度减缓到0只需要一秒的时间,一秒以后,物体会开始向后移动。

       

       

      • 重力加速度: 这个数值控制每秒上升速度下降多少。这个数值一定要大于或等于0。举个例子,如果我们把上升速度设置成100而重力加速度设置成100,那么物体的上升速度将会减缓到0,然后变成负数。

       

       

      • Z轴旋转: 这是物体围绕着Z轴旋转的速度。如果旋转速度大于0,从Z轴上方观察的话物体将会顺时针旋转;反之,物体将会逆时针旋转。虽然你可以使用“旋转至”或者“转向”编程积木来达到相似的效果,但是我们建议你使用“Z轴旋转”编程积木,它可以帮你节省写重复循环的时间,同时生成更顺畅的动画。

       

       

      • X轴旋转 和 Y轴旋转: 这两个速度跟Z轴旋转的功能非常相似,只是他们围绕旋转的轴线不一样。

       

      “物体的特征”编程积木

      你可以通过以下编程积木来找出一个物体的现有速度:


       

      特征名称

      这个列表包含了所有速度种类,以及一些其他的特征。

       

      物体名称

      这是你要检查的物体的物体名称。如果他是空白的,那么系统将报告现有角色物体的速度。

       

      角色名称

      如果那个物体是在另一个角色里被创建的,那你就需要指定那个角色的名称。如果角色名称栏保留空白,物体将被假设是来自现有的角色。

       

      了解更多

      • 追踪摄像头
      posted in 三维积木
      C
      CreatiCode TA 2
    • 读取摄像头数据

       

      预备知识

      • 设置摄像头目标
      • 设置摄像头特性

       

      介绍

      你可以通过这个编程积木阅读关于现有活跃摄像头的资讯。

       

       

      • 距离:摄像头跟目标位置之间的距离
      • 俯视角度: 摄像头的垂直观看角度,介于0°至180°之间。
      • 侧视角度:摄像头的横向观看角度。
      • 目标点 X:摄像头的目标位置的X方向。
      • 目标点 Y:摄像头的目标位置的Y方向。
      • 目标点 Z: 摄像头的目标位置的Z方向。
      • X 位置:摄像头的X位置。
      • Y 位置:摄像头的Y位置。
      • Z 位置:摄像头的Z位置。

       

      演示

      当我们旋转、放大或转换摄像头时,我们可以看见被报告的特性数值会跟着改变。

       

      posted in 三维积木
      C
      CreatiCode TA 2
    • 设置摄像头目标

       

      预备知识

      • 在三维场景导航中使用轨道摄像头
      • 三维坐标和位置

       

      介绍

      每个摄像头都有它看向的目标位置。这个位置是看不见的,但是你可以通过提供新目标位置的x/y/z坐标来改变它。

       

      演示

      在这个程序中,我们首先添加三个分别坐落在X位置=150,0和150的盒子。过后我们添加一个新的轨道摄像头。默认情况下,摄像头将会看向原点(x=0)。

      当我们把摄像头的目标位置改编成 x=-150时,它会移向左边,看向在左边的青色盒子。同样的,当目标x是150时,摄像头会看向在右边的粉色盒子。

       

       
      动手时刻:

      https://play.creaticode.com/projects/4b0759677c498e7a48f581c5

       

      了解更多

      • 阅读摄像头特性
      posted in 三维积木
      C
      CreatiCode TA 2
    • 添加平面

       

      预备知识

      • 添加盒子
      • 材料设置

       

      介绍

      一个平面是一个很简单的长方形。它甚至比盒子还要简单,因为平面是二维的。也就是说,平面没有任何的厚度。所以,平面可以用来代表我们周围纤薄的长方形物体,比如平地,墙面上的一张照片等等。

       

      ”添加平面“编程积木

      平面是二维物体,所以你只需要指定他们在X和Y维度的大小即可。

       

       

      平面的面向方向

      默认情况下,一个平面将会在被添加时面向上方(Z方向的正数)。平面的一个特点是它们的背面在默认情况下是透明的。

       

      这个特点让你在使用平面作为平地时特别好用,因为当你的摄像头处于平面的下方时,你可以看透它。

      虽然如此,如果你不希望平面的背面是透明的,你可以使用材料设置编程积木来确保平面的背面被画出来。

       

       

      平面的位置和旋转

      虽然平面是二维的,你依然可以在三维空间里把他们移动到不同位置或旋转到不同方向。你可以利用小工具来尝试移动或旋转平面,就如下图所示:

       

      posted in 三维积木
      C
      CreatiCode TA 2
    • 材料设置

       

      预备知识

      • 在三维场景中添加盒子

      介绍

      材料决定了三维物体的样子,你可以使用以下编程积木来改变一个物体材料的设置:

       

      线框模式

      一个物体的皮肤是由”网格“,也就是小的平面三角形组成的。要展示这些小平面,你可以把材料设置成”线框模式“。这些小平面将变得透明,然后你只会看见”线框“,也就是平面的边框。

       

      显示背面

      一个网格的表面有两个面:一个前面(面朝外)以及一个背面(面朝内)。默认情况下,背面是不被画出来的,但你可以更改设置以让系统把背面也画出来。

      在这个例子里,一个青色的盒子在六色盒子的外面。当我们把摄像头移到青色盒子里面时,我们再也看不见它的六个面了。无论如何,如果我们把材料设置改成显示背面,那我们将可以看见青色盒子的背面。
       

       

      Z-争斗和Z-位移

      当两个物体有重叠的面时,三维引擎会尝试同时把两个面出来,所以当两个面正在”争斗“时,我们会看见一些闪烁的效果,我们称之为Z-争斗。

      要避免这个问题,我们需要告诉三维引擎哪一个面可以之后再画,以便它可以其他面,优先被画出来。我们可以通过设置设置一个材料的Z-位移来解决这个问题,Z-位移的数值可以是0,-1,-2或者-3。Z-位移的数值越低,面就会越迟被引擎画出来。Z-位移可以在所有方向被使用,并不局限于Z方向。

       

       
       

      对数深度

      这是一个高级参数。它让游戏引擎使用物体与摄像头距离的对数来计算哪个物体应该阻挡其他物体。默认情况下,你可以将其设置为“否”。

      当场景非常大,并且你看到有“z-争斗”问题时,请尝试将此参数设置为“是”,以解决那些存在“z-争斗”问题的物体。

       
       

      透明

      此参数控制我们是否允许透明。例如,有些模型物体是部分透明的,而你希望它完全不透明。那么你可以使用这个积木,并将其透明选项设置为“否”。

      posted in 三维积木
      C
      CreatiCode TA 2
    • 三维方向和旋转

      预备知识

      • 三维轴
      • 在三维场景中添加盒子

       
       

      介绍

      我们周围的很多物体都会旋转。当我们解释一个旋转时,我们需要注重下列这三个问题:

      1. 轴线:物体正在围绕着哪个轴线旋转?

      举个例子,这把雨伞正在以伞轴朝上,也就是和z轴一样的方向旋转。所以,我们说这把雨伞正在围绕着z轴旋转。

       

       

      另外一个例子,这个轮胎正在围绕着它的中心枢纽,也就是和Y轴对齐的方向旋转。

       

       

      如果轮胎是围绕着Z轴旋转的,它看起来会像下图展示的那样:

       

       

      2. 方向:物体是顺时针旋转还是逆时针旋转?

      为了确定旋转的方向,我们需要移动摄像头,从物体围绕旋转的轴线上方进行观察。

      举个例子,这把雨伞正在围绕着Z轴旋转,我们需要从Z轴的上方观察,然后我们就会得知这把雨伞正在顺时针旋转。

       

       

      另一方面,这个轮胎正在围绕着Y轴旋转,所以我们需要从Y轴的箭头处观察它的旋转,然后我们就会得知这把雨伞正在逆时针旋转。

       

       

      3. 速度:物体正在以多快的速度旋转?

      有时候我们需要一个物体在一张动图里持续旋转,而不是立刻旋转到一个目标角度。要指定旋转速度,最简单的方式是指定每秒钟旋转的角度。

      举个例子,这架飞机大概花了4秒钟的时间来完成一个圈的旋转,也就是360°的旋转。所以我们可以说它正在以每秒90°的速度旋转。

       

       
       

      手动旋转一个物体

      要找出旋转一个物体需要的角度,你可以使用角色中,角色控制台的方向输入框来手动旋转一个物体。举个例子,方向Z的输入框就控制了围绕着Z轴的旋转角度。

       

       

      需要注意的是,你手动指定的旋转方向在你重新打开程序时将不会被储存。你需要在程序中使用下列的编程积木来设定方向。

       
       

      左转和右转编程积木

      让我们从这两个你已经知道的编程积木开始。他们允许我们让物体围绕着Z轴旋转,相对于它现在的方向。

       

       
       

      “面向方向”编程积木

      这个编程积木允许你让物体围绕着Z轴旋转到指定的方向。需要注意的是,这个编程积木并不受物体现有的方向影响。如果物体的现有方向已经和指定的方向一样,那么这个编程积木将不会有任何效果。

       

       

       

      “指向 X/Y” 编程积木

      另一个可以被用来让物体围绕着Z轴旋转的运动编程积木是“指向 X/Y” 编程积木。当你知道目标点的X方向和Y方向时,这个编程积木非常有用。他让你节省了计算方向数值的时间。

       

       
       

      绕某一个轴线旋转

      上述介绍的编程积木只能够让一个物体围绕着Z轴旋转,要让物体可以围绕着三个轴线中的任一轴线旋转,你可以使用以下编程积木:

       

       
       

      参数

      • 围绕的轴线: 可以选择X轴、Y轴或者Z轴。

      • 旋转的角度: 相比现有的方向下,物体应该要旋转的角度。如果数值为正数,当你从轴线箭头的上方观察时,物体将会顺时针旋转。举个例子,一个完整的圈是360°,而往反方向旋转是180°。

      • 旋转的时长: 如果时长为零,那么物体将会立刻被旋转。如果时长不等于零,那么物体将会以动态的方式缓缓旋转。

       

      演示

       

       
       

      绕某一轴线旋转到指定方向

      跟“指向方向”编程积木相似,这个新的编程积木可以让物体围绕着任一轴线朝指定方向旋转:

       

       

      参数

      • 指定角度: 物体需要转向的目标角度(无论物体现有角度是多少)。

      • 围绕的轴线: 可以选择X轴、Y轴或者Z轴。

      • 旋转的时长: 如果时长为零,那么物体将会立刻被旋转。如果时长不等于零,那么物体将会以动态的方式缓缓旋转。

       

      演示

       

       
       

      同时绕三个轴旋转到指定方向

      如果你需要围绕不止一个坐标轴旋转物体,那么用这个积木会更方便些:

      d3c28d1f-5b6a-4de1-9a70-cd221ba2a587-image.png

       
      这里前三个输入分别是绕每个坐标轴需要旋转到的方向。之后,你可以设置这些旋转的用时。最后一个输入可以控制是否等待这些旋转结束后再运行下面的其他积木。

      据个例子,这里的三个“绕轴旋转“积木等同于下面的一个“旋转到“积木:

      84e02023-4733-4b12-9d46-dd026889be34-image.png

       
       

      设置旋转速度

      如果你想要一个物体一直抱持着一个目标速度旋转,你可以使用“设置速度”编程积木,它可以允许你设置围绕着每个轴线旋转的速度。需要注意的是,如果你设置的数值为正数,从物体围绕的轴线箭头处观察,物体将会顺时针旋转。

      要让物体停止旋转,你只需要把旋转速度设置为0即可。

       

       
       

      “最后一个添加的物体”规则

      当同时存在很多个物体,旋转操作将会运用在旋转编程积木之前,最后一个被添加的物体上。

      举个例子,第一个“旋转到角度”编程积木会被运用到在旋转编程积木被添加之前的红色盒子,而第二个“旋转到角度“编程积木会被运用到黄色盒子上。

       

      posted in 三维积木
      C
      CreatiCode TA 2
    • 复制物体

      预备知识

      • 添加模型

       

      介绍

      有时候我们会需要添加几个相似的物体(形状、角色或模型)。举个例子,假设我们需要创建一个有很多树木的森林。如果我们把每棵树都用添加一个新物体的方式来加到场景中,就会花费很多时间来添加,并且程序也会因为更大的电脑记忆使用量而运行得更缓慢。

      因此,我们可以简单地添加一棵树,然后添加很多个树的复制体。这会让你的程序运行得更快速。

       

      复制物体的编程积木

      • 分享数据与否: 如果选项为”是“,那么被复制的物体将会和原本的物体分享一样的数据,比如网格(组成物体的小平面)、材料(材质和颜色)、以及动画框;如果选项为“否”,那么被复制的物体将会有他自己的材料,并没有动画。

      • 新物体名称: 被复制物体的名称。

       

      演示1 - 很多看起来一样的复制体

      在这个例子里,我们需要很多看起来一样的树,所以我们可以创建他们,并把”共享数据 = 是“。

       

       

      以下展示完整程序:
       

       

      需要注意的是,我们创建一个复制体后,复制体会马上成为新的被选择的角色物体。在这个例子里,我们不是创建了100个第一棵树(名为”树木1”)的复制体。相反地,第二棵树是第一棵树的复制体,而第三棵树是第二棵树的复制体,以此类推。

       

      演示 2 - 很多个颜色不同的复制体

      在这个例子里,我们依然要复制同一个礼物盒子很多次,但是我们要把它们的材料更新成不同的颜色。因此,当我们创建复制体时,我们需要设置成共享数据 = 否。

       

       

       

      演示3- 一个角色的很多复制体,运行同一个动画

      假设你要在场景中有很多头跑来跑去的猪,你可以用共享数据来创造他们,然后他们全部将会看起来一样,并运行一样的动画:

       

       

       

      演示4 - 没有连接的复制体,颜色和动画都不一样

      在这个例子里,复制体的大象被复制了,但是并没有跟原本的大象开启数据分享。就像动画展示的那样,他们可以有不一样的颜色和动画:

       

       


       

      posted in 三维积木
      C
      CreatiCode TA 2
    • 三维坐标和位置

       

      预备知识

      • 在三维场景中添加盒子

      介绍

      默认情况下,所有我们添加到三维世界的物体都会被放置在世界的中心,原点。要把一个物体移动到不一样的位置,我们需要使用坐标。

      在一维世界里,所有东西都被放置在一条非常长的箭头——x轴线上。如果一个点是在x=50的位置,我们将会顺着轴线的方向从原点移动50步来找到那个点。如果一个点是在x=-30的位置,我们将会逆着轴线的方向从原点移动30步来找到那个点。

       
      在二维世界,我们使用两个坐标数值来代表一个点的位置。举个例子,如果一个点是在x位置=50和y位置=-30,我们将会在x和y的方向找到这两个点,然后再找到那个同时对应这两个点的点。

       
      在三维世界里,我们使用三个坐标位置。举个例子,如果一个点是在x=50,y=30,z=40,我们需要先在各自的轴线找到这三个点,然后再找到那个同时对应到这三个点的点。
       

       

      使用运动编程积木来设定三维位置

      好消息是,这些运动编程积木在三维程序里面也可以运作良好:
       

       

      演示

      举个例子,假设我们在空白场景中添加了一个黄色盒子。它的位置会在原点。需要注意的是,这个原点代表着盒子的中心点(用蓝点来标注),是在x=0,y=0,z=0的位置。

      当我们把盒子的x位置设置成100,他的中心点会顺着x轴线的方向立刻移动100步。其他的编程积木的运作方式跟在二维程序里的运作方式相似。

       

       

      移动到 X/Y/Z 编程积木

      我们也有一个新的编程积木来把物体移动到一个三维位置:

       

      参数

      • 用时(秒): 当这个输入框大于0时,被指定移动的物体将会用动态的方式在特定秒数内朝着被指定的三维位置滑行。

      • 等待模式: 如果把它设置成“需等待的”,那么程序将会在这个编程积木运行完毕后,再运行下一个编程积木;如把它设置成“可继续的”,那么程序将不会等待这个积木运行完毕,而是直接运行接下来的编程积木。“可继续的”选项在你想让物体长时间地运动,又想让接下来的编程积木直接运行时有非常大的用处。
         

      演示

      这是一个展示一个盒子在三秒内移动的动图的简单例:
       

       

      使用“位置”小工具

      有时候你需要把物体移动到一个特定的位置,但是你很难知道该使用什么位置数值来使物体移动到那里。这个时候,你可以利用位置小工具来帮助你。

      就像下图展示的一样,你可以通过点击一个有四个箭头的按钮开启或关闭位置小工具。当这个工具被开启时,你可以点击你想要移动的物体,然后你就可以看见三条轴线出现在物体的中心点。当你的鼠标悬停在其中一条轴线时,该条轴线将会被标注成黄色,然后你就可以通过拖拽它来移动物体。
       

       
      当你在拖拽一个物体时,你可以观察到角色面板上的x/y/z位子会随着你的拖拽改变。此外,运动编程积木中的位置数值也会被改变,以便你可以在完成拖拽物体后直接使用它们。
       

       

      “最后一个添加的物体”规则

      通常,我们都会在场景中有多于一个的物体。当我们使用“移动到”编程积木时,在这个编程积木前被添加的物体将会被移动。

      举个例子,在这个程序中,第一个“移动到”编程积木将会把红色盒子移动到x=200的位置,因为红色盒子是最后一个在“移动到”编程积木前被添加到场景的物体。但是,第二个“移动到”编程积木不会移动红色盒子,而是移动蓝色盒子。

       

       
      这个是当我们运行以上程序时的结果:

       

      了解更多

      • 三维物体的速度
      posted in 三维积木
      C
      CreatiCode TA 2
    • 添加模型

      预备知识

      • 在场景中创建角色
      • 在三维场景中添加盒子

       

      介绍

      三维场景中有三种物体——角色,形状(比如盒子或球体)以及模型。模型可以用来代表更复杂、不能用简单形状组成的物体,比如飞机或汽车。举个例子,在游戏《我的世界》里,大部分的物体都是由盒子(也被称为正方体)组成,但在《机器砖块》里,大部分的物体都是由模型组成。

      在创益编程的游乐场里,我们提供了一系列多元的模型,你可以免费添加到你的场景里。如果你想要在图书馆中添加一个新的模型,你可以在这个愿望清单里要求。

       

      版权

      需要注意的是,你只能够在你的创益编程游乐场的程序里使用我们提供的模型。从图书馆中提出或导出任何模型并把它运用在其他地方都是违法的。

       

      “添加模型”编程积木

       

       

      模型选项

      要选择哪个模型需要被添加到你的场景中,你需要点击“请选择”输入框,然后从图书馆中选择一个模型。

      在图书馆视窗里,你可以浏览每个模型的预览,限制模型的组别,或者利用模型的名字来搜索。

       

       

      目标高度

      通常,你添加到场景中的新物体很有可能太大或者太小。最简单的解决方法就是通过目标高度输入框来指定新物体的高度。

      举个例子,假设这个蘑菇模型对你的场景来说太小了,你可以指定一个更高的目标高度来看见它。

       

       

      原点X/Y/Z

      一个物体的原点是一个代表物体位置的单点。举个例子,当我们说一个物体处于x=0,y=0,z=0的位置时,不代表我们说整个物体都是这个位置上,而是说这个物体的原点是在这个位置。

      默认情况下,当一个新的物体被添加,它的原点会在它的中间底部。举个例子,如果你添加了一艘太空船,他的底部会落在z位置的0。虽然如此,假如你要把太空船的原点转移到它的中心,你可以把z的原点偏移设置成太空船高度的一半(50)。

       

       

      物体名称

      如果你需要在你的编程里提及你的新物体,你可以给它一个名字。或者,你可以让最后一个输入框保持空白,那么这个物体就会得到一个随机的名字。
       

       

      posted in 三维积木
      C
      CreatiCode TA 2
    • 模型动画

       

      预备知识

      • 化身动画
      • 添加模型

       

      介绍

      假设你已经知道如何使化身运行动画,你也可以让模型运行动画,比如让一只龙展翅飞翔:

       

       

      让模型开始运行动画的积木

      跟化身动画不一样,你不需要给模型事先添加任何动画。也就是说,每个模型在被添加到三维场景的时候就已经自带了一些动画功能。所以,你只需要运行下面这个积木就可以让模型开始动画:

      48a4f091-04b9-4daa-9d2e-5443f029dd99-image.png

       

      请注意,这个积木与化身的“开始动画”积木非常相似。唯一的区别在于动画名称(第一个输入)的指定方式:

      所有化身都共享同一组动画,并且动画有很多选择。这就是为什么默认情况下,化身除了“待命”之外不携带任何动画信息,而我们需要为其添加额外的动画动作。

      反之,不同模型能够拥有非常不一样的动画动作,所以我们并没有一个标准的动画列表可供选择。所以,你需要自己输入动画名称,而不是从一个弹窗中选择。你可以参考下方的清单来找到每个模型支持的动画。比如说对于“蝴蝶”这个模型,下面的清单告诉我们它可以支持两个动画:“待命”或者“飞翔”。 如果你让动画名称输入保持空白,那么模型的默认动画将会被使用。

       
       

      每个模型支持的动画名称(持续更新中)

      • 土狼: 待命, 跳跃, 奔跑, 行走
      • 白狐: 待命, 跳跃, 奔跑, 行走
      • 非洲狩猎狗: 待命, 跳跃, 奔跑, 行走
      • 蝙蝠: 爬行, 死亡, 潜水, 吃, 飞翔, 待命
      • 野牛: 待命, 跳跃, 奔跑, 行走
      • 宽吻海豚: 游泳1, 静止, 跳跃, 跳跃2
      • 腕龙: 待命, 跳跃, 奔跑, 行走
      • 水牛: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 水牛 2: 待命, 跳跃, 奔跑, 坐下, 待命坐下, 起立, 行走
      • 蝴蝶: 待命, 飞翔
      • 猫: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 猎豹: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 小鸡: 弹跳, 被点击, 死, 害怕, 飞翔, 待命, 跳跃, 啄, 翻滚, 奔跑, 旋转, 行走
      • 黑猩猩: 待命, 跳跃, 奔跑, 行走
      • 小丑鱼02: 待命1, 游泳1
      • 长眼镜蛇: 待命, 跳跃, 奔跑, 行走
      • 蟑螂: 死亡, 待命, 跳跃, 奔跑
      • 奶牛: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 乌鸦: 弹跳, 被点击, 死, 害怕, 飞翔, 待命, 跳跃, 啄, 翻滚, 奔跑, 旋转, 行走
      • 狗: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 驴: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 鸽子: 弹跳, 被点击, 死, 害怕, 飞翔, 待命, 跳跃, 啄, 翻滚, 奔跑, 旋转, 行走
      • 龙: 向前喷火, 向侧面喷火, 飞翔, 飞着向侧面喷火, 飞着向前喷火, 待命, 向左移动, 向右移动, 服从, 吼叫, 行走
      • 鸭子: 弹跳, 被点击, 死, 害怕, 飞翔, 待命, 跳跃, 啄, 翻滚, 奔跑, 旋转, 行走
      • 鸭子 2: 死亡, 吃, 飞翔, 待命, 降落, 起飞, 行走
      • 鹰: 弹跳, 被点击, 死, 害怕, 飞翔, 待命, 跳跃, 啄, 翻滚, 奔跑, 旋转, 行走
      • 鹰 2: 死亡, 吃, 飞翔, 待命, 行走
      • 大象: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 大象2: 起身, 攻击, 待命, 停止, 行走, 奔跑, 吃, 死亡
      • 大象 3: 待命, 跳跃, 奔跑, 行走
      • 麋鹿: 待命, 跳跃, 奔跑, 行走
      • 雪貂: 待命, 跳跃, 奔跑, 行走
      • 火烈鸟: 弹跳, 被点击, 死, 害怕, 飞翔, 待命, 跳跃, 啄, 翻滚, 奔跑, 旋转, 行走
      • 狐狸: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 狐狸 2: 待命, 跳跃, 奔跑, 行走
      • 巨石斑鱼: 游泳1, 游泳2
      • 羚羊: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 金鱼: 弹跳, 被点击, 死, 吃, 害怕, 待命, 跳跃, 翻滚, 奔跑, splash, 游泳, 行走
      • 大猩猩: 待命, 跳跃, 奔跑, 行走
      • 双髻鲨: 游泳, 慢慢游泳
      • 母鸡: 弹跳, 被点击, 死, 害怕, 飞翔, 待命, 跳跃, 啄, 翻滚, 奔跑, 旋转, 行走
      • 河马: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 河马 2: 待命, 跳跃, 奔跑, 行走
      • 猪: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 蜜獾: 待命, 跳跃, 奔跑, 行走
      • 犀鸟: 弹跳, 被点击, 死, 害怕, 飞翔, 待命, 跳跃, 啄, 翻滚, 奔跑, 旋转, 行走
      • 马1: 待命, 跳跃, 奔跑, 行走
      • 马2: 待命, 跳跃, 奔跑, 行走
      • 鬣狗: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 拉布拉多犬: 待命, 跳跃, 奔跑, 行走
      • 豹: 待命, 跳跃, 奔跑, 行走
      • 狮子: 待命, 跳跃, 奔跑, 行走
      • 蝠鲼: 蝠鲼滑行, 蝠鲼慢游
      • 芒果: 待命, 跳跃, 奔跑, 行走
      • 老鼠: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 獒: 待命, 跳跃, 奔跑, 行走
      • 猫鼬: 待命, 跳跃, 奔跑, 行走
      • 猴: 待命, 跳跃, 奔跑, 行走
      • 驼鹿: 待命, 跳跃, 奔跑, 行走
      • 鼠: 死亡, 吃, 打架, 待命, 行走
      • 护士鲨: 待命1, 游泳1
      • 羚羊: 待命, 跳跃, 奔跑, 行走
      • 鸵鸟: 弹跳, 被点击, 死, 害怕, 飞翔, 待命, 跳跃, 啄, 翻滚, 奔跑, 旋转, 行走
      • 猫头鹰: 弹跳, 被点击, 死, 害怕, 飞翔, 待命, 跳跃, 啄, 翻滚, 奔跑, 旋转, 行走
      • 牛: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 鹦鹉: 弹跳, 被点击, 死, 害怕, 飞翔, 待命, 跳跃, 啄, 翻滚, 奔跑, 旋转, 行走
      • 企鹅: 弹跳, 被点击, 死, 害怕, 飞翔, 待命, 跳跃, 啄, 翻滚, 奔跑, 旋转, 行走
      • 猪: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 鸽子: 弹跳, 被点击, 死, 害怕, 飞翔, 待命, 跳跃, 啄, 翻滚, 奔跑, 旋转, 行走
      • 北极熊: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 兔子: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 狸: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 猛禽: 待命, 跳跃, 奔跑, 行走
      • 鼠: 死亡, 吃, 待命, 奔跑, 行走
      • 响尾蛇: 待命, 跳跃, 奔跑, 行走
      • 驯鹿: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 犀牛: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 犀牛2: 待命, 跳跃, 奔跑, 行走
      • 犀牛: 死亡, 待命, 奔跑, 嘲弄, 行走
      • 公鸡: 弹跳, 被点击, 死, 害怕, 飞翔, 待命, 跳跃, 啄, 翻滚, 奔跑, 旋转, 行走
      • 黑貂羚羊: 待命, 跳跃, 奔跑, 行走
      • 海蛇: 待命1, 静止, 游泳1, 游泳2, 游泳3
      • 西古尔: 死亡, 吃, 飞翔, 待命, 行走
      • 海豹: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 羊: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 牧羊人: 警觉, 攻击, 吠, 低头, 死亡, 吃, 站起来, 嗥, 待命, 四处看, 奔跑, 坐下, 行走
      • 蛇: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 蛇 2: 攻击, 死亡, 待命, 行走
      • 雪鸮: 弹跳, 被点击, 死, 害怕, 飞翔, 待命, 跳跃, 啄, 翻滚, 奔跑, 旋转, 行走
      • 麻雀: 死亡, 吃, 飞翔, 待命, 行走
      • 蜘蛛: 死亡, 吃, 待命, 行走
      • 旋龙: 待命, 跳跃, 奔跑, 行走
      • 剑龙: 待命, 跳跃, 奔跑, 行走
      • 鹳: 死亡, 吃, 飞翔, 待命, 行走
      • 家燕: 死亡, 吃, 飞翔, 待命, 行走
      • 乌龟: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 霸王龙: 待命, 跳跃, 奔跑, 行走
      • 独角兽: 待命, 飞翔, 奔跑, 行走_01, 行走_02
      • 海象: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 黄鼠狼: 待命, 跳跃, 奔跑, 行走
      • 牛羚: 待命, 跳跃, 奔跑, 行走
      • 狼: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 斑马: 弹跳, 被点击, 死, 害怕, 待命, 跳跃, 咀嚼, 翻滚, 奔跑, 旋转, 游泳, 行走
      • 斑马 2: 待命, 跳跃, 奔跑, 行走

       
       

      示例程序

      下面这个程序添加一个“龙”的模型,然后让它开始“飞翔”的动画:

      posted in 三维积木
      C
      CreatiCode TA 2
    • 球体的使用

      介绍

      除了盒子,在三维场景中最常使用的形状便是球体了。我们可以利用三维物体组别中的添加球体编程积木来添加球体。

       

       

      参数

      颜色

      你可以点击颜色输入框来设置球体的颜色。

      x、y和z的大小

      这三个数值控制了球体分别在每个方向的大小。举个例子,以下这个程序将会添加一个在z轴更长的椭圆球体:

       

       

       

      弧度

      “弧度”的数值让我们能够展示一个球体的一些部分,就好像你可以剥掉一个橙子的一些部分一样:
       

       
      举个例子,下列这张动图就展示了弧度数值为100,75,50,25和5时,球体的差异:
       

       

      切层

      ”切层“数值让我们能垂直地切掉球体的一部分,这就好像你把柠檬切片一样:
       

       
      举个例子,下列动图展示了切层数值为100,75,50,25和5时,球体的差异:

       

       

      侧面数

      一个球体是由很多个小三角形组成的,而“侧面数”决定了我们在创建球体时使用多少个三角形。侧面数数值越高,球体就看起来越光滑,但同时也会让游戏引擎花费更多时间来描绘这些三角形。举个例子,下列动图展示了侧面数数值为2,4,6,8,16和32时,球体的差异:

       

       
      在多数情况下,你可以使用8个或16个侧面来减少运算。但当你要在场景中添加一个比较大的球体时,你会需要使用更多侧面来使它看起来光滑。

       

      演示

      当你把弧度和切层数设置为小于100时,你将会得到一些有趣的形状。

      举个例子,弧度为25以及切层数为50,你会得到一个飞天地毯:

       

       

      另一个例子,弧度为50以及切层数为25,你会得到一个面具:
       

       

      posted in 三维积木
      C
      CreatiCode TA 2
    • 调整物体大小

       

      预备知识

      • 在三维场景中添加盒子
      • 在场景中创建角色

       

      介绍

      你可以在场景中改变任何物体的大小。接下来将会介绍两种方式。

       

      ”更新比例“编程积木

      这个编程积木允许你根据物体的原有体积来调整他的大小,这个调整可以是立刻生效的,也可以是通过动画展现的。

       

      参数

      • 缩放百分比: 在每个维度中,原本大小和目标大小的比例。默认情况下,100%意味着模型的原本大小。需要注意的是,这个缩放百分比和现有的大小没有关系。举个例子,如果你把”x大小“调整成200%,那么物体的宽度会被放大两倍。但是当你再次尝试把物体的x大小调整成200%的话,物体的宽度将不会被改变,因为物体的x大小已经被调整成200%了。

      • 动画时长: 默认情况下,大小的改变会立刻生效。但是,如果你指定一个特定的时长,比如两秒,那么物体将会在这两秒内用动态的方式逐渐改变他比例。

      • 等待与否: 当动画时长大于零秒时,如果我们是处于”需等待的“模式,那么在排列这个编程积木下的编程积木在动画时长结束前都将不会运行。在”可以继续的“模式中,排列这个编程积木下的编程积木将会直接开始运行。

       

      演示

      这是一个通过不断把盒子的比例放大缩小来模拟”心脏跳动“类型的动画的简单程序。

       

      ”更新大小“编程积木

      如果你想要把物体的大小直接更新到特定大小,那你可以使用这个编程积木·。

      需要注意的是,你可以把三个输入框中的一至两个输入框保留成空白。举个例子,如果x和y的大小输入框是空白的,那么这个物体将会被调整至z大小与输入框数值符合,而其他两个维度的大小保持在原有比例。

       

      演示

      在这个例子中,我们有一个高度为100个单位的角色。假设我们需要把他的高度增加至200,我们可以把z的目标大小1设置成200,然让x和y的输入框保持空白。那么角色将会按照设定的比例被调整。

      posted in 三维积木
      C
      CreatiCode TA 2