使用Unity制作简单的宠物精灵GO(一)
2016-10-01 15:23
711 查看
目标
这篇文章很简单,就是帮助你使用Unity API 调用设备的摄像头,这其实很简单(代码不超过15行),但是克森还是会很详细的介绍。
首先创建一个 Unity 项目工程,命名由你来定:
点击创建工程后,在 Hierarchy 面板下创建一个平面(Plane),然后设置一下该平面的信息,如下所示:
接下来,设计一下 Assete 文件夹的层级关系(克森的习惯):
然后再 Scripts 文件夹下创建一个新的 C# 脚本,命名由你来定,在这里克森把它命名为“ARCamera”,并且将该脚本添加到平面上,然后双击打开脚本,添加如下代码:
对的,你没看错,这篇文章的重点就是这么点代码。
从上面代码来看,陌生的东西也就是:WebCamDevice、WebCamTexture 这两个。
让我们从它们的 API 入手。
WebCamDevice
从上图便知,该结构体是用来描述摄像机信息的(描述个鬼呀,也就 name 这个变量可以描述描述),由于该结构体只能描述一个摄像机设备,因此我们在代码里使用了 WebCamDevice[] 数组来接受多个设备信息。
好的,这个类主要是用来将实时视频输入到一个影片纹理(Movie Texture)上。
好了,大概了解之后,接下来让我们分析一下该代码中最主要的一个函数 PlayAR()。
代码解析
第一行代码,用变量 devices(WebCamDevice数组)接受来自设备上当前存在的可用的摄像机设备(使用WebCamTexture);
第二行代码,用变量 deviceName 接受用户当前使用的设备名字,通过 devices[deviceNumber].name 来选择设置。你可以使用一个输出语句来输出该设置的名字。如下图所示:
第三行代码,通过实例化 wct 来创建一个网络摄像机纹理。WebCamTexture 的构造函数如下图所示:
第四行代码,把当前平面的材质的纹理设置为刚刚所创建出来的网络摄像机纹理(其实就是一个实时的影片纹理)。
第五行代码,开启摄像机。
好吧,以上就是该篇的全部内容,虽然很简单蛤,但是这也是也个开端。
是时候点击一波 Play 按钮了:
转载自公众号:Unity墙外的世界
这篇文章很简单,就是帮助你使用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制作简单时钟动画
- 关于Unity中使用刚体制作简单跑酷案例
- 简单两步使用Unity制作ZigZag游戏
- 使用Unity制作一个简单的聊天室
- 使用Unity制作GTA武器菜单的简单思路
- Unity 小地图制作插件NJG MiniMap的简单使用
- 使用.NET自带的功能制作简单的注册码
- Unity 学习笔记(1) — Unity简介及简单使用
- XNA Game Studio是一套有着强大功能和简单界面的游戏制作平台,游戏开发商和游戏玩家都可以使用这套工具开发针对Windows XP以及Xbox360的游戏,XNA Game Studio分为两种版本,一种是面向初学者的EXPRESS版本,还有一种
- XNA Game Studio是一套有着强大功能和简单界面的游戏制作平台,游戏开发商和游戏玩家都可以使用这套工具开发针对Windows XP以及Xbox360的游戏,XNA Game Studio分为两种版本,一种是面向初学者的EXPRESS版本,还有一种是面向专业用户的专业版。用户使用EXPRESS版本开发游戏完全免费,并且可以随意在PC上发行,不过用该工具开发的游戏若是在360上网络发行,就需要交纳99美元的年费。
- 使用Silverlight制作简单的小游戏—Jewellery (Part 2)
- 在使用jQuery+HTML+Javascript的简单例子---很容易的制作双色表格
- 制作演示的福音,推荐屏幕录制软件:Adobe Captivate 2,特意使用这个录制一个简单的录制使用过程,让大家有直观印象
- 使用Silverlight制作简单的小游戏—Jewellery (Part 1)
- 使用Silverlight制作简单的小游戏—Jewellery (Part 3)
- 使用IEnumerator,IEnumerable接口制作一个简单的迭代器
- [原创].怎样制作一个简单ip,以方便在Quartus II和Nios II中使用?
- 简单示例:使用XML Schema + XSL + XML制作简历
- 使用.NET自带的功能制作简单的注册码
- 使用WiX制作简单MSI安装程序