《Genesis-3D游戏引擎系列教程-进阶篇》11:相机

注:本系列进阶教程仅针对引擎编辑器:v1.2.2及以下版本

相机的切换与视野调整

素材资源   工程文件

正如电影中的镜头用来将故事呈现给观众一样,Genesis-3D的相机用来将游戏世界呈现给玩家。相机是为玩家捕捉和显示世界的一种装置。现在我们来学习如何切换相机的类型与调整视野,这可以让你的游戏外观与众不同。

1.双击打开我们提供给你的工程。

《Genesis-3D游戏引擎系列教程-进阶篇》11:相机_第1张图片

2.在环境面板中打开太阳光,选中“”。

《Genesis-3D游戏引擎系列教程-进阶篇》11:相机_第2张图片

3.调整相机的位置,使场景在相机的视野范围内。

《Genesis-3D游戏引擎系列教程-进阶篇》11:相机_第3张图片

4.创建脚本。点击工程面板下的创建按钮,选择c#脚本。

《Genesis-3D游戏引擎系列教程-进阶篇》11:相机_第4张图片

《Genesis-3D游戏引擎系列教程-进阶篇》11:相机_第5张图片

5.挂载脚本。将新创建的脚本文件拖拽到右侧Camera属性栏内,即可将脚本挂载在Camera上面。

《Genesis-3D游戏引擎系列教程-进阶篇》11:相机_第6张图片

6.用MonoDevelop打开脚本。在资源管理器中选中camera脚本,点击右键,选择“在资源管理器中显示资源”。

《Genesis-3D游戏引擎系列教程-进阶篇》11:相机_第7张图片

《Genesis-3D游戏引擎系列教程-进阶篇》11:相机_第8张图片

7.编写代码。我们想要实现一项简单的功能:点击Space键来切换相机投影类型为“透视”或“正交”;点击w键和s键来切换相机的视野,具体代码如下。

01 using System;
02 using System.Runtime.CompilerServices;
03 using ScriptRuntime;
04 namespace ScriptRuntime
05 {
06     public class Camera : ScriptableClass
07     {
08              
09         public override void OnLoad()
10         {
11              
12         }
13              
14              
15         public override void OnFrame()
16         {
17  
18  
19             if (Input.KeyPressed(Code.W) )
20             {
21                 float fov = Owner.Camera.Fov ;
22                 Owner.Camera.SetupPerspectiveFovRH(100.0f , 1.0f, 5000.0f);
23             }
24  
25             if (Input.KeyPressed(Code.S))
26             {
27                 float fov = Owner.Camera.Fov ;
28                 Owner.Camera.SetupPerspectiveFovRH(20.0f , 1.0f, 5000.0f);
29             }
30  
31             if (Input.KeyDown(Code.Space))
32             {
33                 if (Owner.Camera.IsPerspective)
34                 {
35                     Owner.Camera.SetupOrthogonal(5.0f,1.0f,5000.0f);
36                 }
37                 else
38                 {
39                     Owner.Camera.SetupPerspectiveFovRH(25.0f,1.0f,5000.0f);
40                 }
41             }
42         }
43     };
44 }

8.发布并运行游戏。如图所示点击发布并运行按钮,我们可以生成游戏程序,尝试操作测试其功能的实现。

《Genesis-3D游戏引擎系列教程-进阶篇》11:相机_第9张图片

引擎官方网站:http://www.genesis-3d.com.cn/

官方论坛:http://bbs.9tech.cn/genesis-3d/

官方千人大群:59113309   135439306

YY频道-游戏开发大讲堂(完全免费,定期开课):51735288 

Genesis-3D开源游戏引擎:游戏起源,皆因有我!!!

你可能感兴趣的:(游戏开发,游戏编程,游戏设计,游戏制作,Genesis-3D)