RF and physics
-
- Posts: 75
- Joined: Tue Jul 05, 2005 4:29 pm
Man your one crazy Italian Scripter (I mean that in a good way)
All Great people are Italian
Mario........ Little italian plumber guy character that jumps on stuff and eats mushrooms and saves a princess from a mutated turtle
Italo Marcioni .. inventor of the ice cream cone (mmmmm ice cream)
Ascanio Sobrero.... inventor of Nitroglycerin (Yes I getta blow stuff up thanks to him YES!{lol})
federico.....The italian scripter guy, dude, person
Go Italians!!!
....><..........................................................................
.>> <<...................................................
>>> <<<.................................Project Acute-Sonance
.>> <<................................::Macabre::
....><..................................Revgames2004
All Great people are Italian
Mario........ Little italian plumber guy character that jumps on stuff and eats mushrooms and saves a princess from a mutated turtle
Italo Marcioni .. inventor of the ice cream cone (mmmmm ice cream)
Ascanio Sobrero.... inventor of Nitroglycerin (Yes I getta blow stuff up thanks to him YES!{lol})
federico.....The italian scripter guy, dude, person
Go Italians!!!
....><..........................................................................
.>> <<...................................................
>>> <<<.................................Project Acute-Sonance
.>> <<................................::Macabre::
....><..................................Revgames2004
marconi, meucci (not bell!!!)... and so on... anyway if you like super-mario
@Nout
I announced a bike. That's true, I made it. The problem is that don't steer. th problem is that the Sphere BBox don't let the bike steer when is inclinated (as should happen). It's a little pretentious to make a physical simulation of a bike instead of using some trick (geomery programming, callbacks and all that things that you know) but I think that theorically is possibleat least as a test. A way could be scale the sphere on X axis. In the RigidBody Entity is possible but in script? I think no. Another method could be use a cilinder, but it should be flipped in X axisand scaled. In this way the box realy would have the aspect of a car tyre. But could be possible flip 90° on X-axis the cylinder bbox?
Using hull instead? In this case I need some explanation. What 's exactly a hull and how use the parameters?
http://www.tokamakphysics.com/phpbb/viewtopic.php?p=561&
___
Does the new car implementation proceed in the desired way?
___
looking at the tokamak forum and tuts... it' an hopeless work to implement terrain in RF handling the collision through tokamak (even using only tokamak bodies...)

