Genesis-3D 入门教程—25.相机的切换与视野调整

本文介绍如何在Genesis-3D引擎中通过编写C#脚本来实现相机类型的切换及视野调整,包括设置透视和平行投影,以及改变视场角。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该文章转载自Genesis-3D官网,

更多教程请访问Genesis-3D官网:http://www.genesis-3d.com.cn


相机的切换与视野调整

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

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

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

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

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

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

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

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值