Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

11855 Posts in 1569 Topics- by 3054 Members - Latest Member: Ljustin770

11. February 2012, 11:47:27 AM
Xith3D CommunityProjectsYour Projects (Moderator: 'n ddrylliog)HELI-X starts soon
Pages: [1]
Print
Author Topic: HELI-X starts soon  (Read 2897 times)
Michael Schreiner
Enjoying the stay
*
Offline Offline

Posts: 91


View Profile
« on: 05. January 2008, 11:15:28 AM »

Hello,

perhaps you are interested in our xith-project. It is an R/C-Helicopter simulator which will be available for download next week. The idea of this program is to give the R/C helicopter pilot the possibility to practice flying. The focus on our simulator lies in the physical behavior of the flying objects. The project started with the diploma thesis of Martin Hermann and up to know a lot of additional effort has been put in. Details are here: www.heli-x.net, where you can find some videos and soon a download possibility.

Thanks go to the whole xith-team and in particular to Marvin Fröhlich for many bilateral discussions.

Some details which might be of interest for you (do not think too much about our decisions how to implement several topics, often they are results of special circumstances in the project team)

- For the backgroud we use skyboxes with 6 textures of size 2048 x 2048
- The physical behavior is implemented from scratch, no xith features and no ode-libs are used here
- the same is true for the collision detection. Since we want the most realistic landing and crashing for the heli and the scene is not too complicated, we use an octree structure with respect to the local coordinate system of the heli which moves with the helicopter.
- Implemented are collisions of nodes with flat surfaces.
- The helis are imported in the wavefront format
- The rotor is implemented with two shapes. For slow rotation speed we use a shape of a rotor, for higher speeds we switch to a rotating transparent disk.
- The shadows are implemented with other helicopter  models which are projected to the bottom and coloured in black (this will hopefully changed soon, when other shadows are available ;-)
- The view has its own dynamic behavior and follows (if you want) the helicopter.
- A multiplayer option was implemented but is not available in the first version.

Trying the program makes only sense when you have a joystick with two axes. R/C-pilots often use their transmitter together with an USB-interface.

Plans for the future include smoke with a particle system, better shadows, more crash objects in the scene, different light situations, a hud to show the axis of the joystick, record and play for the flights ...

Michael








Logged
Marvin Fröhlich
Xith Lord
Administrator
Guru
*****
Offline Offline

Posts: 4337


May the 4th, be with you...


View Profile
« Reply #1 on: 05. January 2008, 11:32:05 AM »

Two questions:
  • Is the OcTree balanced?
  • Do you know the CameraFlight class (and the recorder)?

Marvin
Logged
Michael Schreiner
Enjoying the stay
*
Offline Offline

Posts: 91


View Profile
« Reply #2 on: 05. January 2008, 11:50:43 AM »

  • Is the OcTree balanced?
No, we use dyadic divisions of the edges and the growing of the tree is stopped when the number of vertices in a cell is lower than a given number. There might be room for improvements. However, the more expensive part of the algorithm is then to decide whether a point of an octree cell is really in contact or not...
  • Do you know the CameraFlight class (and the recorder)?
No, not yet. ;-) Camera Flight is perhaps not so important, since our camera are the eyes of the pilot and they are on the same place for ever. Only the direction is changed.Recorder? I should have a look. We need to store the position and orientation of the objects but also some state variables such as the speed of the engine and the control inputs of the pilot...

Michael
Logged
Marvin Fröhlich
Xith Lord
Administrator
Guru
*****
Offline Offline

Posts: 4337


May the 4th, be with you...


View Profile
« Reply #3 on: 05. January 2008, 12:01:16 PM »

No, we use dyadic divisions of the edges and the growing of the tree is stopped when the number of vertices in a cell is lower than a given number. There might be room for improvements. However, the more expensive part of the algorithm is then to decide whether a point of an octree cell is really in contact or not...

I just asked, because Xith needs a good OcTree. And if your's was balanced, I would have been interested in it Wink.

No, not yet. ;-) Camera Flight is perhaps not so important, since our camera are the eyes of the pilot and they are on the same place for ever. Only the direction is changed.Recorder? I should have a look. We need to store the position and orientation of the objects but also some state variables such as the speed of the engine and the control inputs of the pilot...

Well, the CameraFlight is also capable of recording/playing a flight of a TransformGroup. So this would suit your needs. But it cannot record/play any other attributes then position/rotation. But maybe we can expand it. Don't know. At least it might help you to get an idea, how to do it Smiley.

Marvin
Logged
Michael Schreiner
Enjoying the stay
*
Offline Offline

Posts: 91


View Profile
« Reply #4 on: 30. January 2008, 07:07:40 PM »

Hello,

in the meanwhile, HELI-X is ready for download (more than 4000 downloads so far). Perhaps you may want to give it a try:

http://www.heli-x.net/download.shtml

Michael


Logged
Marvin Fröhlich
Xith Lord
Administrator
Guru
*****
Offline Offline

Posts: 4337


