Posted: Tue Sep 09, 2008 10:51 am
Development progress on ATM II is going well. Most of the 'middleware' stuff is done and i'm now working on the 3D editing interface.
This is where i'm not sure how to do this mainly because i'm not a 3D artist at all so I don't know the "rules & common usages" in this field.
1st let me recap what AMT II is:
AMT foundation is a 3D model viewer. It's like MDLView but with editing features. It's not a 3D modeler since you can't directly edit points & faces (meshes) but you can import them and combine them. For instance if you have 'building bocks' for a faction , you can combine them in AMT II to form a complete alleg models.
Then you can add and edit Alleg specific datas in ATM II. These datas are generically called 'Hard Points' (HP there after).
There are various types of HP, each type corresponding to a specific Alleg usage.
As of today, HP types are:
- Lights
- Mount positions: for weapons & turrets
- Launching bays
- Docking bays (called "garages" in Alleg)
- Effect positions
All of these HP types are simply defined by a 3D position (a point) and a name.
Some of these types have extra informations such as an orientation or a color for instance.
Finally the garage type is quite complex since it's a collection of planes.
Now the 1st question come to ergonomics of editing these HP.
What would be the most efficient and yet simple way of editing the position of a HP ? Other way of asking is how to define and move a point in 3D inside a scene ? What's the standard ergonomics here ? (we're talking about User Interface here).
Since some of these HP have also have an orientation, again how to visualize and edit an oriented position ?
Finally, the hardest part: garages (*cough* GT docking bays and AMT1 /tongue.gif" style="vertical-align:middle" emoid=":P" border="0" alt="tongue.gif" />)
A garage in Alleg is defined by 1 to 6 planes. All original Alleg models use 5 planes but the engine support from 1 to 6.
A plane in 3D can be defined by 3 non aligned points and a normal (it's an oriented plane to distinguish on which side of the plane we are)
or by a position (a point) and a direction (the point belongs to the plane and the plane is orthogonal to the direction). Alleg uses this definition.
So a garage plane is also an oriented position like the previous question.
But to ease the editing and positioning of garages, i guess AMTII shouldn't display garage planes as oriented points.
We need a way to visualize the planes and their orientation (aka distinguish sides of the planes). And a way to edit them: move and orient.
For instance as a 1s draft, I rendered the garage planes as transparent squares.
with sides distinguished by color (red & green). The example is cap500 (a carrier).
A ship docks in a garage when ALL the following conditions are met:
- the ship collides with the garage owner (a station or another ship(carrier)). (it's a CVH models collision)
- for each plane garage: the ship is on the 'green' side of the plane and doesn't touch the plane.
As you cannot see in the picture, the planes are actually infinite. What matters is the area "inside" formed by the 5 planes and the mesh.
So how can we visualize and edit these garages ? Should I draw infinite planes ? I lack ideas here /smile.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile.gif" />
This is where i'm not sure how to do this mainly because i'm not a 3D artist at all so I don't know the "rules & common usages" in this field.
1st let me recap what AMT II is:
AMT foundation is a 3D model viewer. It's like MDLView but with editing features. It's not a 3D modeler since you can't directly edit points & faces (meshes) but you can import them and combine them. For instance if you have 'building bocks' for a faction , you can combine them in AMT II to form a complete alleg models.
Then you can add and edit Alleg specific datas in ATM II. These datas are generically called 'Hard Points' (HP there after).
There are various types of HP, each type corresponding to a specific Alleg usage.
As of today, HP types are:
- Lights
- Mount positions: for weapons & turrets
- Launching bays
- Docking bays (called "garages" in Alleg)
- Effect positions
All of these HP types are simply defined by a 3D position (a point) and a name.
Some of these types have extra informations such as an orientation or a color for instance.
Finally the garage type is quite complex since it's a collection of planes.
Now the 1st question come to ergonomics of editing these HP.
What would be the most efficient and yet simple way of editing the position of a HP ? Other way of asking is how to define and move a point in 3D inside a scene ? What's the standard ergonomics here ? (we're talking about User Interface here).
Since some of these HP have also have an orientation, again how to visualize and edit an oriented position ?
Finally, the hardest part: garages (*cough* GT docking bays and AMT1 /tongue.gif" style="vertical-align:middle" emoid=":P" border="0" alt="tongue.gif" />)
A garage in Alleg is defined by 1 to 6 planes. All original Alleg models use 5 planes but the engine support from 1 to 6.
A plane in 3D can be defined by 3 non aligned points and a normal (it's an oriented plane to distinguish on which side of the plane we are)
or by a position (a point) and a direction (the point belongs to the plane and the plane is orthogonal to the direction). Alleg uses this definition.
So a garage plane is also an oriented position like the previous question.
But to ease the editing and positioning of garages, i guess AMTII shouldn't display garage planes as oriented points.
We need a way to visualize the planes and their orientation (aka distinguish sides of the planes). And a way to edit them: move and orient.
For instance as a 1s draft, I rendered the garage planes as transparent squares.
with sides distinguished by color (red & green). The example is cap500 (a carrier).
A ship docks in a garage when ALL the following conditions are met:
- the ship collides with the garage owner (a station or another ship(carrier)). (it's a CVH models collision)
- for each plane garage: the ship is on the 'green' side of the plane and doesn't touch the plane.
As you cannot see in the picture, the planes are actually infinite. What matters is the area "inside" formed by the 5 planes and the mesh.
So how can we visualize and edit these garages ? Should I draw infinite planes ? I lack ideas here /smile.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile.gif" />