@Nout
I announced a bike. That's true, I made it. The problem is that don't steer. th problem is that the Sphere BBox don't let the bike steer when is inclinated (as should happen). It's a little pretentious to make a physical simulation of a bike instead of using some trick (geomery programming, callbacks and all that things that you know) but I think that theorically is possibleat least as a test. A way could be scale the sphere on X axis. In the RigidBody Entity is possible but in script? I think no. Another method could be use a cilinder, but it should be flipped in X axisand scaled. In this way the box realy would have the aspect of a car tyre. But could be possible flip 90° on X-axis the cylinder bbox?
Using hull instead? In this case I need some explanation. What 's exactly a hull and how use the parameters?
If I have correctly understood this would be collision data for the object, like a low poly mesh *.col in dff format. Do you ever used it?If Geometrytype = "Hull", then a Self definable hull collision geometry is assigned to the body. Use following syntax: Hull <HullDefinition filename> [<Width>] [<Height>] [<Depth>], where the last 3 are optional
http://www.tokamakphysics.com/phpbb/viewtopic.php?p=561&
___
Does the new car implementation proceed in the desired way?
___
looking at the tokamak forum and tuts... it' an hopeless work to implement terrain in RF handling the collision through tokamak (even using only tokamak bodies...)
You are absolutely right. In the mean time I completed 4 script commandsNow I understand you when you are talking about geometry and hinges. In this case we will have hinges for the wheel rotation but programmed geometry for suspension and steer. In this way the weaker part of the script , that is the auto-alignement routine of the non-driven wheel, is no more a problem. Am I right?
SetAngleBetweenExtended(BodyId, GeomId1, GeomId2, AngleX, AngleY, AngleZ)This command reads the angle of the geometry GeomId1 from body with ID = BodyId and forces the angle of geometry GeomId2 to be equal to Angle of geom1 + an angle defined by AngleX, Y and Z
This command supports rigid and static bodies
AngleXYZ = GetAngleBetweenExtended(BodyId, GeomId1, GeomId2, AngleXYZnr)This command reads the angle between 2 geometries from a body with ID = BodyId and return the X, Y or Z angle, depending on AngleXYZnr. If AngleXYZnr=0, AngleX is returned, If AngleXYZnr=1, AngleY is returned, If AngleXYZnr=2, AngleZ is returned.
This command supports rigid and static bodies
SetPositionOfExtended(BodyId, GeomId1, PosX, PosY, PosZ)This command sets the retative position of the geometry GeomId1 from body with ID = BodyId. Unless a Joint, Geometry creates a fixed constrain. This command supports rigid and static bodies
PosXYZ = GetPositionOfExtended(BodyId, GeomId1, PosXYZnr)This command returns the relative position of geometry from a body with ID = BodyId. This command supports rigid and static bodies.
During programming the new VehicleEntity, I found an issue I'm trying to resolve. I can program the geometry, but I can not connect a hinge to it. Hinges are always connected to bodies...
This is a problem. So or I make all things geometry and program the wheel rotation, or I make all rigidbodies + hinges (like you use in your script). I'm now experimenting to see if I can find a bypass to still use geometry. If I can not solve it in a day, I will as a first step release with using RigidBodies and hinges + later try to optimize to the geometry concept
Tokamak does not allow to scale a sphere just in the X or Y or Z-axis. This is a (not nice) limitation. However Tokamak supports hulls. look to a hull like the outer skin you get by packaging an object with plastic foil paper. That is the hull of an object. Tokamak allows to let you create any hull just by describing it in a text-file + run a special program that creates a hull-actor. This actor can be read again by Tokamak. The code of today IS supporting the hull. It can read a hull + define the hull as your geometry. How to do it? I never tried is out, but the theory is the following:The problem is that the Sphere BBox don't let the bike steer when is inclinated (as should happen).
- You create the hull text-file description + run the hull program
- In RF, when assigning geometry, you define "Hull filename Width Height Depth" where filename is of course the real name of the file you use to safe the hull. The Width, Height and Dept are values used for the InertiaTensor definition (X, Y and X) If you don't now these, just fill in a number for example 5. That is all. Tho program to create a hull is included.
Code: Select all
I think that theorically is possibleat least as a test. A way could be scale the sphere on X axis. In the RigidBody Entity is possible but in script?
No, it is not possible in Tokamak. In the RigidBodyEntity, you only scale the actor in 1 dimension, but for a sphere, the geometry will only scale in all dimensions
The cylinder Hull is the way to go, but I never tried it out
- Attachments
-
- tools.zip
- (130.78 KiB) Downloaded 105 times
Demo Attached!!!
Ok... let's start with something simple.
1) Open Milshape and create a single mesh. I suggest you to use Tools-->Extended Primitives. There are several interesting non-standard forms and shapes. Assign a material (optional) export to bdy file and to 3d Studio ASC file format.
2) Open a Script Editor. I use an old version of ScriptEdit for RF 'cause I feel at home with it (the new version don't want to let me write according to my free will..anyway...). Open the asc file. You will see something like this (it's cyl3.asc):
so delete and write in the first line: 86
Simple: the number of vertices. Then delete from "Face list" to the end, we don't need this.
Now use a Replace command and erase all the word we don't need (Vertix , X:, Y:, Z:
In few words you will have to get a list of three number coordinates (X Y Z) separated by a single space. Every triplet identify one of the 86 vertices declared at the beginning. The result should be:
3) Save the file your_shape_name.txt and put it in the qhull directory (read the previous post). Create a *.bat file with the instruction: adjacency your_shape_name.txt your_shape_name.bin
You will get a bin file. Copy it in your workng RF main folder (where is your Realityfactory.exe). Create a actor with the previously exported bdy mesh.
The source code to correctly see the Hull bbox isn't ready so initially it's a good idea to see your mesh (with the idea in your mind that visible geometry and bbox have the same shape and dimension).
so:
4) In the Physic Script use your_shape_name.act in the Body Actor parameter and use in the BBox parameter: "Hull your_shape_name.bin"
See the physics documentation and test_hull.p in the script folder.
5) Be careful! Probably (I had non-coherent responses) the collision shape doesn't rotate with the mesh object (so now orient the mesh 0,0,0 and use pre-aligned geometry). I don't know if the scale parameter works. The Hull doesn't work in PhysicsRigidBody entity, works only in PhysicsScript (or my updated exe doesn't match with my editor header). I've checked my non-updated source code: there is a lack of code for the Hull BBox rendering, so if you turn on DrawBBOX and you don't see anything, doesn't mean that then hull box doesn't work.
Demo Attached!!! Shoot 'em all!
Bugs: the Hedra Tetra initially fall and "sit" on one of his vertices, next (shooting it) it works. The "T" falls down the floor but the hull collision initially works...
However: WOW!!!
@Nout : probably this cylinder I created is too detailed but now we can create a real BBox for our wheels so we can see if that bike steers and the car has a better behaviour...
Ok... let's start with something simple.
1) Open Milshape and create a single mesh. I suggest you to use Tools-->Extended Primitives. There are several interesting non-standard forms and shapes. Assign a material (optional) export to bdy file and to 3d Studio ASC file format.
2) Open a Script Editor. I use an old version of ScriptEdit for RF 'cause I feel at home with it (the new version don't want to let me write according to my free will..anyway...). Open the asc file. You will see something like this (it's cyl3.asc):
Now, no fear. Reading from the beginning: Named object: "Cylinder02" Tri-mesh, Vertices: 86 Faces: 168Named object: "Cylinder02"
Tri-mesh, Vertices: 86 Faces: 168
Vertex List:
Vertex 0: X:-18.875000 Y:0.000000 Z:-12.375002
Vertex 1: X:-16.346230 Y:9.437501 Z:-12.375002
Vertex 2: X:0.000000 Y:0.000002 Z:-12.375002
Vertex 3: X:-18.875000 Y:-0.000000 Z:12.124998
Vertex 4: X:0.000000 Y:0.000001 Z:12.124998
Vertex 5: X:-16.346230 Y:9.437499 Z:12.124998
Vertex 6: X:-18.875000 Y:0.000000 Z:-8.291668
Vertex 7: X:-16.346230 Y:9.437500 Z:-8.291668
Vertex 8: X:-18.875000 Y:0.000000 Z:-4.208335
Vertex 9: X:-16.346230 Y:9.437500 Z:-4.208334
Vertex 10: X:-18.875000 Y:0.000000 Z:-0.125002
Vertex 11: X:-16.346230 Y:9.437500 Z:-0.125002
Vertex 12: X:-18.875000 Y:0.000000 Z:3.958332
Vertex 13: X:-16.346230 Y:9.437500 Z:3.958332
Vertex 14: X:-18.875000 Y:-0.000000 Z:8.041664
Vertex 15: X:-16.346230 Y:9.437500 Z:8.041664
Vertex 16: X:-9.437501 Y:16.346231 Z:-12.375001
Vertex 17: X:-9.437501 Y:16.346231 Z:12.125000
Vertex 18: X:-9.437501 Y:16.346231 Z:-8.291667
Vertex 19: X:-9.437501 Y:16.346231 Z:-4.208334
Vertex 20: X:-9.437501 Y:16.346231 Z:-0.125001
Vertex 21: X:-9.437501 Y:16.346231 Z:3.958332
Vertex 22: X:-9.437501 Y:16.346231 Z:8.041664
Vertex 23: X:-0.000000 Y:18.875002 Z:-12.375001
Vertex 24: X:-0.000000 Y:18.875002 Z:12.125000
Vertex 25: X:-0.000000 Y:18.875002 Z:-8.291667
Vertex 26: X:-0.000000 Y:18.875002 Z:-4.208334
Vertex 27: X:-0.000000 Y:18.875002 Z:-0.125001
Vertex 28: X:-0.000000 Y:18.875002 Z:3.958333
Vertex 29: X:-0.000000 Y:18.875002 Z:8.041664
Vertex 30: X:9.437499 Y:16.346231 Z:-12.375001
Vertex 31: X:9.437499 Y:16.346231 Z:12.125000
Vertex 32: X:9.437499 Y:16.346231 Z:-8.291667
Vertex 33: X:9.437499 Y:16.346231 Z:-4.208334
Vertex 34: X:9.437499 Y:16.346231 Z:-0.125001
Vertex 35: X:9.437499 Y:16.346231 Z:3.958332
Vertex 36: X:9.437499 Y:16.346231 Z:8.041664
Vertex 37: X:16.346230 Y:9.437505 Z:-12.375002
Vertex 38: X:16.346230 Y:9.437503 Z:12.124998
Vertex 39: X:16.346230 Y:9.437504 Z:-8.291668
Vertex 40: X:16.346230 Y:9.437504 Z:-4.208334
Vertex 41: X:16.346230 Y:9.437504 Z:-0.125002
Vertex 42: X:16.346230 Y:9.437504 Z:3.958332
Vertex 43: X:16.346230 Y:9.437504 Z:8.041664
Vertex 44: X:18.875000 Y:0.000001 Z:-12.375002
Vertex 45: X:18.875000 Y:0.000000 Z:12.124998
Vertex 46: X:18.875000 Y:0.000001 Z:-8.291668
Vertex 47: X:18.875000 Y:0.000001 Z:-4.208335
Vertex 48: X:18.875000 Y:0.000001 Z:-0.125002
Vertex 49: X:18.875000 Y:0.000001 Z:3.958332
Vertex 50: X:18.875000 Y:0.000000 Z:8.041664
Vertex 51: X:16.346230 Y:-9.437493 Z:-12.375002
Vertex 52: X:16.346230 Y:-9.437495 Z:12.124998
Vertex 53: X:16.346230 Y:-9.437494 Z:-8.291668
Vertex 54: X:16.346230 Y:-9.437494 Z:-4.208335
Vertex 55: X:16.346230 Y:-9.437494 Z:-0.125002
Vertex 56: X:16.346230 Y:-9.437494 Z:3.958332
Vertex 57: X:16.346230 Y:-9.437494 Z:8.041664
Vertex 58: X:9.437499 Y:-16.346228 Z:-12.375003
Vertex 59: X:9.437499 Y:-16.346228 Z:12.124996
Vertex 60: X:9.437499 Y:-16.346228 Z:-8.291669
Vertex 61: X:9.437499 Y:-16.346228 Z:-4.208335
Vertex 62: X:9.437499 Y:-16.346228 Z:-0.125003
Vertex 63: X:9.437499 Y:-16.346228 Z:3.958332
Vertex 64: X:9.437499 Y:-16.346228 Z:8.041664
Vertex 65: X:0.000002 Y:-18.874998 Z:-12.375003
Vertex 66: X:0.000002 Y:-18.874998 Z:12.124996
Vertex 67: X:0.000002 Y:-18.874998 Z:-8.291669
Vertex 68: X:0.000002 Y:-18.874998 Z:-4.208336
Vertex 69: X:0.000002 Y:-18.874998 Z:-0.125003
Vertex 70: X:0.000002 Y:-18.874998 Z:3.958331
Vertex 71: X:0.000002 Y:-18.874998 Z:8.041664
Vertex 72: X:-9.437496 Y:-16.346228 Z:-12.375003
Vertex 73: X:-9.437496 Y:-16.346228 Z:12.124996
Vertex 74: X:-9.437496 Y:-16.346228 Z:-8.291669
Vertex 75: X:-9.437496 Y:-16.346228 Z:-4.208335
Vertex 76: X:-9.437496 Y:-16.346228 Z:-0.125003
Vertex 77: X:-9.437496 Y:-16.346228 Z:3.958332
Vertex 78: X:-9.437496 Y:-16.346228 Z:8.041664
Vertex 79: X:-16.346228 Y:-9.437503 Z:-12.375002
Vertex 80: X:-16.346228 Y:-9.437505 Z:12.124998
Vertex 81: X:-16.346228 Y:-9.437504 Z:-8.291668
Vertex 82: X:-16.346228 Y:-9.437504 Z:-4.208335
Vertex 83: X:-16.346228 Y:-9.437504 Z:-0.125002
Vertex 84: X:-16.346228 Y:-9.437504 Z:3.958332
Vertex 85: X:-16.346228 Y:-9.437504 Z:8.041664
Face list:
Face 0: A:0 B:1 C:2 AB:1 BC:1 CA:1
Smoothing: 2
Face 1: A:3 B:4 C:5 AB:1 BC:1 CA:1
Smoothing: 2
Face 2: A:0 B:6 C:7 AB:1 BC:1 CA:1
Smoothing: 1
Face 3: A:0 B:7 C:1 AB:1 BC:1 CA:1
Smoothing: 1
Face 4: A:6 B:8 C:7 AB:1 BC:1 CA:1
Smoothing: 1
Face 5: A:8 B:9 C:7 AB:1 BC:1 CA:1
Smoothing: 1
Face 6: A:8 B:10 C:11 AB:1 BC:1 CA:1
Smoothing: 1
Face 7: A:8 B:11 C:9 AB:1 BC:1 CA:1
Smoothing: 1
Face 8: A:10 B:12 C:11 AB:1 BC:1 CA:1
Smoothing: 1
Face 9: A:12 B:13 C:11 AB:1 BC:1 CA:1
Smoothing: 1
Face 10: A:12 B:14 C:15 AB:1 BC:1 CA:1
Smoothing: 1
Face 11: A:12 B:15 C:13 AB:1 BC:1 CA:1
Smoothing: 1
Face 12: A:14 B:3 C:15 AB:1 BC:1 CA:1
Smoothing: 1
Face 13: A:3 B:5 C:15 AB:1 BC:1 CA:1
Smoothing: 1
Face 14: A:1 B:16 C:2 AB:1 BC:1 CA:1
Smoothing: 2
Face 15: A:5 B:4 C:17 AB:1 BC:1 CA:1
Smoothing: 2
Face 16: A:1 B:7 C:16 AB:1 BC:1 CA:1
Smoothing: 1
Face 17: A:7 B:18 C:16 AB:1 BC:1 CA:1
Smoothing: 1
Face 18: A:7 B:9 C:19 AB:1 BC:1 CA:1
Smoothing: 1
Face 19: A:7 B:19 C:18 AB:1 BC:1 CA:1
Smoothing: 1
Face 20: A:9 B:11 C:19 AB:1 BC:1 CA:1
Smoothing: 1
Face 21: A:11 B:20 C:19 AB:1 BC:1 CA:1
Smoothing: 1
Face 22: A:11 B:13 C:21 AB:1 BC:1 CA:1
Smoothing: 1
Face 23: A:11 B:21 C:20 AB:1 BC:1 CA:1
Smoothing: 1
Face 24: A:13 B:15 C:21 AB:1 BC:1 CA:1
Smoothing: 1
Face 25: A:15 B:22 C:21 AB:1 BC:1 CA:1
Smoothing: 1
Face 26: A:15 B:5 C:17 AB:1 BC:1 CA:1
Smoothing: 1
Face 27: A:15 B:17 C:22 AB:1 BC:1 CA:1
Smoothing: 1
Face 28: A:16 B:23 C:2 AB:1 BC:1 CA:1
Smoothing: 2
Face 29: A:17 B:4 C:24 AB:1 BC:1 CA:1
Smoothing: 2
Face 30: A:16 B:18 C:25 AB:1 BC:1 CA:1
Smoothing: 1
Face 31: A:16 B:25 C:23 AB:1 BC:1 CA:1
Smoothing: 1
Face 32: A:18 B:19 C:25 AB:1 BC:1 CA:1
Smoothing: 1
Face 33: A:19 B:26 C:25 AB:1 BC:1 CA:1
Smoothing: 1
Face 34: A:19 B:20 C:27 AB:1 BC:1 CA:1
Smoothing: 1
Face 35: A:19 B:27 C:26 AB:1 BC:1 CA:1
Smoothing: 1
Face 36: A:20 B:21 C:27 AB:1 BC:1 CA:1
Smoothing: 1
Face 37: A:21 B:28 C:27 AB:1 BC:1 CA:1
Smoothing: 1
Face 38: A:21 B:22 C:29 AB:1 BC:1 CA:1
Smoothing: 1
Face 39: A:21 B:29 C:28 AB:1 BC:1 CA:1
Smoothing: 1
Face 40: A:22 B:17 C:29 AB:1 BC:1 CA:1
Smoothing: 1
Face 41: A:17 B:24 C:29 AB:1 BC:1 CA:1
Smoothing: 1
Face 42: A:23 B:30 C:2 AB:1 BC:1 CA:1
Smoothing: 2
Face 43: A:24 B:4 C:31 AB:1 BC:1 CA:1
Smoothing: 2
Face 44: A:23 B:25 C:30 AB:1 BC:1 CA:1
Smoothing: 1
Face 45: A:25 B:32 C:30 AB:1 BC:1 CA:1
Smoothing: 1
Face 46: A:25 B:26 C:33 AB:1 BC:1 CA:1
Smoothing: 1
Face 47: A:25 B:33 C:32 AB:1 BC:1 CA:1
Smoothing: 1
Face 48: A:26 B:27 C:33 AB:1 BC:1 CA:1
Smoothing: 1
Face 49: A:27 B:34 C:33 AB:1 BC:1 CA:1
Smoothing: 1
Face 50: A:27 B:28 C:35 AB:1 BC:1 CA:1
Smoothing: 1
Face 51: A:27 B:35 C:34 AB:1 BC:1 CA:1
Smoothing: 1
Face 52: A:28 B:29 C:35 AB:1 BC:1 CA:1
Smoothing: 1
Face 53: A:29 B:36 C:35 AB:1 BC:1 CA:1
Smoothing: 1
Face 54: A:29 B:24 C:31 AB:1 BC:1 CA:1
Smoothing: 1
Face 55: A:29 B:31 C:36 AB:1 BC:1 CA:1
Smoothing: 1
Face 56: A:30 B:37 C:2 AB:1 BC:1 CA:1
Smoothing: 2
Face 57: A:31 B:4 C:38 AB:1 BC:1 CA:1
Smoothing: 2
Face 58: A:30 B:32 C:39 AB:1 BC:1 CA:1
Smoothing: 1
Face 59: A:30 B:39 C:37 AB:1 BC:1 CA:1
Smoothing: 1
Face 60: A:32 B:33 C:39 AB:1 BC:1 CA:1
Smoothing: 1
Face 61: A:33 B:40 C:39 AB:1 BC:1 CA:1
Smoothing: 1
Face 62: A:33 B:34 C:41 AB:1 BC:1 CA:1
Smoothing: 1
Face 63: A:33 B:41 C:40 AB:1 BC:1 CA:1
Smoothing: 1
Face 64: A:34 B:35 C:41 AB:1 BC:1 CA:1
Smoothing: 1
Face 65: A:35 B:42 C:41 AB:1 BC:1 CA:1
Smoothing: 1
Face 66: A:35 B:36 C:43 AB:1 BC:1 CA:1
Smoothing: 1
Face 67: A:35 B:43 C:42 AB:1 BC:1 CA:1
Smoothing: 1
Face 68: A:36 B:31 C:43 AB:1 BC:1 CA:1
Smoothing: 1
Face 69: A:31 B:38 C:43 AB:1 BC:1 CA:1
Smoothing: 1
Face 70: A:37 B:44 C:2 AB:1 BC:1 CA:1
Smoothing: 2
Face 71: A:38 B:4 C:45 AB:1 BC:1 CA:1
Smoothing: 2
Face 72: A:37 B:39 C:44 AB:1 BC:1 CA:1
Smoothing: 1
Face 73: A:39 B:46 C:44 AB:1 BC:1 CA:1
Smoothing: 1
Face 74: A:39 B:40 C:47 AB:1 BC:1 CA:1
Smoothing: 1
Face 75: A:39 B:47 C:46 AB:1 BC:1 CA:1
Smoothing: 1
Face 76: A:40 B:41 C:47 AB:1 BC:1 CA:1
Smoothing: 1
Face 77: A:41 B:48 C:47 AB:1 BC:1 CA:1
Smoothing: 1
Face 78: A:41 B:42 C:49 AB:1 BC:1 CA:1
Smoothing: 1
Face 79: A:41 B:49 C:48 AB:1 BC:1 CA:1
Smoothing: 1
Face 80: A:42 B:43 C:49 AB:1 BC:1 CA:1
Smoothing: 1
Face 81: A:43 B:50 C:49 AB:1 BC:1 CA:1
Smoothing: 1
Face 82: A:43 B:38 C:45 AB:1 BC:1 CA:1
Smoothing: 1
Face 83: A:43 B:45 C:50 AB:1 BC:1 CA:1
Smoothing: 1
Face 84: A:44 B:51 C:2 AB:1 BC:1 CA:1
Smoothing: 2
Face 85: A:45 B:4 C:52 AB:1 BC:1 CA:1
Smoothing: 2
Face 86: A:44 B:46 C:53 AB:1 BC:1 CA:1
Smoothing: 1
Face 87: A:44 B:53 C:51 AB:1 BC:1 CA:1
Smoothing: 1
Face 88: A:46 B:47 C:53 AB:1 BC:1 CA:1
Smoothing: 1
Face 89: A:47 B:54 C:53 AB:1 BC:1 CA:1
Smoothing: 1
Face 90: A:47 B:48 C:55 AB:1 BC:1 CA:1
Smoothing: 1
Face 91: A:47 B:55 C:54 AB:1 BC:1 CA:1
Smoothing: 1
Face 92: A:48 B:49 C:55 AB:1 BC:1 CA:1
Smoothing: 1
Face 93: A:49 B:56 C:55 AB:1 BC:1 CA:1
Smoothing: 1
Face 94: A:49 B:50 C:57 AB:1 BC:1 CA:1
Smoothing: 1
Face 95: A:49 B:57 C:56 AB:1 BC:1 CA:1
Smoothing: 1
Face 96: A:50 B:45 C:57 AB:1 BC:1 CA:1
Smoothing: 1
Face 97: A:45 B:52 C:57 AB:1 BC:1 CA:1
Smoothing: 1
Face 98: A:51 B:58 C:2 AB:1 BC:1 CA:1
Smoothing: 2
Face 99: A:52 B:4 C:59 AB:1 BC:1 CA:1
Smoothing: 2
Face 100: A:51 B:53 C:58 AB:1 BC:1 CA:1
Smoothing: 1
Face 101: A:53 B:60 C:58 AB:1 BC:1 CA:1
Smoothing: 1
Face 102: A:53 B:54 C:61 AB:1 BC:1 CA:1
Smoothing: 1
Face 103: A:53 B:61 C:60 AB:1 BC:1 CA:1
Smoothing: 1
Face 104: A:54 B:55 C:61 AB:1 BC:1 CA:1
Smoothing: 1
Face 105: A:55 B:62 C:61 AB:1 BC:1 CA:1
Smoothing: 1
Face 106: A:55 B:56 C:63 AB:1 BC:1 CA:1
Smoothing: 1
Face 107: A:55 B:63 C:62 AB:1 BC:1 CA:1
Smoothing: 1
Face 108: A:56 B:57 C:63 AB:1 BC:1 CA:1
Smoothing: 1
Face 109: A:57 B:64 C:63 AB:1 BC:1 CA:1
Smoothing: 1
Face 110: A:57 B:52 C:59 AB:1 BC:1 CA:1
Smoothing: 1
Face 111: A:57 B:59 C:64 AB:1 BC:1 CA:1
Smoothing: 1
Face 112: A:58 B:65 C:2 AB:1 BC:1 CA:1
Smoothing: 2
Face 113: A:59 B:4 C:66 AB:1 BC:1 CA:1
Smoothing: 2
Face 114: A:58 B:60 C:67 AB:1 BC:1 CA:1
Smoothing: 1
Face 115: A:58 B:67 C:65 AB:1 BC:1 CA:1
Smoothing: 1
Face 116: A:60 B:61 C:67 AB:1 BC:1 CA:1
Smoothing: 1
Face 117: A:61 B:68 C:67 AB:1 BC:1 CA:1
Smoothing: 1
Face 118: A:61 B:62 C:69 AB:1 BC:1 CA:1
Smoothing: 1
Face 119: A:61 B:69 C:68 AB:1 BC:1 CA:1
Smoothing: 1
Face 120: A:62 B:63 C:69 AB:1 BC:1 CA:1
Smoothing: 1
Face 121: A:63 B:70 C:69 AB:1 BC:1 CA:1
Smoothing: 1
Face 122: A:63 B:64 C:71 AB:1 BC:1 CA:1
Smoothing: 1
Face 123: A:63 B:71 C:70 AB:1 BC:1 CA:1
Smoothing: 1
Face 124: A:64 B:59 C:71 AB:1 BC:1 CA:1
Smoothing: 1
Face 125: A:59 B:66 C:71 AB:1 BC:1 CA:1
Smoothing: 1
Face 126: A:65 B:72 C:2 AB:1 BC:1 CA:1
Smoothing: 2
Face 127: A:66 B:4 C:73 AB:1 BC:1 CA:1
Smoothing: 2
Face 128: A:65 B:67 C:72 AB:1 BC:1 CA:1
Smoothing: 1
Face 129: A:67 B:74 C:72 AB:1 BC:1 CA:1
Smoothing: 1
Face 130: A:67 B:68 C:75 AB:1 BC:1 CA:1
Smoothing: 1
Face 131: A:67 B:75 C:74 AB:1 BC:1 CA:1
Smoothing: 1
Face 132: A:68 B:69 C:75 AB:1 BC:1 CA:1
Smoothing: 1
Face 133: A:69 B:76 C:75 AB:1 BC:1 CA:1
Smoothing: 1
Face 134: A:69 B:70 C:77 AB:1 BC:1 CA:1
Smoothing: 1
Face 135: A:69 B:77 C:76 AB:1 BC:1 CA:1
Smoothing: 1
Face 136: A:70 B:71 C:77 AB:1 BC:1 CA:1
Smoothing: 1
Face 137: A:71 B:78 C:77 AB:1 BC:1 CA:1
Smoothing: 1
Face 138: A:71 B:66 C:73 AB:1 BC:1 CA:1
Smoothing: 1
Face 139: A:71 B:73 C:78 AB:1 BC:1 CA:1
Smoothing: 1
Face 140: A:72 B:79 C:2 AB:1 BC:1 CA:1
Smoothing: 2
Face 141: A:73 B:4 C:80 AB:1 BC:1 CA:1
Smoothing: 2
Face 142: A:72 B:74 C:81 AB:1 BC:1 CA:1
Smoothing: 1
Face 143: A:72 B:81 C:79 AB:1 BC:1 CA:1
Smoothing: 1
Face 144: A:74 B:75 C:81 AB:1 BC:1 CA:1
Smoothing: 1
Face 145: A:75 B:82 C:81 AB:1 BC:1 CA:1
Smoothing: 1
Face 146: A:75 B:76 C:83 AB:1 BC:1 CA:1
Smoothing: 1
Face 147: A:75 B:83 C:82 AB:1 BC:1 CA:1
Smoothing: 1
Face 148: A:76 B:77 C:83 AB:1 BC:1 CA:1
Smoothing: 1
Face 149: A:77 B:84 C:83 AB:1 BC:1 CA:1
Smoothing: 1
Face 150: A:77 B:78 C:85 AB:1 BC:1 CA:1
Smoothing: 1
Face 151: A:77 B:85 C:84 AB:1 BC:1 CA:1
Smoothing: 1
Face 152: A:78 B:73 C:85 AB:1 BC:1 CA:1
Smoothing: 1
Face 153: A:73 B:80 C:85 AB:1 BC:1 CA:1
Smoothing: 1
Face 154: A:79 B:0 C:2 AB:1 BC:1 CA:1
Smoothing: 2
Face 155: A:80 B:4 C:3 AB:1 BC:1 CA:1
Smoothing: 2
Face 156: A:79 B:81 C:0 AB:1 BC:1 CA:1
Smoothing: 1
Face 157: A:81 B:6 C:0 AB:1 BC:1 CA:1
Smoothing: 1
Face 158: A:81 B:82 C:8 AB:1 BC:1 CA:1
Smoothing: 1
Face 159: A:81 B:8 C:6 AB:1 BC:1 CA:1
Smoothing: 1
Face 160: A:82 B:83 C:8 AB:1 BC:1 CA:1
Smoothing: 1
Face 161: A:83 B:10 C:8 AB:1 BC:1 CA:1
Smoothing: 1
Face 162: A:83 B:84 C:12 AB:1 BC:1 CA:1
Smoothing: 1
Face 163: A:83 B:12 C:10 AB:1 BC:1 CA:1
Smoothing: 1
Face 164: A:84 B:85 C:12 AB:1 BC:1 CA:1
Smoothing: 1
Face 165: A:85 B:14 C:12 AB:1 BC:1 CA:1
Smoothing: 1
Face 166: A:85 B:80 C:3 AB:1 BC:1 CA:1
Smoothing: 1
Face 167: A:85 B:3 C:14 AB:1 BC:1 CA:1
Smoothing: 1
so delete and write in the first line: 86
Simple: the number of vertices. Then delete from "Face list" to the end, we don't need this.
Now use a Replace command and erase all the word we don't need (Vertix , X:, Y:, Z:
In few words you will have to get a list of three number coordinates (X Y Z) separated by a single space. Every triplet identify one of the 86 vertices declared at the beginning. The result should be:
Now I used a complex mesh ('cause we really need an horizonal cylinder!), but you probably will create simpler shape (50-90 vertices).86
-18.875000 0.000000 -12.375002
-16.346230 9.437501 -12.375002
0.000000 0.000002 -12.375002
-18.875000 -0.000000 12.124998
0.000000 0.000001 12.124998
-16.346230 9.437499 12.124998
-18.875000 0.000000 -8.291668
-16.346230 9.437500 -8.291668
-18.875000 0.000000 -4.208335
-16.346230 9.437500 -4.208334
-18.875000 0.000000 -0.125002
-16.346230 9.437500 -0.125002
-18.875000 0.000000 3.958332
-16.346230 9.437500 3.958332
-18.875000 -0.000000 8.041664
-16.346230 9.437500 8.041664
-9.437501 16.346231 -12.375001
-9.437501 16.346231 12.125000
-9.437501 16.346231 -8.291667
-9.437501 16.346231 -4.208334
-9.437501 16.346231 -0.125001
-9.437501 16.346231 3.958332
-9.437501 16.346231 8.041664
-0.000000 18.875002 -12.375001
-0.000000 18.875002 12.125000
-0.000000 18.875002 -8.291667
-0.000000 18.875002 -4.208334
-0.000000 18.875002 -0.125001
-0.000000 18.875002 3.958333
-0.000000 18.875002 8.041664
9.437499 16.346231 -12.375001
9.437499 16.346231 12.125000
9.437499 16.346231 -8.291667
9.437499 16.346231 -4.208334
9.437499 16.346231 -0.125001
9.437499 16.346231 3.958332
9.437499 16.346231 8.041664
16.346230 9.437505 -12.375002
16.346230 9.437503 12.124998
16.346230 9.437504 -8.291668
16.346230 9.437504 -4.208334
16.346230 9.437504 -0.125002
16.346230 9.437504 3.958332
16.346230 9.437504 8.041664
18.875000 0.000001 -12.375002
18.875000 0.000000 12.124998
18.875000 0.000001 -8.291668
18.875000 0.000001 -4.208335
18.875000 0.000001 -0.125002
18.875000 0.000001 3.958332
18.875000 0.000000 8.041664
16.346230 -9.437493 -12.375002
16.346230 -9.437495 12.124998
16.346230 -9.437494 -8.291668
16.346230 -9.437494 -4.208335
16.346230 -9.437494 -0.125002
16.346230 -9.437494 3.958332
16.346230 -9.437494 8.041664
9.437499 -16.346228 -12.375003
9.437499 -16.346228 12.124996
9.437499 -16.346228 -8.291669
9.437499 -16.346228 -4.208335
9.437499 -16.346228 -0.125003
9.437499 -16.346228 3.958332
9.437499 -16.346228 8.041664
0.000002 -18.874998 -12.375003
0.000002 -18.874998 12.124996
0.000002 -18.874998 -8.291669
0.000002 -18.874998 -4.208336
0.000002 -18.874998 -0.125003
0.000002 -18.874998 3.958331
0.000002 -18.874998 8.041664
-9.437496 -16.346228 -12.375003
-9.437496 -16.346228 12.124996
-9.437496 -16.346228 -8.291669
-9.437496 -16.346228 -4.208335
-9.437496 -16.346228 -0.125003
-9.437496 -16.346228 3.958332
-9.437496 -16.346228 8.041664
-16.346228 -9.437503 -12.375002
-16.346228 -9.437505 12.124998
-16.346228 -9.437504 -8.291668
-16.346228 -9.437504 -4.208335
-16.346228 -9.437504 -0.125002
-16.346228 -9.437504 3.958332
-16.346228 -9.437504 8.041664
3) Save the file your_shape_name.txt and put it in the qhull directory (read the previous post). Create a *.bat file with the instruction: adjacency your_shape_name.txt your_shape_name.bin
You will get a bin file. Copy it in your workng RF main folder (where is your Realityfactory.exe). Create a actor with the previously exported bdy mesh.
The source code to correctly see the Hull bbox isn't ready so initially it's a good idea to see your mesh (with the idea in your mind that visible geometry and bbox have the same shape and dimension).
so:
4) In the Physic Script use your_shape_name.act in the Body Actor parameter and use in the BBox parameter: "Hull your_shape_name.bin"
See the physics documentation and test_hull.p in the script folder.
5) Be careful! Probably (I had non-coherent responses) the collision shape doesn't rotate with the mesh object (so now orient the mesh 0,0,0 and use pre-aligned geometry). I don't know if the scale parameter works. The Hull doesn't work in PhysicsRigidBody entity, works only in PhysicsScript (or my updated exe doesn't match with my editor header). I've checked my non-updated source code: there is a lack of code for the Hull BBox rendering, so if you turn on DrawBBOX and you don't see anything, doesn't mean that then hull box doesn't work.
Demo Attached!!! Shoot 'em all!
Bugs: the Hedra Tetra initially fall and "sit" on one of his vertices, next (shooting it) it works. The "T" falls down the floor but the hull collision initially works...
However: WOW!!!