May the 4th, be with you...


View Profile
« Reply #5 on: 30. January 2008, 10:10:22 PM »

I just tried it out. But I always get the message "No controller found". I can't seem to get it to find my controllers at all; even after I manually gave full read/write permissions on the device nodes for the mouse, keyboard and joystick. This worked in the older version of HELI-X. The message box with the above message is hiding behind the splash screen forever until I right-click the box'es task in the kicker and klick "move". I guess, you should hide the splashscreen as long as the message box hasn't been confirmed.

You forgot the 64 bit natives for joal and jinput.

The program will not work at all with a 64 bit Java. I have ported some portions of the Xith3DTestLauncher starter script to the linux starter script for HELI-X to detect that. See the attachment.

JAGaToo, OpenMaLi and Xith3D carry the wrong license files. Here are the correct ones:
JAGaToo:
Code:
/**
 * Copyright (c) 2007-2008, JAGaToo Project Group all rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 *
 * Redistributions in binary form must reproduce the above copyright notice,
 * this list of conditions and the following disclaimer in the documentation
 * and/or other materials provided with the distribution.
 *
 * Neither the name of the 'Xith3D Project Group' nor the names of its
 * contributors may be used to endorse or promote products derived from this
 * software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) A
 * RISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE
 */
OpenMaLi:
Code:
/**
 * Copyright (c) 2007-2008, OpenMaLi Project Group all rights reserved.
 *
 * Portions based on the Sun's javax.vecmath interface, Copyright by Sun
 * Microsystems or Kenji Hiranabe's alternative GC-cheap implementation.
 * Many thanks to the developers.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 *
 * Redistributions in binary form must reproduce the above copyright notice,
 * this list of conditions and the following disclaimer in the documentation
 * and/or other materials provided with the distribution.
 *
 * Neither the name of the 'OpenMaLi Project Group' nor the names of its
 * contributors may be used to endorse or promote products derived from this
 * software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) A
 * RISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE
 */
Xith3D:
Code:
/**
 * Copyright (c) 2003-2008, Xith3D Project Group all rights reserved.
 *
 * Portions based on the Java3D interface, Copyright by Sun Microsystems.
 * Many thanks to the developers of Java3D and Sun Microsystems for their
 * innovation and design.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 *
 * Redistributions in binary form must reproduce the above copyright notice,
 * this list of conditions and the following disclaimer in the documentation
 * and/or other materials provided with the distribution.
 *
 * Neither the name of the 'Xith3D Project Group' nor the names of its
 * contributors may be used to endorse or promote products derived from this
 * software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) A
 * RISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE
 */

You don't need Jama, since all of its functionality should be available in OpenMaLi.

You seem to be using a 10 days old Xith3D. Well, this is not a problem. But most of the performance optimizations aren't included in the the "old" codebase.

Sorry, that I didn't say anything good. But I just couldn't get it to run.

Marvin
Logged
Michael Schreiner
Enjoying the stay
*
Offline Offline

Posts: 91


View Profile
« Reply #6 on: 30. January 2008, 10:48:45 PM »

Hallo Marvin

Thank you for the licenses. I will correct this.

What happens with the controller on your machine is not clear to me. I did not change the code here. This is also the firt time I hear of problems of this kind on Linux. Perhaps there is a lock on the controller from another application?  ....

My simulation code uses in its current version a lot of Jama. Perhaps I will change this some day.

I tried the last changes in xith, but it did not run on all my machines. I will look for this later. It looks, as if the new features increase the dependency on capabilities of the drivers.
Thus, I deployed the older version.

Cheers,
Michael

Logged
Marvin Fröhlich
Xith Lord
Administrator
Guru
*****
Offline Offline

Posts: 4337


May the 4th, be with you...


View Profile
« Reply #7 on: 30. January 2008, 11:19:20 PM »

What happens with the controller on your machine is not clear to me. I did not change the code here. This is also the firt time I hear of problems of this kind on Linux. Perhaps there is a lock on the controller from another application?  ....

I don't think so. I plugged in the Joystick just for (and before) the HELI-X launch. Does this message only come up, if there's something wrong with the Joystick, or could it also mean something about the mouse or keyboard?

I tried the last changes in xith, but it did not run on all my machines. I will look for this later. It looks, as if the new features increase the dependency on capabilities of the drivers.
Thus, I deployed the older version.

Would be very interesting for me to know, which dependencies are added. There should be none. If there are, it is a bug, that I would like to fix.

Marvin
Logged
Michael Schreiner
Enjoying the stay
*
Offline Offline

Posts: 91


View Profile
« Reply #8 on: 31. January 2008, 07:52:33 AM »

I tried the last changes in xith, but it did not run on all my machines. I will look for this later. It looks, as if the new features increase the dependency on capabilities of the drivers.
Thus, I deployed the older version.

Would be very interesting for me to know, which dependencies are added. There should be none. If there are, it is a bug, that I would like to fix.

I will definitely try this out within the next weeks. I will let you know.

Michael
Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic