Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • CreatiCode
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

CreatiCode Scratch Forum

  1. CreatiCode Forum
  2. 知识库
  3. 小教程
  4. 三维 - 一张地毯(难度:2)

三维 - 一张地毯(难度:2)

Scheduled Pinned Locked Moved 小教程
1 Posts 1 Posters 881 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • CreatiCodeI Offline
    CreatiCodeI Offline
    CreatiCode
    wrote on last edited by admin
    #1

     

    覆盖的关键课题

    • 创建三维场景
    • 更新纹理
    • 使用柱体
    • 更新比例
    • 更新颜色
    • "z-斗争"问题

     
     

    介绍

    在这个教程中,我们将会创建一个地毯。以下是地毯的预览:

     

     

     
     

    步骤 1 - 一个带有三维轴线的"空白“场景

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

     

     

    就像展示的一样,X轴指向右边,Y轴指向前方(面向荧幕),以及Z轴指向上方。你可以在舞台上拖动你的鼠标,以围绕着它旋转摄像头:

     

     

     

    步骤 2 - 添加一个柱体

    我们的地毯会是圆形的,所以让我们来添加一个非常薄的柱体。你可以选择任何你喜欢的颜色或者大小:

     

     

    现在,你应该得到一个像这样的圆形地毯:

     

     

     

    步骤 3 - 添加“侧面数”的数值

    你可能已经注意到了,柱体的边角并没有特别圆滑。这是因为我们只使用32个侧面数,所以我们在放大时可以看见侧面数之间的边角。

    要改进效果,我们可以把侧面数的数值增加到一个比较大的数值,比如128。

     

     

    现在柱体的边角看起来会更圆滑了:

     

     

     

    步骤 4 - 更新柱体在X维度的比例

    现在我们需要把我们的地毯变成一个椭圆形。我们可以使用"更新比例"编程积木来沿着X维度把柱体伸展从它原有大小的150%。

     

     

    现在我们会得到一个椭圆形的地毯:

     

     

     

    步骤5 - 更新纹理

    现在,我们的地毯看起来像一个用塑料制成的东西。要给他看起来更真实,我们需要更新它的纹理。你可以使用“地毯”纹理,或者尝试其他你喜欢的纹理。

     

     

    现在地毯看起来就像真的一样:
     

     

    步骤 6 - 更新颜色

    我们会在我们给地毯添加纹理的时候失去它原有的颜色。要把颜色复原,我们可以使用"更新颜色" 编程积木:

     

     

    这个改变会让我们拥有一个有颜色的地毯:

     

     
     

    步骤 7 - 第二层

    接下来,让我们添加一个颜色不一样而且更小的柱体。你可以右击来复制第一部分中使用的4个变成积木,并改变它的颜色和尺寸:

     

     

     

    步骤 8 - 修复展示问题

    我们的地毯会有一个小问题,比较小的柱体并没有被清晰地展示。这是因为两个柱体的顶面是重叠的,所以三维引擎尝试同时展示两个柱体。假如你好奇的话,这个问题被称为"z-斗争“问题。

    最简单的方是把更小的柱体调整得更厚,以便它的顶面覆盖更大的柱体。举个例子,把更小柱体的高度调整到4.5就已经足够了。大部分的人都不会意识到这个差异,除非他们从很近的距离观看。

     

     
     

    步骤 9 - ”添加层次“编程积木

    在我们往地毯上添加更多的层次之前,现在是一个重构我们程序的好时机,这样我们就可以避免复制编程积木。

    就像你可以观察到的一样,每层地毯都会使用同样的四个编程积木,这是一个清晰的规律,我们只需要为它设置不一样的大小和颜色,因此,我们可以通过自制一个新的名为”添加层次“的新编程积木,并设置让他接受三个输入,分别为”大小“,”高度“和”颜色“:

     

     

    接下来,我们可以把制作一层需要的4个编程积木移动到这个新编程积木的定义,并把三个输入编程积木拖拽到正确的地方。

     

     

    最后,我们可以开始使用这个新的编程积木来添加两个层次。需要注意的是,在”颜色“输入时,我们需要使用颜色编程积木,这将允许你使用颜色来设置颜色数值(而不是使用滑杆)。

     

     

     

    步骤 10 - 添加第三层

    有了我们制作的新的”添加层次“编程积木之后,要添加另外一个更小更厚层次就会很容易:

     

     

    作为参考,这是一个完整的程序:

     
    73cf39ba-719a-49ff-a98b-59fbbba99ff2-image.png
     

     
     

    创意点子

    要改善这个地毯项目,你可以有很多办法。这里有一些激发你的灵感的点子:

    1. 其他形状: 地毯也可以有其他的形状,比如球体,胶囊状以及管子。

    2. 更多层次: 你可以使用重复执行-循环或者一个从-循环,可以在地毯上添加更多层次。

    3. 金字塔: 当你积累了很多层的盒子之后,你将会得到一个金字塔的形状。

    1 Reply Last reply
    0
    • CreatiCodeI CreatiCode pinned this topic on

    Hello! It looks like you're interested in this conversation, but you don't have an account yet.

    Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

    With your input, this post could be even better 💗

    Register Login
    Reply
    • Reply as topic
    Log in to reply
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes


    • Login

    • Don't have an account? Register

    • Login or register to search.
    • First post
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • CreatiCode