@Nout : probably this cylinder I created is too detailed but now we can create a real BBox for our wheels so we can see if that bike steers and the car has a better behaviour...
- Attachments
-
- screen000.jpg (26.35 KiB) Viewed 2171 times
-
- hull_test.zip
- (37.16 KiB) Downloaded 86 times
thats great!... i stood ontop of the cylinder when it was laying flat like a stage, shot it, and it went flying out from under me sending me falling
there are some rotation bugs, however. they seem to spin like tops (i may have already mentioned that) also, how many objects were there supposed to be in that demo? I only had 2, i think it was the green 'e' and purple cylinder. when i shot the e when it was against the wall, it also flew through the wall, like it hadnt realized it was too close to a wall and should bounce.
otherwise, VERY exciting!
also, great find with that "hack" Fed!!! incredible how you found that "ability"
EDIT: incase you need it, it was running on an athlon xp 2500+. if you want i can test it on my 1.3 ghz celeron m laptop to see if its something to do with scaling with the processor's speed.

there are some rotation bugs, however. they seem to spin like tops (i may have already mentioned that) also, how many objects were there supposed to be in that demo? I only had 2, i think it was the green 'e' and purple cylinder. when i shot the e when it was against the wall, it also flew through the wall, like it hadnt realized it was too close to a wall and should bounce.
otherwise, VERY exciting!

