3GO模拟飞行网|3GO Cyber Air Force

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: Akar

Freetrack on Wiimote(参数对比、实际效果对比视频、红外LED选择、主动/反射方案)

[复制链接]
 楼主| 发表于 2009-12-30 20:18:17 | 显示全部楼层

回复 120# daohaozei 的帖子

山寨版?如果freetrack上面看不到3点的话,glovePIE也可能一样不行,可以试用这句来测试:
if wiimote.dot1vis and wiimote.dot2vis and wiimote.dot3vis then ……
LOFC是支持的GlovePIE的,这点毫无疑问的,DCS得替换一个文件(具体哪个,请搜索论坛),LOFC直接就可以。
发表于 2009-12-30 20:38:22 | 显示全部楼层

回复 121# Akar 的帖子

如果确实只有两点,是否可以通过在GlovePIE上编程来实现类似TrackIR的功能呢?
 楼主| 发表于 2009-12-31 18:22:58 | 显示全部楼层
原帖由 daohaozei 于 2009-12-30 20:38 发表
如果确实只有两点,是否可以通过在GlovePIE上编程来实现类似TrackIR的功能呢?


只有两点的话,没有办法实现zoom in/out,没有办法实现DCS里面的“平移”;
Freetrack有单点模式,一个点就可以,当然功能弱一些,但是比没有还是强很多的!值得一试!代替苦力帽是没有问题的!
glovepie有一个双点的代码在帖子里,稍微修改一下就是单点模式!
发表于 2010-1-3 21:54:40 | 显示全部楼层
388, 现在我做了一个两点的架子,如图1(附件1),好像不能上图!等会儿再试试。
我利用PPJoy中的虚拟轴PPJoy.Analog0和PPJoy.Analog1模拟视觉的水平轴和垂直轴,并在LOFC中设置了这两个虚拟轴。
下面是我在GlovePIE中写的代码:


if Wiimote.dot2vis=true and Wiimote.dot1vis= true then
   var.p1x=Wiimote.dot1x/1024
   var.p1y=wiimote.dot1y/1024
   var.p2x=wiimote.dot2x/1024
   var.p2y=wiimote.dot2y/1024
   //判断PUP和PDOWN
   if var.p1y<var.p2y then
      var.pupy=var.p2y
      var.pupx=var.p2x
      var.pdowny=var.p1y
      var.pdownx=var.p1x
   else
      var.pupy=var.p1y
      var.pupx=var.p1x
      var.pdowny=var.p2y
      var.pdownx=var.p2x
   endif
   if Key.NUMPAD5 then
      var.pupyOriginal=var.pupy
      var.pupxOriginal=var.pupx
      var.pdownyOriginal=var.pdowny
      var.pdownxOriginal=var.pdownx
   endif
   var.pitch=(aTan((var.pupy-var.pdowny)/(var.pupyOriginal-var.pdownyOriginal))-45)
   var.yaw=-aTan((var.pdownx-var.pupx)/(var.pupyOriginal-var.pdownyOriginal))
   var.analog0 = var.yaw/90
   var.analog1 = var.pitch/90
   wait 10ms
   var.p1x=Wiimote.dot1x/1024
   var.p1y=wiimote.dot1y/1024
   var.p2x=wiimote.dot2x/1024
   var.p2y=wiimote.dot2y/1024
   if var.p1y<var.p2y then
      var.pupy=var.p2y
      var.pupx=var.p2x
      var.pdowny=var.p1y
      var.pdownx=var.p1x
   else
      var.pupy=var.p1y
      var.pupx=var.p1x
      var.pdowny=var.p2y
      var.pdownx=var.p2x
   endif
   var.pitch1=(aTan((var.pupy-var.pdowny)/(var.pupyOriginal-var.pdownyOriginal))-45)
   var.yaw1=-aTan((var.pdownx-var.pupx)/(var.pupyOriginal-var.pdownyOriginal))
   var.analog2 = var.yaw1/90
   var.analog3 = var.pitch1/90
   if abs(var.analog2-var.analog0)<0.1 then
      PPJoy.Analog0 = smooth(var.analog0 ,20)
   else
      PPJoy.Analog0 = smooth(var.analog2 ,20)
   endif
   if abs(var.analog3-var.analog1)<0.1 then
      PPJoy.Analog1 = smooth(2*var.analog1 ,20)
   else
      PPJoy.Analog1 = smooth(2*var.analog3 ,20)
   endif
