查看原文
其他

Tilt Brush Unity SDK:在Unity中使用Tilt Brush

2017-03-08 Unity官方 Unity官方平台

《Tilt Brush》是一款VR绘图应用,它提供了包括太空在内不同风格的3D空间用来作画,同时还提供了多种样式的笔刷,比如彩虹、发光带、星星、烟雾甚至枫叶。本文我们一起来看看如何利用Tilt Brush Unity SDK在Unity中使用Tilt Brush。


关于Tilt Brush Unity SDK


Tilt Brush Unity SDK是为设计在Unity里使用Tilt Brush进行草图创建的工具,此工具易于上手,让艺术家以全新的方式来实现创意。 


Tilt Brush Unity SDK包括以下几个部分:

  • 《Tilt Brush》的初始材质和脚本,将自动绑定到导入的草图,以便在Unity中的效果与在《Tilt Brush》中的草图一致。

  • 《Tilt Brush》的音频响应功能,让画刷响应音乐。

  • 可重用的示例脚本,增加交互或利用导入的草图制作动画。

  • 《Tilt Brush》内容的妙用。


使用前须知


目前Tilt Brush Unity SDK还处于内测阶段。使用最新版SDK时,请参照以下指南:

  • 需要Unity 5.4.2f2或更高版本。

  • 需要Tilt Brush v7.0或更高版本。

  • 不支持基于粒子系统的画刷:Bubbles(泡沫),Dots(点),Embers(余烬(余火)),Smoke(烟雾),Snow(雪花),Stars(星星)。

  • 这些画刷外观可能不同:Pinched Flat,Pinched Marker,Electricity,Hyper Grid,Toon,Light Wire,Rainbow

下载与导入


请点击【阅读原文】下载最新版Tilt Brush Unity SDK。您会在下载好的文件中看到一个Unity资源包,它就是SDK,导入方法如下:

  • 打开Unity。

  • 新建项目或打开已有项目。

  • 双击下载好的. unitypackage文件,或者点击菜单项Assets > Import Package > Custom Package。

  • 导入Unity资源包。

 

下载并导入SDK后,我们开始导入草图。


导入草图


要在Unity中使用《Tilt Brush》的草图,需要将草图导出为FBX文件并复制到项目中。Tilt Brush SDK会在导入过程中处理文件并指定正确的材质。

 

导出草图的步骤如下:

  • 打开《Tilt Brush》,加载草图。

  • 单击菜单设置区域的[...]图标。

  • 单击Labs图标。

  • 在弹出对话框中单击Export。

 

导入草图到Unity场景的步骤如下:

  • 将.FBX文件(Windows:My Documents/Tilt Brush/Exports 或Mac: Documents/Tilt Brush/Exports)复制到Unity项目。

  • 将.FBX文件从项目视图拖至层级视图。

 

注意:Tilt Brush Unity SDK不会加载.tilt文件;不需要复制FBX包含的纹理贴图到Unity项目。


提示:可以从SDK提供标准的Tilt Brush环境开始学习。Tilt Brush环境位于TiltBrushExamples/Environments/Standard目录下。


示例


“TiltBrushExamples”文件夹下的示例展示了在Unity中使用《Tilt Brush》草图及其它内容的不同方法。


Environments / Standard

该场景包含初始的Tile Brush环境和灯光设置,非常适合以此场景开始学习在Unity中使用《Tilt Brush》草图。



Sequence - Looping Animations

使用多个草图的示例,利用Sequence脚本创建了火焰动画。




Sequence - Audio Reactive

与音乐节拍同步的动画示例!




下面是VR示例,使用VR示例之前请先注意以下几点:

  • 下载SteamVR package并导入到工程项目,使用SteamVR推荐的设置。

  • [CameraRig]预制件添加到场景。


VR/Story - Teleporting

将鼠标悬停在箭头上并使用Trigger按钮来穿过地牢。



将传送点放在草图周围进行探索


VR/Story - Custom Triggers

与草图进行交互,讲述一个古怪的故事。



自定义触发器,放置于草图周围来触发场景切换事件


提示


音频反应

可以在场景里根据音频来摆动画刷:

  • [TiltBrush Audio Reactivity]预制件拖入场景。

  • 如果场景中没有Audio Source,则添加一个。


如果画刷没有移动,可以在运行模式下选中预制体查看着色器接收到的音频数据。



发光


