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

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

相机的切换与视野调整

素材资源   工程文件

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

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

23130424_hZs3.png

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

23130425_fOuP.png

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

23130425_npnh.png

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

23130425_Zlwa.png

23130426_4cpl.png

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

23130426_KjxB.png

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

23130426_syQI.png

23130426_XfmA.png

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

23130426_wpt0.png

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

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

官方千人大群:59113309   135439306

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

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

转载于:https://my.oschina.net/Genesis3D/blog/195264

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值