Navigation

    CreatiCode Scratch Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • CreatiCode

    增强现实 - 绘制虚拟人脸(仅限高级版,难度:2级)

    小教程
    1
    1
    198
    Loading More Posts
    • 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.
    • C
      creaticodeteacher2-mail last edited by admin

       

      用到的相关知识

      • 创建三维场景
      • 增强现实人脸摄像头
      • 更新纹理
      • 更新颜色
      • 按钮控件

       

      介绍

      当你运行增强显示人脸摄像头,就可以显示4个面部区域:脸、眼睛、嘴、嘴唇。

      在这篇教程中,大家制作的程序让用户绘制不同的人脸。

       

      第1步 - 添加增强现实(AR)人脸摄像头

      用这三个积木新建一个项目:

      注意,大家要更改积木“切换到AR人脸摄像头”中的选项:

      • 不显示标记,因为我们的重点在于人脸网格;
      • 开启仿真模式,便于从不同角度查看结果;
      • 开启全部4个人脸网格。

      得到如下默认人脸:

       
       

      第2步 - 添加一个按钮“颜色”

      请添加“控件”扩展,然后添加一个按钮控件。

      默认情况下,按钮被添加到舞台中心。当你用工具“控件位置”把按钮拖到左上角,添加按钮的积木将自动更新:

       
       

      第3步 - 更改人脸颜色

      每当点击按钮“颜色”,人脸颜色就改变。要做到这一点,我们需要用积木“当控件( )被点击时”,然后在下面添加积木“更新颜色”。

      因为选择了“全部”区域,整个人脸都会变成同一种颜色:

       
       

      第4步 - 设置随机颜色

      大家可以不用一种固定的颜色,而是每当点击按钮时随机选择颜色。做法就是,用一个报表积木“颜色”嵌套一个积木“取随机数”:

      现在我们可以重复点击按钮“颜色”来更换颜色:

       
       

      第5步 - 每个区域设置不同颜色

      大家可以用“区域”选项来控制人脸的哪一部分更改颜色。“主要”区域表示脸,“第二”区域表示眼睛,“第三”区域表示嘴,“第四”区域表示嘴唇。

      比如,我们可以用4个积木“更新颜色”,并在每个积木中选择不同区域:

       
       

      第6步 - 为“老虎”面孔添加一个按钮

      绘制的第2个人脸效果,我们把人脸换成老虎。请添加一个按钮“老虎”,然后拖到第一个按钮后面:

       
       

      第7步 - 添加“老虎”纹理

      当点击这个新按钮时,我们要为人脸添加一个新面孔。我们可以在网上找一个老虎脸,或者其他动物。例如,下面这个老虎脸就比较好:

      https://www.clipartmax.com/middle/m2i8H7b1A0N4G6m2_tiger-face-icon-tiger-animals-png-icon/

      你要下载这个图像文件,然后将其上传为项目造型。

      把这做完以后,就可以用积木“使用造型更新纹理”把这个纹理应用到整个人脸(全部区域)。注意,有些图像上下颠倒显示,所以要旋转180度。

      现在就得到如下一张老虎脸:

       
       

      第8步 - 调整“老虎”纹理

      老虎脸还有个大问题:我们只用了老虎脸的中间那一块。为了用上老虎脸的更多部分,我们可以用一个小技巧。

      在造型编辑器中,将老虎造型转化为“矢量图”,然后缩小。之后,在老虎脸周围画一个透明的矩形(无填充)。这会让老虎脸缩小,以便于适配人脸网格。

       
       

      第9步 - 测试真实摄像头

      现在我们的编程快要完成了,我们可以开始测试真实摄像头了,并做调试。对此,我们只需要将“仿真模式”切换为“否”。

      最终结果如下:

       
       

      创意扩展

      大家可以把人脸网格绘制成无限种样式。一些创意思路如下:

      • 透明颜色:大家可以尝试人脸网格使用透明颜色,这样的话仍然可以看到真实人脸。
      • 文字或物体:大家可以尝试在人脸上写一些文字或者画一个小物体(比如一棵树)。
      • 其他动物面孔:大家可以尝试将老虎造型换成其他动物面孔。
      1 Reply Last reply Reply Quote 0
      • First post
        Last post