文档章节

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

Genesis-3D
 Genesis-3D
发布于 2014/01/23 13:04
字数 566
阅读 44
收藏 0

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

相机的切换与视野调整

素材资源   工程文件

正如电影中的镜头用来将故事呈现给观众一样,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.发布并运行游戏。如图所示点击发布并运行按钮,我们可以生成游戏程序,尝试操作测试其功能的实现。

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

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

官方千人大群:59113309   135439306

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

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

© 著作权归作者所有

Genesis-3D
粉丝 12
博文 34
码字总数 33360
作品 0
佛山
私信 提问
《Genesis-3D游戏引擎系列教程-进阶篇》3:转动的球体

注:本系列进阶教程仅针对引擎编辑器:v1.2.2及以下版本 转动的球体 资源下载 工程文件 当我们掌握了一些Genesis-3D编辑器的操作技巧之后,现在来尝试着做一个非常简单的游戏,一个转动的球体...

Genesis-3D
2014/01/20
273
0
《Genesis-3D游戏引擎系列教程-进阶篇》2:声音

注:本系列进阶教程仅针对引擎编辑器:v1.2.2及以下版本 声音 众所周知,声音系统是一个游戏中非常重要的组成部分,优秀的游戏音乐是许多玩家能够长时间享受其中的重要因素。因此,熟悉和使用...

Genesis-3D
2014/01/20
60
0
《Genesis-3D游戏引擎系列教程-进阶篇》5:场景-水

注:本系列进阶教程仅针对引擎编辑器:v1.2.2及以下版本 场景水 资源下载 工程文件 这是一个简单的场景水实例,制作了一个具有反射和折射效果的场景水,帮助用户学习如何在Genesis-3D编辑器中...

Genesis-3D
2014/01/21
67
0
《Genesis-3D游戏引擎系列教程-进阶篇》9:动画融合

注:本系列进阶教程仅针对引擎编辑器:v1.2.2及以下版本 动画融合 素材资源 工程文件 在本实例中,我们分别制作了融合后的人物动画和未融合的人物动画,通过两者的对比,展示了Genesis-3D编辑...

Genesis-3D
2014/01/22
230
0
《Genesis-3D游戏引擎系列教程-高级篇》2:自定制水

注:本系列进阶教程仅针对引擎编辑器:v1.2.2及以下版本 自定制水 素材资源 工程文件 这是一个自定制水的实例,本实例通过定制shader和脚本,展现出一个自定义的水面,帮助用户熟悉在Genesis...

Genesis-3D
2014/01/24
134
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 熟悉的味道,难道这就是恋爱的感觉

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @xiaoshiyue :好久没分享歌了分享张碧晨的单曲《今后我与自己流浪》 《今后我与自己流浪》- 张碧晨 手机党少年们想听歌,请使劲儿戳(这里)...

小小编辑
今天
223
8
SpringBoot中 集成 redisTemplate 对 Redis 的操作(二)

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二) List 类型的操作 1、 向列表左侧添加数据 Long leftPush = redisTemplate.opsForList().leftPush("name", name); 2、 向列表右......

TcWong
今天
18
0
排序––快速排序(二)

根据排序––快速排序(一)的描述,现准备写一个快速排序的主体框架: 1、首先需要设置一个枢轴元素即setPivot(int i); 2、然后需要与枢轴元素进行比较即int comparePivot(int j); 3、最后...

FAT_mt
昨天
4
0
mysql概览

学习知识,首先要有一个总体的认识。以下为mysql概览 1-架构图 2-Detail csdn |简书 | 头条 | SegmentFault 思否 | 掘金 | 开源中国 |

程序员深夜写bug
昨天
11
0
golang微服务框架go-micro 入门笔记2.2 micro工具之微应用利器micro web

micro web micro 功能非常强大,本文将详细阐述micro web 命令行的功能 阅读本文前你可能需要进行如下知识储备 golang分布式微服务框架go-micro 入门笔记1:搭建go-micro环境, golang微服务框架...

非正式解决方案
昨天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部