[Investor Relations]  |  官方微博

Unity3D培训

美国上市公司 · 亿元级外企unity3D培训企业

  • 全国服务监督电话4001118989
  • 使用Unity制作无窗口应用效果-unity3d培训机构

    发布:Unity3D培训  来源:Unity3D教程  时间: 2016年12月15日

  • 今天的教程只针对Windows平台。我们可以结合摄像机的OnRenderImage事件和一些Windows底层API调用来实现无窗口应用效果...

  • 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培训机构

网站导航
2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56