endif
debug = ' pupx= '+var.pupx+' pupy= '+var.pupy + ' pdownx= '+var.pdownx+' pdowny= '+var.pdowny+' InputX'+var.InputX+' InputY'+var.InputY+' yaw= '+var.yaw+' pitch= '+var.pitch +' analog0'+PPJoy1.analog0+' analog1'+PPJoy1.analog1

虽然在游戏中可以模拟出Yaw和Pitch,但是PPJoy1.analog0 和 PPJoy1.analog1的值噪声很大(这两个轴不停地在稳定值上下跳动0.01),导致视角不停地跳动(我实在受不了啦!)。
请问是否有方法降低这两个虚拟轴输出的噪声?
发表于 2010-1-3 21:58:30 | 显示全部楼层
唉,看程序太耗时间了。或者这么问吧,
好像所有在GlovePIE中的代码都是在一个大的外围循环语句中,
在GlovePIE中,是否有降噪的方法或算法?
发表于 2010-1-7 23:53:02 | 显示全部楼层
http://en.wikipedia.org/wiki/FreeTrack#Camera
分辨率……
根据这个列表,Wii的优势在于0CPU占用,高FPS,广角(近距使用算优势),劣势在分辨率。探头分辨率只有TrackIR5的1/25,信号输出分辨率是1/8789。

[ 本帖最后由 Einstein 于 2010-1-8 21:00 编辑 ]
发表于 2010-1-17 19:06:22 | 显示全部楼层
wii trackIR 已制作完成。
如果要使LOFC中能够使用它,一定要记住把如下安装目录文件夹中的TrackIR.ini文件删除:
D:\Program Files\Ubisoft\Eagle Dynamics\Lock On\Input
发表于 2010-1-17 19:47:31 | 显示全部楼层
完美!
 楼主| 发表于 2010-1-25 12:41:18 | 显示全部楼层

回复 125# daohaozei 的帖子

你问的问题在GlovePIE中配备文档都有答案,降噪有两个函数我用过,一个是smooth,另一个忘记了,而且好像不止这两个。
发表于 2010-2-20 05:56:53 | 显示全部楼层

真的蛮强的,不得不顶
发表于 2010-4-8 20:47:32 | 显示全部楼层
佩服死我了!!
发表于 2010-5-15 20:32:16 | 显示全部楼层
原帖由 RCtech 于 2008-9-17 22:14 发表
表面看来,WiiRemote和TrackIR都是用独立硬件进行图象处理的,而且WiiRemote可以同时处理4个点的数据,感觉应该比TIR强劲才对,但是实际WiiRemote性能可能不如TIR,因为TIR本身定位就在6DOF追踪,而WiiRemote用途更为 ...



好专业!
发表于 2010-7-2 14:17:35 | 显示全部楼层
研究下!!!谢谢分享
 楼主| 发表于 2010-7-22 14:18:23 | 显示全部楼层
388, 现在我做了一个两点的架子,如图1(附件1),好像不能上图!等会儿再试试。
我利用PPJoy中的虚拟轴PP ...
daohaozei 发表于 2010-1-3 21:54


偷闲看了一眼你的代码,发现你走了弯路,可能我的帖子没说明白吧~你不用把数值送给ppjoy,glovePIE单独运行就可以代替trackIR,换句话说glovePIE与freetrack软件二选一,不需要配合使用。
当然你这种glovePIE配合ppjoy的方式也是一种独创啊,呵呵~
发表于 2010-10-7 22:36:38 | 显示全部楼层
mark
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|3GO模拟飞行网|3GO Cyber Air Force ( 沪ICP备08002287号|沪ICP备14050587号 )

GMT+8, 2024-11-16 18:41

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表