首页 > 分享 > 使用Unity制作简单的宠物精灵GO(一)

使用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;

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导出Android制作桌面宠物精灵需要背景透明
使用Unity ML
unity 桌面宠物
[Unity]怎么做个桌面宠物精灵desktop mascot
Unity宠物跟随
使用unity实现桌面宠物
DyberPet:一个基于Unity的虚拟宠物养成游戏框架
城市精灵GO宠物八大属性介绍
Unity 制作萌系live2d桌宠:屏幕自适应+交互
精灵宝可梦GO精灵技能排行 pokemon go宠物技能推荐

网址: 使用Unity制作简单的宠物精灵GO(一) https://m.mcbbbk.com/newsview797395.html

所属分类:萌宠日常
上一篇: 宠物小精灵游戏:探索宠物的救赎之
下一篇: 口袋宠物精灵:城市神奇妖怪抓宠宝