录音/制作/创作 吉他 扩声技术 视频技术 作品展示 生活 信息 更多... | 音频应用专卖店

[游戏] 自己DIY的WIIRemote TRACK IR测试视频

( 8 )
 
[收藏]

3599
#1 08-10-6 13:14

自己DIY的WIIRemote TRACK IR测试视频

完全成功了
老子也用上TRACK IR了哈哈,.......帮我弟做了个视频
[

3599
#2 08-10-6 13:27

把我编代码拿出来共享

代码3D部分可以删除,使用时,每次进入IL游戏要先按N键用来判断WIIMOTE的位置,然后像照镜子一样把WIIMOTE摆好即........
在游戏时设置一个顺手的键,映射到N键上,N键就是锁定视角,左右摆头后,放开N键即立即转向所看方向,如果你有极强的头部控制能力,不用这个键也可以....呵呵,其实一般不用........就是有时头部控制不好的时候用用,还有就是看一个方向太累了,按着它就不用老看一个地方,可以放松一下哈哈....

代码如下:
/*
This was Modified based on "PipoXYZ's 2Dof, 2Leds, Flight- and RaceScript."

KEY.n = Set CenterView每次进入游戏都要先按N,然后摆好WIIMOTE的位置即可.

Compatible with these games:
http://www.naturalpoint.com/trac ... nced-games-all.html
Emulates Yaw/Pitch

Setup:
Place your Wiimote near your monitor facing your head.
Wear two IR-leds on your head facing the Wiimote.
The leds can be attached to glasses, headphones, caps or something else.
*/

if starting then
wait 200 ms
PIE.FrameRate = 100Hz
if Wiimote.dot2vis = true then
var.XOffset = (Wiimote.Dot1x + Wiimote.Dot2x) / 2
var.YOffset = (Wiimote.Dot1y + Wiimote.Dot2y) / 2
else
var.XOffset = Wiimote.Dot1x
var.YOffset = Wiimote.Dot1y
endif
var.Angle = 1000这个值和转动角度成正比
endif
//Maprange
var.MinIRX = var.XOffset - var.Angle
var.MaxIRX = var.XOffset + var.Angle
var.MinIRY = var.YOffset - var.Angle
var.MaxIRY = var.YOffset + var.Angle
//Center View



if key.N = key.d + key.N
else
var.XOffset = 0
var.YOffset = 0
var.FakeTrackIRYaw = 0
var.FakeTrackIRPitch = 0
say


endif

//Mapset
if Wiimote.dot2vis = true then
var.TempDot2x = Wiimote.Dot2x
var.TempDot1x = Wiimote.Dot1x
var.TempDot2y = Wiimote.Dot2y
var.TempDot1y = Wiimote.Dot1y
var.X = (Wiimote.Dot1x + Wiimote.Dot2x) / 2
var.Y = (Wiimote.Dot1y + Wiimote.Dot2y) / 2
if var.TempDot1x < var.TempDot2x then
var.TempX = (Wiimote.Dot2x - Wiimote.Dot1x) / 2
else
var.TempX = (Wiimote.Dot1x - Wiimote.Dot2x) / 2
endif
if var.TempDot1y < var.TempDot2y then
var.TempY = (Wiimote.Dot2y - Wiimote.Dot1y) / 2
else
var.TempY = (Wiimote.Dot1y - Wiimote.Dot2y) / 2
endif
else
if var.TempDot1x < var.TempDot2x then
var.X = Wiimote.Dot1x + var.TempX
else
var.X = Wiimote.Dot1x - var.TempX
endif
if var.TempDot1y < var.TempDot2y then
var.Y = Wiimote.Dot1y + var.TempY
else
var.Y = Wiimote.Dot1y - var.TempY
endif
endif
//smoothing
var.TrackIRYawOld = var.FakeTrackIRYaw
var.TrackIRPitchOld = var.FakeTrackIRPitch
var.FakeTrackIRYaw = ensureMapRange(var.X, var.MaxIRX, var.MinIRX , -720, 720)此项代表可转动的角度可以调小,但要上面的Angle!
var.FakeTrackIRPitch = ensureMapRange(var.Y, var.MinIRY, var.MaxIRY , -720, 720)此项代表可转动的角度可以调小,但要上面的Angle!
var.DiffX = max(var.TrackIRYawOld,var.FakeTrackIRYaw) - min(var.TrackIRYawOld,var.FakeTrackIRYaw)
if var.DiffX < 60 then
FakeTrackIR.Yaw = smooth(var.FakeTrackIRYaw,120)
//FakeTrackIR.Yaw = smooth(smooth(var.FakeTrackIRYaw,30),30)
//FakeTrackIR.Yaw = kalman(smooth(var.FakeTrackIRYaw,30),0.4,0.04)
//FakeTrackIR.Yaw = smooth(kalman(var.FakeTrackIRYaw,0.4,0.03),30)
endif
var.DiffY = max(var.TrackIRPitchOld,var.FakeTrackIRPitch) - min(var.TrackIRPitchOld,var.FakeTrackIRPitch)
if var.DiffY < 60 then
FakeTrackIR.Pitch = 1.2 * smooth(var.FakeTrackIRPitch,120)
//FakeTrackIR.Pitch = smooth(smooth(var.FakeTrackIRPitch,30),30)
//FakeTrackIR.Pitch = kalman(smooth(var.FakeTrackIRPitch,30),0.4,0.04)
//FakeTrackIR.Pitch = smooth(kalman(var.FakeTrackIRPitch,0.4,0.03),30)
endif

一下部分是自制的3D校准,按run后,要按N键即可看见两方块,当方块叠加时即为正中...此项目正在琢磨中还不成熟,可以删除!
obj1.colour= 0x008080
obj1.cubesize= 19cm
obj1.X=0.
obj1.Y=0.
obj2.colour= 0x010181
obj2.cubesize= 50cm
obj2.x=0.
obj2.y=0.
obj3.yaw=FakeTrackIR.Yaw
obj3.colour= 0xFDFDFD
obj4.pitch=FakeTrackIR.Pitch
obj4.colour= 0xFEF482

cam.x= var.XOffset
cam.y=-var.YOffset
cam.yaw=-var.FakeTrackIR.Yaw
cam.pitch=var.FakeTrackIR.Pitch

3599
#3 08-10-6 13:30
关于wiiremote的介绍请看此贴:
http://www.audiobar.net/viewthread.php?tid=243711

11573
#4 08-10-6 13:56
你太牛屄了.....

3599
#5 08-10-6 18:06
TT老大的模拟赛车是不是开的很牛B?
我这套编码也可以玩赛车的..........

3599
#6 08-10-6 18:16
不过赛车部分老外做了好多2DOF的程序都很不错了,
可以随时居中微调,比较的实用..........
我这个是没法子,因为IL2不像别的游戏,它射击的时候需要非常稳定的视角,所以必须自己弄,赛车就不存在了噻.......
还有那个AA也可以用.

3599
#7 08-10-7 05:21
我的头瞄装备.............

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

11573
#8 08-10-7 11:03
赛车就算了...我有独立的两套G25和XBOX360方向盘..但极少玩.

3599
#9 08-10-7 12:17
我k..........你有米........
旋转900度的那个............
我只有那个R440.赛钛客的垃圾,基本没玩过,每次拿出来安装半天,然后还要收回去...........
它的力反馈也是怪怪的........对赛车感觉一般,但是还是想买个MOMO之类的玩玩......
我只用它的脚踏,用来当脚舵的,还可以.
你那闲置的设备不都浪费了,邮过来我帮你体现它的价值最大化吧

[ 本帖最后由 老弦儿 于 08-10-7 12:21 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

搜索