使用Unity制作简单的宠物精灵GO(一)

目标

这篇文章很简单,就是帮助你使用Unity API 调用设备的摄像头,这其实很简单(代码不超过15行),但是克森还是会很详细的介绍。


首先创建一个 Unity 项目工程,命名由你来定:


点击创建工程后,在 Hierarchy 面板下创建一个平面(Plane),然后设置一下该平面的信息,如下所示:

接下来,设计一下 Assete 文件夹的层级关系(克森的习惯):


然后再 Scripts 文件夹下创建一个新的 C# 脚本,命名由你来定,在这里克森把它命名为“ARCamera”,并且将该脚本添加到平面上,然后双击打开脚本,添加如下代码:

using UnityEngine;
using System.Collections;

public class ARCamera : MonoBehaviour
{
    //用于切换设备
    public int deviceNumber;
    //用于获取摄像机设备
    public WebCamDevice[] devices;
    //用于生成 Movie Textur
    public WebCamTexture wct;

    //用于获取设备的名字
    private string deviceName;
    //用于设置材质
    private Renderer arRenderer;

    void Start ()
    {
        arRenderer = GetComponent<Renderer>();
        PlayAR();
    }

    //在程序关闭时关闭摄像机
    void OnDisable ()
    {
        StopAR();
    }

    //用于关闭摄像机
    public void StopAR ()
    {
        wct.Stop();
    }

    //用于开启摄像机
    public void PlayAR ()
    {
        devices = WebCamTexture.devices;
        deviceName = devices[deviceNumber].name;
        wct = new WebCamTexture(deviceName, 600, 600, 30);
        arRenderer.material.mainTexture = wct;
        wct.Play();
    }
}

对的,你没看错,这篇文章的重点就是这么点代码。


从上面代码来看,陌生的东西也就是:WebCamDevice、WebCamTexture 这两个。


让我们从它们的 API 入手。


WebCamDevice


从上图便知,该结构体是用来描述摄像机信息的(描述个鬼呀,也就 name 这个变量可以描述描述),由于该结构体只能描述一个摄像机设备,因此我们在代码里使用了 WebCamDevice[] 数组来接受多个设备信息。


好的,这个类主要是用来将实时视频输入到一个影片纹理(Movie Texture)上。


好了,大概了解之后,接下来让我们分析一下该代码中最主要的一个函数 PlayAR()。


代码解析
第一行代码,用变量 devices(WebCamDevice数组)接受来自设备上当前存在的可用的摄像机设备(使用WebCamTexture);
第二行代码,用变量 deviceName 接受用户当前使用的设备名字,通过 devices[deviceNumber].name 来选择设置。你可以使用一个输出语句来输出该设置的名字。如下图所示:

第三行代码,通过实例化 wct 来创建一个网络摄像机纹理。WebCamTexture 的构造函数如下图所示:
第四行代码,把当前平面的材质的纹理设置为刚刚所创建出来的网络摄像机纹理(其实就是一个实时的影片纹理)。
第五行代码,开启摄像机。

好吧,以上就是该篇的全部内容,虽然很简单蛤,但是这也是也个开端。


是时候点击一波 Play 按钮了:



转载自公众号:Unity墙外的世界

当然可以!Unity是一个非常强大的3D游戏引擎,可以用来制作各种类型的游戏,包括FPS、RPG、赛车、模拟等等。下面是一些基本步骤和建议,帮助你使用Unity制作一款3D游戏: 1. 下载Unity并安装。你可以从官网(https://unity.com/)下载最新版本的Unity,并按照提示安装到你的电脑上。 2. 学习Unity的基本知识。在开始制作游戏之前,你需要了解Unity的基本概念和工具。可以参考Unity官方文档(https://docs.unity3d.com/Manual/index.html)和视频教程来学习。 3. 设计游戏场景。在Unity中,你可以使用场景编辑器来创建和编辑游戏场景。可以使用Unity自带的资源或者下载第三方资源来装饰场景,如树、草、建筑等等。 4. 创建游戏对象。在Unity中,你可以创建各种游戏对象,如角色、道具、怪物等等。可以使用Unity自带的3D模型或者导入自己制作的模型。 5. 编写游戏逻辑。使用C#或JavaScript等编程语言,编写游戏逻辑代码。例如,控制角色移动、攻击、跳跃等等。 6. 调试和测试。在制作游戏的过程中,需要不断地进行调试和测试,发现并修复bug和问题。 7. 发布游戏。在完成游戏制作后,可以将游戏发布到各种平台,如PC、移动设备、网页等等。可以通过Unity提供的发布工具来发布游戏。 以上是一些基本的步骤和建议,希望能够帮助你入门Unity制作3D游戏。如果你需要更详细的指导和教程,可以在网络上搜索相关的资源,或者参考Unity官方文档和社区。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值