更新物体纹理
-
预备知识
介绍
纹理是有图案的图像。他们可以被涂在物体的表面,让物体看起来更真实。
举个例子,在下列提供的场景中,我们可能很难告诉你这些物体分别代表什么:
https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/feb4ec20-0458-409d-9475-22cf66bbb7a3.gif" width="400" style="border-radius: 5px; border: 1px solid #29622d;">
虽然如此,在我们应用一些纹理之后,我们就可以很清楚地看到我们有一面砖墙,和一个在地上的木制箱子:
https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/2b3ea785-30ec-4080-b433-6e4f341c7fa4.gif" width="400" style="border-radius: 5px; border: 1px solid #29622d;">
“更新纹理”积木
https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/f3dec02d-a64d-4e57-86a3-74f9a3608552.png" width="950" style="filter: drop-shadow(0.35rem 0.35rem 0.4rem rgba(0, 0, 0, 0.5));">
选择纹理种类
当你点击”请选择“输入框,一个展示所有由创益编程平台提供的纹理的图书馆视窗会弹出。你也可以使用纹理的名字来搜寻它。举个例子,如果你搜索”像素“,你会得到所有跟《我的世界》方块纹理很相似的像素化纹理。你可以点击任一物体来选择它。
https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/cffffee1-80a9-48b2-b4c2-1cd3786cb6ca.gif" width="1000" style="border-radius: 5px; border: 1px solid #29622d;">
重复长方形表面的纹理
每种纹理都是一张正方形图像。所以当我们尝试利用纹理来覆盖一个物体的表面时,我们需要重复纹理图像好几次。你可以利用”纹理边长“输入框控制在每个方向,纹理需要重复的次数。
举个例子,如果一个盒子的长方形表面的宽度是400而高度是300,我们把纹理边长设置成100,那纹理图像就会在X方向重复4次,并在Y方向重复3次。这样的重复方式会让每个纹理图像维持没有变形的正方形图像,而重复的次数是自动计算的。这个方法适用于任何长方体表面。
https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/959f0ab8-0d10-40b6-8d95-3f34884d0b20.gif" width="900" style="border-radius: 5px; border: 1px solid #29622d;">
在非长方形表面重复纹理
当一个物体的表面不是长方形时,比如一个球体或一个有圆角的盒子,我们不能使用它的宽度和高度来自动计算纹理图像需要重复的次数。相反,你会需要使用接下来的两个输入框“非盒子重复 横()竖()”(“横”指定横向的数值而“竖”指定纵向的数值)来指定重复的次数。需要注意的是,“纹理边长”的输入数值会在非长方体表面被忽视。
https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/b7d1b31d-6b9d-4ac7-8668-9a9052b52bfe.gif" width="960" style="border-radius: 5px; border: 1px solid #29622d;">
纹理旋转
你可以利用角度来旋转纹理图案。举个例子,当你把旋转从0度改成90度时,箭头将会从指向下方改为指向侧边。
https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/3d6a28f1-5844-44de-92dd-44ae40717129.gif" width="1000" style="border-radius: 5px; border: 1px solid #29622d;">
模型或角色的区域
你也可以在模型或者角色中运用纹理。操作方式和更新颜色的方式很相似,你可以指定要更新模型的全部区域或者其中一个区域。每个区域的特定意思将会根据模型改变。
举个例子,你可以让角色穿上“岩浆”上衣和“青草”裤子:
https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/f6bb8d29-2a19-44f4-a1ba-e6e107d3613c.gif" width="1000" style="border-radius: 5px; border: 1px solid #29622d;">
有些纹理也提供影子
有些纹理不仅仅会在物体的表面添加颜色图像,也会允许游戏引擎模拟影子。举个例子,在单向光的照射下,我们可以观察到“砖块03”纹理在砖块间的缝隙添加了一些暗影:
https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/561aea6b-e127-4b50-8410-bde55ab211e9.gif" width="980" style="border-radius: 5px; border: 1px solid #29622d;">
更新纹理颜色
在应用一些纹理之后,你依然可以更新它的颜色来得到一个不一样的外貌。举个例子,“地面02”的纹理是白色的,但你可以更新它的颜色来的得到不一样颜色的地板:
https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/61721421-c818-4b6e-bef3-bb4fb1fc9865.gif" width="1000" style="border-radius: 5px; border: 1px solid #29622d;">
使用造型作为纹理
有的时候,你在纹理图书馆找不到你确切需要的纹理。这时,你可以利用这个编程积木来把角色的造型作为纹理:
https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/62aee2e5-0a8f-4687-8cab-4ec527711b45.png" width="1000" style="filter: drop-shadow(0.35rem 0.35rem 0.4rem rgba(0, 0, 0, 0.5));">
这个编程积木里只有一个新的输入框,你可以选择你想要使用的造型纹理。
举个例子,你可以在造型编辑器上传任何图案,然后使用那个造型作为纹理。需要注意的是,你需要把造型转换成"矢量图”格式。
https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/45af20d9-c381-49d9-8c45-cb332ee5e28e.gif" width="1000" style="border-radius: 5px; border: 1px solid #29622d;">
举另一个例子,你可以绘画你自己的造型并把它用作纹理。
https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/be418fe1-0660-49ea-a0b1-2ee7f8a08b45.gif" width="1000" style="border-radius: 5px; border: 1px solid #29622d;">
演示:一张美元钞票
有的时候,你也会需要设置长方形表面的重复次数。要进行设置,你可以很简单地把“纹理边长”设置成0.举个例子,假设我们要创造一张100美金钞票。我们可以添加一个平面,并添加一张自定义的100美元图像。现在我们只需要把纹理边长设置成1,并把“横”和“竖”方向的重复次数都设置成1即可:
https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/e786a41d-04e4-4579-9f73-3c8e098c6baa.png" width="1000" style="filter: drop-shadow(0.35rem 0.35rem 0.4rem rgba(0, 0, 0, 0.5));">
https://play.creaticode.com/projects/8a108de3cf219ff25801a819
使用网络上的图片作为纹理
作为另外一个选项,你还可以通过下面这个积木直接使用任何在网上共享的图片文件作为纹理:

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

它会生成一个鲜花图案的盒子:https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/f294cffe-b215-4f22-ab93-fdab4dcd888a.gif" width="470" style="border-radius: 5px; border: 1px solid #29622d;">
-
I 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