FlightGear 视角控制
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 视角控制的更多相关文章
- Camera插件推荐,解锁电影大师级视角控制
相机在游戏中的重要性是不言而喻的,尤其是一些MMORPG或FPS等类型的游戏,相机不仅需要跟随游戏主角进行移动,可能还要随时准备切换焦点,这就要求开发者将游戏相机管理得井井有条,能顺应游戏中可能瞬息发 ...
- [Unity菜鸟] 摄像机视角控制
1. 摄像机预览物体 上下左右远近 把CameraFollow脚本赋给Camera,把要观察的对象赋给target using UnityEngine; using System.Collection ...
- 【淡墨Unity3D Shader计划】五 圣诞用品: Unity在Shader三种形式的控制&混合操作编译
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/42060963 作者:毛星云(浅墨) ...
- Unity 3D第三人称视角、用途广泛限定角度(视角不能360度翻转)
Unity第三人称相机视角控制 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分 ...
- 如何使用threejs实现第一人称视角的移动
在数据可视化领域利用webgl来创建三维场景或VR已经越来越普遍,各种开发框架也应运而生.今天我们就通过最基本的threejs来完成第一人称视角的场景巡检功能.如果你是一位threejs的初学者或正打 ...
- MATLAB命令大全
一.常用对象操作:除了一般windows窗口的常用功能键外.1.!dir 可以查看当前工作目录的文件. !dir& 可以在dos状态下查看.2.who 可以查看当前工作空间变量名, whos ...
- 全景视频外包团队:U3D全景漫游(二)
单击Ambient Light,如下 调整为 即可设置完成 14.设置第一人称浏览 删除场景中Main Camera 将Project区域的Standard Assets下的Prefabs下的Firs ...
- [转] MATLAB快捷键
原文地址:MATLAB快捷键大全 (转载)作者:掷地有声 一.索引混排版 备注:删除了如F1(帮助)等类型的常见快捷命令 SHIFT+DELETE永久删除 DELETE删除 ALT+ENTER属性 A ...
- 【Away3D代码解读】(四):主要模块简介
数据模块: Away3D中最核心的数据类是Mesh类,我们先看看Mesh类的继承关系: NamedAssetBase:为对象提供id和name属性,是Away3D大部分类的基类: Object3D:3 ...
随机推荐
- C - Point on Spira
Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Submit Status Pr ...
- BZOJ1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛
1616: [Usaco2008 Mar]Cow Travelling游荡的奶牛 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 762 Solved: ...
- ubuntu下使用ngrok外网映射
好久之前想搞明白这个事情,可是就是不知道这个词叫外网映射,所以也一直不知怎么做,在慕课网看用java开发微信公众号的时候教程里提到了外网映射,查了一些资料终于把本地给映射到外网了,直接变成了80端口, ...
- Aix项目_shell_rsh_01
rsh(remote shell) 功能说明:远端登入Shell. 语 法:rsh [-dn][-l <用户名称>][主机名称或IP地址][执行指令] 补充说明:rsh提供用户环境,也就是 ...
- .Net remoting 的文件传输
http://www.codeproject.com/Articles/14100/Dot-Net-Remoting-Handling-Remote-Events-using-Dele
- sql2005如何附加数据库
1.首先把mdf(数据库主文件)和ldf(数据库日志文件)放到C:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\Data 2.登陆sq ...
- MySQL生僻字(不常用字)的完整解决方案
查看 MySQL 数据库服务器和数据库字符集 show variables like '%char%'; 查看 MySQL 数据表(table) 的字符集 show table status from ...
- About using UTF-8 fields in MySQL
https://www.adayinthelifeof.nl/2010/12/04/about-using-utf-8-fields-in-mysql/ I sometimes hear: “make ...
- SQL Server里的 ISNULL 与 NULLIF
SQL Server 中有两个參数,语法: ISNULL(check_expression, replacement_value) check_expression 与 replacement ...
- iOS开发-No matching provisioning profiles found解决方法
今天真机调试的时候莫名其妙遇到了这种一个问题: This product type must be built using a provisioning profile, however no pro ...