Flightgear提供了非常灵活的模块化功能

这里就简要记录一下视角切换功能

首先,需要了解一下Flightgear中的property tree的主要内容,这里暂略。

http://wiki.flightgear.org/PropertyList_XML_files

然后,我们看官方说明(http://wiki.flightgear.org/Howto:Configure_camera_view_windows)

FlightGear's XML-configurable camera view 主要支持两种模式:

  1. 假如你电脑连接了多个独立显示器(比如,你不能在显示器上前后拖拽窗口,也不能创建一个横跨多个显示器的大窗口),那你就可以配置FlightGear来打开一个分离的窗口,每块上面都显示一个特定角度的画面,然后分别显示在每个显示器上(当然,你也可以在一个显示器上打开多个窗口)

  2.  如果你连接了多个显示器,并且将他们虚拟成了1个虚拟显示器。那么你可以配置FlightGear打开一个超大的能够扩展到所有显示器上的窗口,但也需要将这个大窗口分成多个相机看到的内容,然后在不同的显示器上显示。

要实现这一功能,需要修改 preferences.xml文件

但是,FlightGear并不建议这么做,为了主配置文件的稳定起见,将配置文件建立在外部,然后通过文件引用的方式使用。相关命令为:--config=path-to-your-config.xml 。

FlightGear的地景是通过OSG实现的,因此有个默认的配置文件为:$FG ROOT/preferences.xml. (实际FlightGear2016 .1.1中,在$FG ROOT/data,或者$FG ROOT/fgdata中)。

你可以通过添加配置文件,实现多个窗口,也可以在一个窗口中显示多个相机视角中的内容。当关闭其中任何一窗口时,整个程序关闭。

例:

  <?xml version="1.0"?>
<PropertyList>
<camera>
<host-name type="string"></host-name>
<display>0</display>
<screen>0</screen>
<shear-x>2</shear-x>
<shear-y>1</shear-y>
<width>320</width>
<height>240</height>
<fullscreen type="bool">false</fullscreen>
</camera>
<camera>
<host-name type="string"></host-name>
<display>0</display>
<screen>0</screen>
<shear-x>-2</shear-x>
<shear-y>1</shear-y>
<width>320</width>
<height>240</height>
<fullscreen type="bool">false</fullscreen>
</camera>
</PropertyList>

这段代码放到rendering中,也就是,如果要引用的话,是这样的

   <rendering include="camera-views.xml">
...
</rendering>

然后打开FlightGear,会发现,多了两个窗口,分别显示了不同的内容。

当然,你也可以通过<camera-group>标签来将两个视角放到一个窗口中。

这个后面我们再讨论吧,今天先到这里。

FlightGear 视角控制的更多相关文章

  1. Camera插件推荐,解锁电影大师级视角控制

    相机在游戏中的重要性是不言而喻的,尤其是一些MMORPG或FPS等类型的游戏,相机不仅需要跟随游戏主角进行移动,可能还要随时准备切换焦点,这就要求开发者将游戏相机管理得井井有条,能顺应游戏中可能瞬息发 ...

  2. [Unity菜鸟] 摄像机视角控制

    1. 摄像机预览物体 上下左右远近 把CameraFollow脚本赋给Camera,把要观察的对象赋给target using UnityEngine; using System.Collection ...

  3. 【淡墨Unity3D Shader计划】五 圣诞用品: Unity在Shader三种形式的控制&amp;混合操作编译

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/42060963 作者:毛星云(浅墨)  ...

  4. Unity 3D第三人称视角、用途广泛限定角度(视角不能360度翻转)

    Unity第三人称相机视角控制 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分 ...

  5. 如何使用threejs实现第一人称视角的移动

    在数据可视化领域利用webgl来创建三维场景或VR已经越来越普遍,各种开发框架也应运而生.今天我们就通过最基本的threejs来完成第一人称视角的场景巡检功能.如果你是一位threejs的初学者或正打 ...

  6. MATLAB命令大全

    一.常用对象操作:除了一般windows窗口的常用功能键外.1.!dir 可以查看当前工作目录的文件. !dir& 可以在dos状态下查看.2.who 可以查看当前工作空间变量名, whos ...

  7. 全景视频外包团队:U3D全景漫游(二)

    单击Ambient Light,如下 调整为 即可设置完成 14.设置第一人称浏览 删除场景中Main Camera 将Project区域的Standard Assets下的Prefabs下的Firs ...

  8. [转] MATLAB快捷键

    原文地址:MATLAB快捷键大全 (转载)作者:掷地有声 一.索引混排版 备注:删除了如F1(帮助)等类型的常见快捷命令 SHIFT+DELETE永久删除 DELETE删除 ALT+ENTER属性 A ...

  9. 【Away3D代码解读】(四):主要模块简介

    数据模块: Away3D中最核心的数据类是Mesh类,我们先看看Mesh类的继承关系: NamedAssetBase:为对象提供id和name属性,是Away3D大部分类的基类: Object3D:3 ...

随机推荐

  1. Spark如何解决常见的Top N问题

    需求   假设我们有一张各个产品线URL的访问记录表,该表仅仅有两个字段:product.url,我们需要统计各个产品线下访问次数前10的URL是哪些?   解决方案   (1)模拟访问记录数据   ...

  2. 网络流(最大流):CodeForces 499E Array and Operations

    You have written on a piece of paper an array of n positive integers a[1], a[2], ..., a[n] and m goo ...

  3. delphi编写winsocket的流程

    delphi编写winsocket的流程 1.在窗体创建的时候启用动态连接库(引用winsock)    var  aWSAData:TWSAData;    if WSAStartup($0101, ...

  4. unity中的mesh合并

    在分析shadowgun时,无意中发现所有的环境建筑运行后,都被合并成一个叫做 "Combined Mesha (root: scene)" 的mesh了,但是没有发现任何合并的脚 ...

  5. JavaScript的Date 方法

    js中Date 方法 Date (对象) Date 对象能够使你获得相对于国际标准时间(格林威治标准时间,现在被称为 UTC-Universal Coordinated Time)或者是 Flash ...

  6. 内存模型(memory models)和命名空间(namespace)

    继续<C++ premier plus > 先来解释一下scope和linkage,所谓scope,是指变量的作用范围,所谓linkage,是指变量能否在不同文件中共享 1,自动变量(au ...

  7. android 国内sdk下载地址及代理, android 环境搭建

    http://www.androiddevtools.cn/ http://www.cnblogs.com/bjzhanghao/archive/2012/11/14/android-platform ...

  8. android ROM备份和还原,再也不用当心刷到垃圾ROM,而还原不了原有系统

    安卓刷机后如何还原以前ROM 和系统备份,本教程为大家介绍刷机后如何还原到以前的ROM 和系统备份. 很多人,看到了好多新的rom,包括测试版的新rom,心里痒痒的.想刷一刷.尝尝鲜,结果刷完,感觉新 ...

  9. 微软提供的API的各个版本之间的区别

    First Floor Software这个diff lists非常方便的给出了微软提供的API的各个版本之间的区别,比如下表是.NET 4和.NET 4.5的API变化总结.我们可以看到.NET 4 ...

  10. 【Android - MD】之CardView的使用

    CardView是Android 5.0新特性--Material Design中的一个布局控件,可以通过属性设置显示一个圆角的类似卡片的视图. 1.CardView的属性: app:cardCorn ...