![]() |
motion simulator - Printable Version +- Forums (https://www.vdrift.net/Forum) +-- Forum: Project (https://www.vdrift.net/Forum/forumdisplay.php?fid=4) +--- Forum: Development (https://www.vdrift.net/Forum/forumdisplay.php?fid=9) +--- Thread: motion simulator (/showthread.php?tid=831) Pages:
1
2
|
motion simulator - silverhawk_184 - 12-10-2007 hi, this project (vdrift) is great. background info: http://tinyurl.com/yvtahl i am working on a simulator for replacing my highschool's out of date drivers ed simulator, which is just a movie that the students have to try to follow along with a fake stirring wheel and petels. it is giong to have a full motion platform that is made to resemble a real car, inside and out, and be networked together with more simulators (25) so they can drive together. ultimately, hoping to make it, "as real as it gets." My development will be constructed on a metal frame on a gimble, tilted by modified 10" shock absorbers mounted on ball and socket joints. it will be contained within a homemade plastic car shell (small and light), where its windows will be the screens for a diy projector, made from a 15" lcd and an ohp, the beam to be aimed by a matrix of mirrors to surround the driver. the controls would be rigged by modding an xbox controller and a homemade ff kit for the stirring (until a proper method comes out for linux, other than the hack mentioned in another topic). the car will include 4.1 surround speakers, to further the experience. i have dry fitted all of the components and it seems to work, all except the interface for the game. as soon as i get help and confirmation, i will send my proposal for fuding to the school and get started. anyway, i am still learning C and arn't the best at it, could someone please point out how/where to change a few things (hold my hand, but dont have to do it for me, lol); 1) add multiple camera views (left, right, reverse) (think MS flightsim 2000+) and position each 2) to distort and rotate said viewpoints for easyer projection keystoning, other than using 3rd party software, which requires more cpu cycles //can be done opticaly 3) change the gauges (speed, tach) to lpt out 4) add gauges for tilt as lpt out 5) remove the startup menu and autoload the settings from a config file and the map from the teachers computer (mabe smb://) i want to wait for the next release before i dive in, as it sounds like it has been totally changed, (no openAl, new multiplayer, new collision detection, new map graphics rendering) also, can someone send me the export for blender to .joe if you want any pictures or have any questions, just ask. PS. what would be the minimalst (cheapest, ebay) system that would provide 30+fps preformance? (distro + hardware) - silverhawk_184 - 12-10-2007 also, from going through joes todo, i found things that need to be prevented,( mabe just have a checkbox in the menu); 1) ghosting 2) down shift protection 3) driver sprite (i am using F1 viewpoint if that matters) and my shifting is by the position of the dpad on the xbox controller (U+L=1, D+L=2, U=3, D=4, U+R=5, D+R=Rev, and L|R|non=N) i am not too clear on the lpt out gauges as well, have pin1 be a control, sending a set of pulses at a constant frequency, and the other 7 pins for gauges with variable frequencys. there are two methods of attack of how to interpret these, one, the easiest, is to have a user settable multiplier, so i can trigger the solenoids directly from that. Or i can measure the frequencys of that pin and pin1 and divide the two, giving me an analogue measurement, and transform it back to digital at a specific interval to the solenoids. - Kricor - 12-10-2007 o my god that sounds awesome. Unfortuately, I am not one of the designers so I can't really help ya there, but i can say that that sounds awesome. Where would you get the equipment? I wana build one now. ![]() ![]() ![]() - silverhawk_184 - 12-13-2007 that is so not fair, http://www.curious.de/index_eng.php http://www.curious.de/content/products/products.php they copied me ![]() if anyone was curious, this is somewhat of what i am planning to do, except the video wraps around the driver, not just the front. Re: motion simulator - joevenzon - 12-13-2007 Hey there, sorry it's taken me a while to respond, but you've brought up a lot of questions. You've got a big project ahead of you... it's quite an undertaking. I'm not going to say you can't do it, but it'll take a lot of time and work, and you'll have to mostly go it alone. I can provide some pointers as to where you can look, but that's about it. First of all, you'll want to get the development version of the code. All of the stuff I say below is relative to SVN R1887. Here's the how to: http://wiki.vdrift.net/Getting_the_development_version You might want to look into the force feedback steering wheels a bit more... there may be ones that work fine with linux (I haven't actually tried any) out of the box... I think the hacks in the other thread were about using one specific model. You might want to get on IRC and ask "thelusiv" about it, I know he's got a working FFB wheel, and at a college he worked at a lab where they had made something similar to what you want to make. silverhawk_184 Wrote:1) add multiple camera views (left, right, reverse) (think MS flightsim 2000+) and positoin each 1) The camera positioning code isn't very clear, but it starts at vamosworld.cpp:750. 2) I don't have a good idea of how to do this... that's a tough one. You might be able to write a GLSL pixel shader to do it. 3) The best place to put your lpt writing code would be in the DrawHUD function that starts at vamosworld.cpp:1918 4) The best place for this would be in the same function as in #3. You'll be able to get info about the car's tilt from the current_focus->car->chassis() object, which inherits from include/vamos/geometry/Frame.h, and contains a quaternion representation of orientation. You should be able to find algorithms to compute Euler angles from the quaternion. 5) In GAME::Start() at the code that starts around game.cpp:1549 the gui is initialized and a menu is loaded. You'd want to directly set the game state, the car paint, the car name, and the track name. This is done via the gamestate class (there's a GAMESTATE object called "state" inside the GAME object). Then call GAME::LoadWorld(). Good luck! - silverhawk_184 - 12-13-2007 thanks for the reply, that is exactally what i was looking for. ive already got the latest dev-version, but its broken, according to \vdrift\tools\win\vdrift.dev the following files are missing: \drift\include\weather.h \drift\include\backdrop.h \drift\include\globals.h \drift\include\quat.h \drift\include\weather.h and then i get: "error message: access violation at address 00404848 in module 'DevCpp.exe'. Read of address 686c6f6a" i wish to get a good compile before i edit. also, is there a way my changes will be implementable into the newer versions? - joevenzon - 12-13-2007 silverhawk_184 Wrote:thanks for the reply, that is exactally what i was looking for. The windows project file is out of date. It's got a bunch of old files that have been deleted and doesn't have newer files. You'll have to fix the project file, or use mingw/msys to do a command line compile with scons. Quote:is there a way my changes will be implementable into the newer versions? If your changes would have value for the normal user or are transparent, then yes, we can discuss putting them into the working source code repository. - silverhawk_184 - 12-13-2007 Quote:could we just add some more source files (.h, .cpp) of wich would be blank by default (placeholders) and i could recompile it with my substitutions. but change #1 could be pernimentaly implementedQuote:is there a way my changes will be implementable into the newer versions?If your changes would have value for the normal user or are transparent, then yes, we can discuss putting them into the working source code repository. are there any recommended system settings + distro (aimed at opengl preformance) yet? --edit-- i found MyOS (http://www.linuxdevices.com/news/NS8925383538.html), would this work - silverhawk_184 - 12-13-2007 i tried your method of scons and mingw and got an error of: Code: C:\vdrift>"C:\program files\Python please help; appears to be a bad physics.h - joevenzon - 12-14-2007 Your compiler is complaining because it can't find one of the include files (btCollisionWorld.h). You should do a search for the include file (it'll be under the bullet-2.64 directory) and then edit the SConstruct/SConscript file so that scons passes the appropriate include path to your compiler. If you check under the POSIX sections of the above mentioned SCons files you'll probably see the correct entries (which mention bullet) -- those need to be duplicated in the Windows area. You want the SConstruct line 113 to look like line 124. - joevenzon - 12-14-2007 For performance with highest graphical settings I'd recommend an NVIDIA Geforce 7600 or better and an AMD X2 4200 or better. At the lowest graphic settings you can get by with much less. The distribution doesn't really matter, so long as you can get VDrift compiling on it. - silverhawk_184 - 12-14-2007 Quote:edit the SConstruct/SConscript file which sconscript file, there are quite a few and none contain "POSIX" what i did with sconstruct is : Code: #---------------# - bugsyv - 12-15-2007 YOur supposed to append to it, not replace any of it.... and then you need to update the lib path. I did this and checked in the changes. Beyond that, you need to actually build bullet... this was a pain for me because I was trying to do it inside my cygwin environment. Anyways, I tried the jam method and the cmake method and both had failures in one of the demos, but I was acutally able to use the libs generated by cmake. The rough outline I followed was: 1. INstall cmake (www.cmake.org) 2. Make sure it is in the path 3. > cmake -G "MinGW Makefiles" (in the bullet directory) 4. > mingw32-make Your mileage may vary. - joevenzon - 12-15-2007 I've managed to compile bullet on windows using a random jam binary I found online. The compile "fails" but it builds the libraries that are necessary for vdrift first, so it ends up working OK. I haven't actually tried compiling vdrift on windows yet, though... thanks for making those changes, bugsyv, I'll give it a shot and see how it goes with mingw/MSYS. - joevenzon - 12-15-2007 Here are the steps I took to compile on windows: Installed mingw, MSYS, python, and scons Checked out VDrift R1888 cd bullet-2.64 ./configure export JAM_TOOLSET=MINGW jam bulletcollision bulletmath jam bulletcollision bulletmath (yes, I had to run the command twice to get it to work) cd .. scons Note: I added the jam binary I used to tools/win/bin in R1889. I added bullet-2.64/out/ntx86/optimize/libs to the library path in R1890. |