EDIT: incase you need it, it was running on an athlon xp 2500+. if you want i can test it on my 1.3 ghz celeron m laptop to see if its something to do with scaling with the processor's speed.
The rotation bug has due to your old-dated exe. Nout is a perfectionist (
) so he hasn't still released the new alpha. I assure you that it's all a whole different story. Also my previous demo has all another "feeling". I suggest you to re-test all using the new release.
Unfortunately the object should be four: a yellow tetra hedra, a green "T", a red "S", a violet cylinder. The know bugs are that some objects (the T systematically) fall down the floor. I've checked the archive. Have you pasted all the files respecting the folder hierarchy (including putting the bin files in the same folder of realityfactory.exe)? I assume yes, 'cause you are an experienced user, and so there is something I can only ascribe to the out-dated exe or some other bug I can't understand.
Ah, about that "ability", it's Nout, not me, I'm only trying to help him to test all these goodness as fast as we can. So we can fast grow up and get out "something physical" from RF. I can hardly think to all the difficulty one alone can meet having an aim so high as nout has. Anyway I think that this topic shows that if the community works togheter we can proceed extremely fast.
@Nout
Hull now is tested, need some imprevement but it's quite ok (I think that the problems hat affect hull are the same that affect normal physics - also the car wheels often fall down the floor), my curiosity is the same: terrain?
I've tried to drive the car in a bsp terrain: it was discouraging....