通过添加Unity内置的着色器Bloom来实现《Tilt Brush》的视觉效果:

  • 导入Standard Assets的Effect插件包(Assets menu / Import Package / Effects)。

  • 重要注意:勾选Camera的HDR。

  • 添加Bloom后处理效果,参考推荐设置如下:




脚本示例


Tilt Brush Unity SDK含对草图重用的脚本示例:

  • 创建动画循环。

  • 草图不同地点之间传送。

  • 创作交互性故事。

  • 创建时间轴动画。

  • 将草图分成各个部分(实验)。


由于篇幅有限,我们着重介绍一下如何创作交互故事和创建时间轴动画这两个部分。如果您想查看全部示例,请点击【阅读原文】。


创建交互性VR故事或探索草图


请注意,使用VR脚本步骤如下:

  • 下载SteamVR package并导入项目,使用SteamVR默认推荐设置。

  • 将[CameraRig]预制件添加到场景。


可以通过视角预定好的传送点来探索草图,或者通过Teleport脚本在不同草图间移动。这可用于:

  • 探索大型草图。

  • 创建线性或分支交互性故事。

  • 在不同草图之间导航。



使用传送点探索草图


草图之间进行传送

创建独立场景:

  • 创建空游戏对象。

  • 添加Story Scene组件。

  • 创建子对象并附带Story Teleport Trigger组件,将它设置为不同场景的传送点。

  • 为子对象添加所有草图和游戏对象:



层级视图结构如下:

  • 场景1:草图;传送到场景2的传送触发灯光;物体等等...

  • 场景2:草图;传送到...的传送触发。

 

最后,设置传送点之间导航的方法。


视点之间传送

想让玩家移动到某个点,步骤如下:

  • 创建空游戏对象。

  • 添加Story Teleport Point组件。

 

最后,设置视点之间导航的方法。场景视图会显示点与点之间的连线方式。


与另外两点相连的传送点(作者 Scott Campbell)


点或者场景之间导航

要在点到点之间移动,需要在它们之间设置传送点。Tilt Brush Unity SDK包含几个示例脚本:


  • 使用玩家周围的箭头:

    创建空游戏对象

    添加Story Arrow Navigation组件:运行场景,每个可以传送的点,都会在玩家周围出现箭头。鼠标悬浮在传送点上面,利用触发器传送到另一点。

  • 使用激光指针:

    将Laser Pointer组件添加到控制器,步骤如下:

    将[CameraRig]预制件添加到场景。

    为左右手控制器分别添加SteamVR_Laser Pointer组件并设置颜色。

    在传送点添加图标步骤如下:

    设置图标纹理和材质。




当激光指针悬浮在传送点图标并单击触发器时,玩家将被瞬移至传送点。


  • 手动放置传送触发器

    - 创建空游戏对象并添加Story Teleport Trigger组件。

    设置触发器的触发时间与传送的目标点(查看下方Story Teleport Trigger组件介绍)

    调整碰撞体设置触发器被激活的位置。


提示

  • 创建分支故事时,为每个场景添加多个触发点。

  • 通过添加返回前一个或下一个场景的触发器,为每个场景创建翻页效果。

  • 在场景里添加传送点 ,传送至同一场景的特定地点。

 

有关参考文档,请您点击【阅读原文】查看更多信息。


创建过场动画


请注意:要使用Cinema  Director工具栏编辑时间轴,可以将不同草图按帧分类后,插入时间轴。创建时间轴步骤如下:

  • 导出Tilt Brush每一帧并复制到工程项目。

  • 右键单击包含所有帧的文件夹(以及子文件夹)。

  • 单击Create Cutscene。




  • 可以看到弹出的Director窗口,每一帧均被插入到时间轴。




提示:可以通过选中序列后单击Turn into Cutscene按钮,将动画序列转换为时间轴。


总结


本文主要为大家讲述了Tilt Brush Unity SDK在Unity中的使用方法,从下载和导入到实际案例与问题,希望能对您的开发有所帮助。更多详情请访问Unity官方中文社区(forum.china.unity3d.com)。


近期活动

  • Unite 2017 Shanghai将于5月11 - 13日在上海国际会议中心举行!不到5折的超值早鸟票仅剩2天,更多信息请访问Unite 2017 Shanghai官方网站(unite2017.csdn.net)!





点击“阅读原文”访问Unity官方中文社区!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存