E星体育

欢迎光临 E星体育电动六自由度平台研发设计! 关于我们 | 联系我们 | 在线留言
全国统一服务热线
159-1108-9617
当前位置:E星体育六自由度平台 > 常见问题 > 新闻资讯 >

TYT六自由度支持的赛车及飞行模拟游戏目录

文章出处:6dof 人气:发表时间:2020-11-27 22:10

六自由度飞行模拟游戏       
       目前E星体育六自由度平台主要的赛车和飞行模拟游戏数据输出方式大概有三种方式:购买天誉六自由度部分游戏数据免费提供。
 
         1、UDP网络信号输出
 
         2、内存数据共享
 
         3、开发SDK或API,自己编写游戏插件
 
但无论怎样,都可以通过其输出数据对赛车平台进行体感运动控制。控制流程如下图所示。
六自由度赛车模拟游戏
1、支持赛车游戏列表
 
目前我公司支持的主要赛车游戏如下:
六自由度赛车模拟游戏
以Dirt3,Dirt3设置XML文件后和LFS(Live for Speed)游戏一样,以此为例说明其输出的UDP格式:
六自由度赛车模拟游戏
https://www.lfs.net/forum/thread/73997
 
http://www.brunsware.de/insim06b/index.html#outsim_sec
 
// unsigned 4-byte unsigned integer
// int 4-byte signed integerz
Vec : 3 ints (X, Y, Z) - 65536 means 1 metre
Vector : 3 floats
 
// This can be controlled by 5 lines in the cfg.txt file :
 
// OutSim Mode 0        :0-off 1-driving 2-driving+replay
// OutSim Delay 1       :minimum delay between packets (100ths of a sec)
// OutSim IP 0.0.0.0    :IP address to send the UDP packet
// OutSim Port 0        :IP port
// OutSim ID 0          :if not zero, adds an identifier to the packet
 
// Each update sends the following UDP packet :
 
struct OutSimPack
{
 unsigned Time; // time in milliseconds (to check order)    4
 
 Vector AngVel; // 3 floats, angular velocity vector           12
 float Heading; // anticlockwise from above (Z)                4
 float Pitch; // anticlockwise from right (X)                     4
 float Roll; // anticlockwise from front (Y)                       4
 Vector Accel; // 3 floats X, Y, Z                                    12
 Vector Vel; // 3 floats X, Y, Z                                        12
 Vec Pos; // 3 ints   X, Y, Z (1m = 65536)                        12
 
 int ID; // optional - only if OutSim ID is specified               4
};
 
// NOTE 1) X and Y axes are on the ground, Z is up.
 
// NOTE 2) Motion simulators can be dangerous.  The Live for Speed developers do
// not support any motion systems in particular and cannot accept responsibility
// for injuries or deaths connected with the use of such machinery.
 
2、支持飞行游戏列表
 
目前我公司支持的主要飞行游戏如下:
六自由度飞行模拟游戏
3、自写游戏或视景内容数据输出格式
 
有不少客户会自己开发游戏及,比如军方定制系统中的上位机视景,那么如果是自己开发的游戏或上位机视景内容,则可以参考以下方式输出数据,目前还是比较推荐采用本机UDP方式进行数据交互的,即往指定端口号的本机IP地址:即“127.0.0.1”发送以下数据格式。
六自由度飞行模拟游戏
如上图所示,三个直线轴的加速度(自身轴)和三个旋转轴的角速度。
 1、需要变量为三轴直线加速度:
Xa——X轴加速度,m/s2;
Ya——Y轴加速度,m/s2;
Za——Z轴加速度,m/s2;
 2、需要变量为三个旋转轴的角速度:
Xr——绕X轴的角速度,rad/s;
Yr——绕Y轴的角速度,rad/s;
Zr——绕Z轴的角速度,rad/s;
 根据《微软模拟飞行X》开发的SDK文档[1],我们需要的主要的六个数据为飞机自身的三个直线轴的加速度、和对应转动轴的角速度,仿真时间,如表1所示。
 
表1 需要视景提供的参数
 
数据格式定义,以C/C++为例说明的数据格式:
struct sTelemetryData
{ int Tm; //仿真时间,单位:ms
float Xacc; //X轴直线加速度,单位:m/s2
float Yacc; //Y轴直线加速度,单位:m/s2
float Zacc; //Z轴直线加速度,单位:m/s2
float XrVel; //绕X轴旋转角速度,单位:rad/s
float YrVel; //绕Y轴旋转角速度,单位:rad/s
float ZrVel; //绕Z轴旋转角速度,单位:rad/s
}
以上数据,最好能以不小于60Hz(16ms一次)的频率发送,可采用UDP或TCP/IP协议完成。
其实就是要实时告知智能控制算法软件,游戏主体(赛车或飞机)本身,在游戏中运动的坐标,简单讲就一句话,知道游戏主体如何运动的。
 
参考文献
 
[1] https://msdn.microsoft.com/en-us/library/cc526981.aspx#AircraftPositionAndSpeedData

注:原创内容,不经允许请勿转载。


 
 

此文关键字:六自由度赛车游戏,六自由度飞行模拟游戏

六自由度

曾道人黄金资料-曾道人四肖八码-曾道人一码一肖 多宝体育 - 首页 BBV体育-官网