Unfortunately the object should be four: a yellow tetra hedra, a green "T", a red "S", a violet cylinder. The know bugs are that some objects (the T systematically) fall down the floor. I've checked the archive. Have you pasted all the files respecting the folder hierarchy (including putting the bin files in the same folder of realityfactory.exe)? I assume yes, 'cause you are an experienced user, and so there is something I can only ascribe to the out-dated exe or some other bug I can't understand.
Ah, about that "ability", it's Nout, not me, I'm only trying to help him to test all these goodness as fast as we can. So we can fast grow up and get out "something physical" from RF. I can hardly think to all the difficulty one alone can meet having an aim so high as nout has. Anyway I think that this topic shows that if the community works togheter we can proceed extremely fast.
@Nout
Hull now is tested, need some imprevement but it's quite ok (I think that the problems hat affect hull are the same that affect normal physics - also the car wheels often fall down the floor), my curiosity is the same: terrain?
I've tried to drive the car in a bsp terrain: it was discouraging....

Frederico,
Thanks for testing the Hull.
Sounds like opening a lot of new doors!
For the terrein, Tokamak only knows 1 terrein mesh (unfortunately)
BUT it also knows... indeed a call-back
The goal of the call back it to scan only the triangles that are close to a moving an visible object. I'm not in that stage yet, and will leave it behind till after the alpha release. Using the hull as terrein is not the best idea. It will be slow.
For the car, I might have found another trick instead of using geometry. I'm now testing to use a hinge for the wheel rotation, and "manipulate by code" the oriantation of the hinge for steering. It's even possible to bring it into a script command, so usable by everybody. If this works, it's a resource minimizing way to get a steerable wheel
Only thing to complete before making a next alpha release is the VehicleEntity
Thanks for testing the Hull.
Sounds like opening a lot of new doors!
For the terrein, Tokamak only knows 1 terrein mesh (unfortunately)
BUT it also knows... indeed a call-back
The goal of the call back it to scan only the triangles that are close to a moving an visible object. I'm not in that stage yet, and will leave it behind till after the alpha release. Using the hull as terrein is not the best idea. It will be slow.
For the car, I might have found another trick instead of using geometry. I'm now testing to use a hinge for the wheel rotation, and "manipulate by code" the oriantation of the hinge for steering. It's even possible to bring it into a script command, so usable by everybody. If this works, it's a resource minimizing way to get a steerable wheel
Only thing to complete before making a next alpha release is the VehicleEntity
oh yeah!
the hull terrain doesn't speed down the physic too much. This part of my tests is quite encouraging. The problem is that I can't find find a way to have a correct hull collision for the terrain. It's like a problem of scale. The hull box isn't scalable and it is created using "absolute coordinates" so if you scale the Body object the hulll doesn't automatically scale itself. In the other hand, declaring the absolute dimensions (Hull terrain.bin 1000 1000 1000) it doesn't work correctly, no collision at all. So there is a method conflict. If I keep my terrain small (like 100-150 texels), no scale for the issues before mentioned, the collision will works. If I scale up the terrain and I compute a new hull ( a 12 factor of scale - 1200 texel of terrain, same shape) the collision in the top of terrain doesn't work and the objects fall trough the terrain mesh, they bounce up from the floor and then hit the bottom of the terrain colliding with it (!). I've got a neurotic attack trying to get this work!
So the possible solution is to scale down of the object and try it again, but I don't think that this can be the happiness of a level designer, anyway I'll try...
_______
My white van is the best car I'll send you today. The better mix between the script, geometry, masses, polycount, framerate. Wow it's really an RF-car!
_______
I've tried to put an hull cylinder as a wheel. The behaviour was quite incorrect, unstable (several falling down the floor), and definitively worse than the sphere. I was too optimistic, we have to test it again...

