如何在运行时做出一个像 UnityEdior Scene视窗的右上角表示方位的那个 Gizmo 呢?看这里!
GitHub 上的工程多如繁星,有些好的仓库,但凡不经意间错过了就很难找回,故稍作采撷,希望能帮助到有心人。
本文集以一个小的功能点为单位行文,也便于拾取罢!
简介:
笔者今天推荐的仓库叫 UnityRuntimeSceneGizmo - 运行时 场景方位Gizmo。
如其名,他就是为了在运行时整出一个像编辑器 Scene 视窗右上角那样的 Gizmo 功能的。
功能:
- 跟随场景中相机的旋转
- 点击 Gizmo 轴 ,产生对应事件,示例中为驱动MainCamera
- 点击 Gizmo 中心,切换相机平视/透视模式(ISO/Persp)
使用:
一个脚本都不需要写,参考 Demo 开袋即食,非常简单!
演示:
RuntimeGizmo链接:
yasirkula/UnityRuntimeSceneGizmo: Interactable runtime scene gizmo for uGUI
结语:
-
功能是个小功能,但是用心看了演示的同学肯定会有所斩获:
- 譬如它的相机的透视/平视模式是怎么平滑过渡的,为什么我切换就很生硬?
- 他这个是不是 小地图原理?笔者给出的答案是:“YES”,那他又是怎么完成点击交互的哪?
-
如果看了源码呢,你还会有收获:
-
譬如下图展示的使用 for 遍历的 Index 转枚举结合上下文代码真的不要太巧妙的:
- 当然还有句矩阵运算啦,射线检测啦,位运算啦,等等
- 当然笔者还瞅见了一个不常用但很好的用法,那就是为游戏对象运行时动态指定不存在于编辑器预设的 Layer 值,简直就是灵魂手法 。
-
-
感兴趣的同学可以拿下源码瞅瞅。。。
扩展阅读:
Available on Asset Store: https://www.assetstore.unity3d.com/en/#!/content/123040
Forum Thread: https://forum.unity.com/threads/runtime-scene-gizmo-for-ugui-open-source.540011/
本文集持续更新ing,喜欢记得点赞关注哦!
网友评论