Unity3D培训
美国上市Android培训机构

400-111-8989

热门课程

使用Unity制作无窗口应用效果-unity3d培训机构

  • 时间:2016-12-15
  • 发布:Unity3D培训
  • 来源:Unity3D教程

unity3d培训机构导读:有段时间很流行不带窗口的应用,比如什么满屏乱爬的蜘蛛啦、满屏飘洒的雪花之类的。据说如果是爱心还可以用来表白呢~~~今天就教大家如何使用Unity来制作此类应用,也借此来表达一下蛮牛酱此刻虽身处工位但仍雀跃在假期的内心~

既然说到窗口,大家可能有所察觉了,今天的教程只针对Windows平台。我们可以结合摄像机的OnRenderImage事件和一些Windows底层API调用来实现该效果。

首先呢,需要创建一个自定义Shader,奉上代码:

【使用unity制作无窗口应用】
【使用unity制作无窗口应用】

代码比较简单易懂,就是输入一张纹理,一个关键颜色值以及相应的阈值,用于将指定的范围变透明(也就是大家所熟知的“抠图”)。

接下来新建一个材质并使用上面的Shader,选定你想要替换的关键颜色值(必要时也可改变阈值)。注意这里不用手动指定纹理,我们会将摄像机的输出应用到该纹理,也就是下一步要做的事情。

然后新建如下脚本绑定到主摄像机:

【使用unity制作无窗口应用】
【使用unity制作无窗口应用】

上面的代码用到了InterOpServices命名空间,以便调用一些Windows底层API从而改变Unity应用在运行时的窗口属性。然后使用OnRenderImage事件将摄像机的输出应用到RenderTexture。将使用了上面自定义Shader的材质赋给脚本中的m_Material字段,这样我们就可以开始抠图了。

然后,重点来了:将摄像机的背景颜色改为与透明材质中_TransparentColourKey属性一样。

【使用unity制作无窗口应用】

你可以随便设置该颜色,但两边必须一致。

最后就是生成和运行啦。因为用到了RenderTexture,所以如果使用Unity4.x必须为Pro版,而Unity5.x任意版本均可。

下图是Unity示例项目Stealth中的Ethan在桌面上走动。

【使用unity制作无窗口应用】

【使用unity制作无窗口应用】

【使用unity制作无窗口应用】

【使用unity制作无窗口应用】


上一篇:unity3d培训机构教你用Unity3D制作360°全景照片
下一篇:如何让unity中物理效果更加逼真-unity培训机构

Unity3D 用触摸和鼠标输入缩放相机

Unity3D学习从基础开始-JsonUtility的使用

Unity3D与VR虚拟现实之间的区别和联系

unity3d教程:物体多种移动方式

选择城市和中心
贵州省

广西省

海南省

台湾