the hull terrain doesn't speed down the physic too much. This part of my tests is quite encouraging. The problem is that I can't find find a way to have a correct hull collision for the terrain. It's like a problem of scale. The hull box isn't scalable and it is created using "absolute coordinates" so if you scale the Body object the hulll doesn't automatically scale itself. In the other hand, declaring the absolute dimensions (Hull terrain.bin 1000 1000 1000) it doesn't work correctly, no collision at all. So there is a method conflict. If I keep my terrain small (like 100-150 texels), no scale for the issues before mentioned, the collision will works. If I scale up the terrain and I compute a new hull ( a 12 factor of scale - 1200 texel of terrain, same shape) the collision in the top of terrain doesn't work and the objects fall trough the terrain mesh, they bounce up from the floor and then hit the bottom of the terrain colliding with it (!). I've got a neurotic attack trying to get this work!

So the possible solution is to scale down of the object and try it again, but I don't think that this can be the happiness of a level designer, anyway I'll try...
_______
My white van is the best car I'll send you today. The better mix between the script, geometry, masses, polycount, framerate. Wow it's really an RF-car!
_______
I've tried to put an hull cylinder as a wheel. The behaviour was quite incorrect, unstable (several falling down the floor), and definitively worse than the sphere. I was too optimistic, we have to test it again...
One of the major reasons for falling thorught the floor is the size of objects. For Tokamak, all RF dimensions are very big, and physics, eg like velocity is depending on size (meter / second -> includes meters)
Alother problem can be the speed of objects. If it moves too fast, it can pass through the wall aswell.
Try to scal down a world and see if this works better
Also the engine iteration and frame rate play a role
I hope we get this resolved, as this is a fundamantal problem and there is not access to the Tokamak code, only the library
Alother problem can be the speed of objects. If it moves too fast, it can pass through the wall aswell.
Try to scal down a world and see if this works better
Also the engine iteration and frame rate play a role
I hope we get this resolved, as this is a fundamantal problem and there is not access to the Tokamak code, only the library
MAZE PROTOTYPE
DOWNLOAD:
http://realityfactory.altervista.org/do ... totype.zip
ok, the physicVehicle now it's in your hand, Nout. Now I'm trying to test something else. Now I'm explorating some basic gameplay, because the physic interface now is not enough designer-friendly. So I start with some simple gameplay. Then I think that we can try to integrate in the code as entities some of these test.
Which games can be made using only one object interaction? Too much... all the games with a ball: a billiard, a table-soccer, a marble madness...
But they are however too advanced so I'll start from something basical: a Maze game.
This is the control prototype. There are a ball and a plane with 4 walls. Using the new Nout's mouse commands (GetMouseX GetMouseY ShowMouse MouseControlledPlayer etc.. ) I've set up 2 control method. Now there isn't a real maze. It's only a control test using physical objects and hinges. I hate the fact that I am not able to script a simple C program to compilate a simple (even non graphical with ascii characters) level editor. The maze creation will be an awful boredom .
Anyway, this is something....
DOWNLOAD:
http://realityfactory.altervista.org/do ... totype.zip
DOWNLOAD:
http://realityfactory.altervista.org/do ... totype.zip
ok, the physicVehicle now it's in your hand, Nout. Now I'm trying to test something else. Now I'm explorating some basic gameplay, because the physic interface now is not enough designer-friendly. So I start with some simple gameplay. Then I think that we can try to integrate in the code as entities some of these test.
Which games can be made using only one object interaction? Too much... all the games with a ball: a billiard, a table-soccer, a marble madness...
But they are however too advanced so I'll start from something basical: a Maze game.
This is the control prototype. There are a ball and a plane with 4 walls. Using the new Nout's mouse commands (GetMouseX GetMouseY ShowMouse MouseControlledPlayer etc.. ) I've set up 2 control method. Now there isn't a real maze. It's only a control test using physical objects and hinges. I hate the fact that I am not able to script a simple C program to compilate a simple (even non graphical with ascii characters) level editor. The maze creation will be an awful boredom .

