这段教程介绍如何在Unity中使用WebGL开发一个灵活且可定制的自由摄影机(Free Camera)系统,适用于各种类型的2D和3D项目。
为了实现在浏览器上使用WebGL进行三维交互的功能,我遇到了无法跨平台使用的脚本问题,因此在Unity中用C#编写了一个自由摄影机的插件。
该插件的操作方法如下:将此脚本挂载到一个空物体上,并把摄像机设为这个空物体的子对象。操作方式包括:
- 在电脑端使用鼠标左键旋转、右键平移,滚轮缩放视图;按住中键可以回到初始视角。
- 使用触摸屏时:单指滑动可旋转视图,双指拖拽进行平移,两手指之间的距离变化用于缩放视图;四指同时点击屏幕则恢复到初始视角。
由于个人技术经验有限,在开发过程中经历了多次测试和改进。最终这个脚本实现了预期的功能,并且可以在有鼠标的情况下使用鼠标的操作方式,在触摸屏设备上使用触控手势进行交互。如果设备同时具有鼠标和触摸功能,比如我的壹号本,在火狐浏览器中可以灵活切换两种输入模式;然而在Edge浏览器里由于不支持触屏操作,因此只能通过鼠标来控制视图了。