注:本系列进阶教程仅针对引擎编辑器:v1.2.2及以下版本
相机的切换与视野调整
素材资源 工程文件
正如电影中的镜头用来将故事呈现给观众一样,Genesis-3D的相机用来将游戏世界呈现给玩家。相机是为玩家捕捉和显示世界的一种装置。现在我们来学习如何切换相机的类型与调整视野,这可以让你的游戏外观与众不同。
1.双击打开我们提供给你的工程。
![23130424_hZs3.png](http://static.oschina.net/uploads/img/201401/23130424_hZs3.png)
2.在环境面板中打开太阳光,选中“√”。
![23130425_fOuP.png](http://static.oschina.net/uploads/img/201401/23130425_fOuP.png)
3.调整相机的位置,使场景在相机的视野范围内。
![23130425_npnh.png](http://static.oschina.net/uploads/img/201401/23130425_npnh.png)
4.创建脚本。点击工程面板下的创建按钮,选择c#脚本。
![23130425_Zlwa.png](http://static.oschina.net/uploads/img/201401/23130425_Zlwa.png)
![23130426_4cpl.png](http://static.oschina.net/uploads/img/201401/23130426_4cpl.png)
5.挂载脚本。将新创建的脚本文件拖拽到右侧Camera属性栏内,即可将脚本挂载在Camera上面。
![23130426_KjxB.png](http://static.oschina.net/uploads/img/201401/23130426_KjxB.png)
6.用MonoDevelop打开脚本。在资源管理器中选中camera脚本,点击右键,选择“在资源管理器中显示资源”。
![23130426_syQI.png](http://static.oschina.net/uploads/img/201401/23130426_syQI.png)
![23130426_XfmA.png](http://static.oschina.net/uploads/img/201401/23130426_XfmA.png)
7.编写代码。我们想要实现一项简单的功能:点击Space键来切换相机投影类型为“透视”或“正交”;点击w键和s键来切换相机的视野,具体代码如下。
02 | using System.Runtime.CompilerServices; |
04 | namespace ScriptRuntime |
06 | public class Camera : ScriptableClass |
09 | public override void OnLoad() |
15 | public override void OnFrame() |
19 | if (Input.KeyPressed(Code.W) ) |
21 | float fov = Owner.Camera.Fov ; |
22 | Owner.Camera.SetupPerspectiveFovRH(100.0f , 1.0f, 5000.0f); |
25 | if (Input.KeyPressed(Code.S)) |
27 | float fov = Owner.Camera.Fov ; |
28 | Owner.Camera.SetupPerspectiveFovRH(20.0f , 1.0f, 5000.0f); |
31 | if (Input.KeyDown(Code.Space)) |
33 | if (Owner.Camera.IsPerspective) |
35 | Owner.Camera.SetupOrthogonal(5.0f,1.0f,5000.0f); |
39 | Owner.Camera.SetupPerspectiveFovRH(25.0f,1.0f,5000.0f); |
8.发布并运行游戏。如图所示点击发布并运行按钮,我们可以生成游戏程序,尝试操作测试其功能的实现。
![23130426_wpt0.png](http://static.oschina.net/uploads/img/201401/23130426_wpt0.png)