Anyway, this is something....
DOWNLOAD:
http://realityfactory.altervista.org/do ... totype.zip

- Attachments
-
- screen000.jpg (13.71 KiB) Viewed 2100 times
-
- screen001.jpg (14.45 KiB) Viewed 2100 times
You mean it's difficult to define all the hinges and positions, right, and look for a more friendly way to so, right?I hate the fact that I am not able to script a simple C program to compilate a simple (even non graphical with ascii characters) level editor. The maze creation will be an awful boredom .
I haven't looked into this, but it should be feasbale to get this done with the existing editors. That's a nice challenge for after the release

Great to hear that we are approaching to the next release.. so we have to make some bug tracking now.
ExtendRigidBody is quite buggy. Look at this:
3) I don't understand the differences between the PosX, PosY, PosZ parameters and the following parameter triplet. It seems that the working one for modifying the relative position of the extended body is the second. 4) the rotation parameters are in radiants and not in degrees (
)
5) A StaticBody can't be jointed.
actually I don't how to put the maze over the plane, extendrigidbody is too buggy. Should I try to use SetPositionOfExtended(BodyId, GeomId1, PosX, PosY, PosZ) or SetAngleBetweenExtended(BodyId, GeomId1, GeomId2, AngleX, AngleY, AngleZ)? Whats the difference in respect of ExtendRigidBody? Are this commands useable in "Real Time" in the Start Order, to quickly modify an angle or a Pos?
Now a fantascientific question. Is possible to convert bsp model of the level in a physic object. In this case it would be very simple to create the maze (naturally i think no, but just to rule out the doubts...)?
6) the CreateBallJoint hasn't rotation setting. To create a flipping maze is better than 2 crossed hinges, but I can't turn it up.
7) Please excuse my tirosomeness...
p.s. I have some idea to "simulate" flipping maze using a turning camera, Bsp levels, and lateral forces. But, putting the things in this way, we can put the Tokamak source in the recycle bin... it's a simkin desperate approach!

ExtendRigidBody is quite buggy. Look at this:
I used ExtendRigidBody to have a rigid connection between objects. Issues: 1)I can't extend an extended body. 2) extending from the source Body object (trying to create the walls of the maze) I have buggy behaviour, flashing and crazy forces random applied....Init[ () //Is excecuted only once.
{
Console(false);
PosX = 0;
PosY = 0;
PosZ = 0;
Dx = GetBodyBBox(Body[13], 0);
Dy = GetBodyBBox(Body[13], 1);
Dz = GetBodyBBox(Body[13], 2);
Dx_wall = GetBodyBBox(Body[14], 0);
Dy_wall = GetBodyBBox(Body[14], 1);
Dz_wall = GetBodyBBox(Body[14], 2);
debug("a" # GetBodyBBox(Body[13], 0));
debug("a" #GetBodyBBox(Body[13], 1));
debug("a" #GetBodyBBox(Body[13], 2));
debug(GetBodyBBox(Body[14], 0));
debug(GetBodyBBox(Body[14], 1));
debug(GetBodyBBox(Body[14], 2));
DefineMaterial(1, 3, 0.7);
DefineMaterial(2, 1, 0.9);
//debug
Body[13] = CreateRigidBody("Body13", "maze_plane.act" ,1,1,1, 0, -1070, -220, -490, 0,0,0, 0,0,0 , false, ALPHA, "Box 20.84 65.51 24.31", 1, 0,0,0,0, Mass);
Body[14] = CreateRigidBody("Body14", "box_centered.act" ,0.1,0.25,4, 0, -1070, -220, -490, 0,0,0, 0,0,0 , false, ALPHA, "Box 0", 1, 0,0,0,0, Mass);
//
// create the jointure
Body[0] = CreateRigidBody("Body0", "box_centered.act",0.1,0.1,1, 255, PosX, PosY-Dy, PosZ, 0,0,0, 0,0,0 , false, ALPHA, "Box 0", 1, 0,0,0,0, Mass);
CreateHingeJoint(Body[0], -1, PosX, PosY-Dy, PosZ, 90,0,0, -6, 6,-6, 6, Dz, -1, 0, 0);
Body[1] = CreateRigidBody("Body1", "box_centered.act",1,0.1,0.1, 255, PosX, PosY-Dy, PosZ, 0,0,0, 0,0,0 , false, ALPHA, "Box 0", 1, 0,0,0,0, Mass);
CreateHingeJoint(Body[0], Body[1], PosX, PosY-Dy, PosZ, 0,0,90, -6, 6,-6, 6, Dz, -1, 0, 0);
// create the plane:
Body[3] = ExtendRigidBody(Body[1], "Body3", "maze_plane.act" ,1,1,1, 255, PosX, PosY, PosZ, 0,1,0, 0,0,0 , false, 0, "Box 0", 1, 0,0,0,0, Mass/2);
// and the borders
Body[4] =ExtendRigidBody(Body[1], "Body4", "maze_bounds.act", 1,1,1, 255, 0,0,0, 0+(Dx*2),0+PosY+3,0, 0,0,0 , false, 0, "Box 0", 1, 0,0,0,0, Mass/16);
Body[5] =ExtendRigidBody(Body[1], "Body4", "maze_bounds.act", 1,1,1, 255, 0,0,0, 0-(Dx*2),0+PosY+3,0, 0,0,0 , false, 0, "Box 0", 1, 0,0,0,0, Mass/16);
Body[6] =ExtendRigidBody(Body[1], "Body4", "maze_bounds.act" ,1,1,0.95, 255, 0,0,0, 0, 0+3, 0+(Dx*2), 0,90* 0.0174532925199433,0, false, 0, "Box 0", 1, 0,0,0,0, Mass/16);
Body[7] =ExtendRigidBody(Body[1], "Body4", "maze_bounds.act" ,1,1,0.95, 255, 0,0,0, 0, 0+3, 0-(Dx*2), 0,90* 0.0174532925199433,0, false, 0, "Box 0", 1, 0,0,0,0, Mass/16);
//create the ball
Body[10] = CreateRigidBody("Body10", "BALL",1,1,1, 255, PosX, PosY-60, PosZ, 0,0,0, 0,0,0 , false, ALPHA, "Sphere 0", 2, 0,0,0,0, Mass/20);
} ]
3) I don't understand the differences between the PosX, PosY, PosZ parameters and the following parameter triplet. It seems that the working one for modifying the relative position of the extended body is the second. 4) the rotation parameters are in radiants and not in degrees (

5) A StaticBody can't be jointed.
actually I don't how to put the maze over the plane, extendrigidbody is too buggy. Should I try to use SetPositionOfExtended(BodyId, GeomId1, PosX, PosY, PosZ) or SetAngleBetweenExtended(BodyId, GeomId1, GeomId2, AngleX, AngleY, AngleZ)? Whats the difference in respect of ExtendRigidBody? Are this commands useable in "Real Time" in the Start Order, to quickly modify an angle or a Pos?
Now a fantascientific question. Is possible to convert bsp model of the level in a physic object. In this case it would be very simple to create the maze (naturally i think no, but just to rule out the doubts...)?
6) the CreateBallJoint hasn't rotation setting. To create a flipping maze is better than 2 crossed hinges, but I can't turn it up.
7) Please excuse my tirosomeness...
p.s. I have some idea to "simulate" flipping maze using a turning camera, Bsp levels, and lateral forces. But, putting the things in this way, we can put the Tokamak source in the recycle bin... it's a simkin desperate approach!


About Hull for terrain collision, forget it!
The hull mesh is obtained through a computation system ( I've never known...
) that find all the external points of an object, so the object is forced to have a convex colission shape. In other words if you create a mesh with a "C" shape, the hull obtained will be a "D" fipped to the left (convex).
This is how the hull calculation works (press more control and increment the speed): http://www.cse.unsw.edu.au/~lambert/java/3d/hull.html
So a terrain mesh, will never have his proper form with an hull clip, that's why it doesn't work, my fault (and my shame...)
So how to have a complex and convex collision shape? Newton uses a system of aggregative hulls (i can't find the link anymore
).
There is a way to link the static mesh per face collision wih tokamak? The static mesh collision is built on ode? say this because the staticmesh is attachable to pawns and so to bodies....
The hull mesh is obtained through a computation system ( I've never known...

This is how the hull calculation works (press more control and increment the speed): http://www.cse.unsw.edu.au/~lambert/java/3d/hull.html
So a terrain mesh, will never have his proper form with an hull clip, that's why it doesn't work, my fault (and my shame...)
So how to have a complex and convex collision shape? Newton uses a system of aggregative hulls (i can't find the link anymore

There is a way to link the static mesh per face collision wih tokamak? The static mesh collision is built on ode? say this because the staticmesh is attachable to pawns and so to bodies....