SUBSIM Radio Room Forums



SUBSIM: The Web's #1 resource for all submarine & naval simulations since 1997

Go Back   SUBSIM Radio Room Forums > Silent Hunter 3 - 4 - 5 > SH5 Mods Workshop
Forget password? Reset here

Reply
 
Thread Tools Display Modes
Old 01-25-14, 06:22 PM   #2206
gap
Navy Seal
 
Join Date: Jan 2011
Location: CJ8937
Posts: 8,215
Downloads: 793
Uploads: 10
Default

Quote:
Originally Posted by TheDarkWraith View Post
Ok, that makes sense. Try moving the bone using the render window. Select the bone in the bone treeview. Place mouse in the render window. Click the render window. Press C to cage the camera. Ensure T is visible in the bottom right of the app, if not then press T. Ensure Z is visible in the bottom right of window, if not press Z. Now press and hold right mouse button and move mouse forward. Soon as mouse started moving the Update and Reset button should've gone active. Press C to uncage the camera.

When you update the Position, Rotation, or Scale using the extendeddata window you bypass the Update. Obviously you know exactly where you wanted the item since you are directly typing it in!

Okay, it works now. Never actually used the mouse-drag method, and it never popped to my mind that the input method could have mattered until I wrote my last report. Sorry for wasting you time.

P.S. but why, even after saving/reloading, meshes don't follow the translation of their own bone?
__________________
_____________________
|May the Force be with you!|
...\/
gap is offline   Reply With Quote
Old 01-25-14, 06:43 PM   #2207
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

Quote:
Originally Posted by gap View Post
Okay, it works now. Never actually used the mouse-drag method, and it never popped to my mind that the input method could have mattered until I wrote my last report. Sorry for wasting you time.

P.S. but why, even after saving/reloading, meshes don't follow the translation of their own bone?
I'm almost 99% sure that's not how SH5/Goblin works. I really don't understand why meshes have bone bindings except for those that have deformable data (skin data). Look how the meshes are saved in 3D space in the GR2 files. They are pre-positioned to where they need to be.

If you can prove to me that the bone bindings control where the meshes are then I will change it. Also if you can then it poses another problem: what happens when a mesh has multiple bone bindings (and the mesh is not deformable)?
TheDarkWraith is offline   Reply With Quote
Old 01-25-14, 07:16 PM   #2208
gap
Navy Seal
 
Join Date: Jan 2011
Location: CJ8937
Posts: 8,215
Downloads: 793
Uploads: 10
Default

Quote:
Originally Posted by TheDarkWraith View Post
I'm almost 99% sure that's not how SH5/Goblin works. I really don't understand why meshes have bone bindings except for those that have deformable data (skin data). Look how the meshes are saved in 3D space in the GR2 files. They are pre-positioned to where they need to be. If you can prove to me that the bone bindings control where the meshes are then I will change it.
You are probably right: after having a look at the Stuka, I am also convinced that the placement of each mesh relative to its neighbouring meshes, is done through vertex coordinates rather than position/rotation data. This involves that having multiple bone bindings for one given mesh wouldn't help the way it did in SHIII-IV, where one could use multiple iteration of the same mesh for sparing memory usage on models composed by many similar parts in different positions.

As for why bones with position/rotation data are linked to non-deformable meshes, I have a theory. Most control surfaces have position data, but I think their rotation is done through controllers (as in previous games) rather than through GR2 animations. End of the similarities; as opposed to its predecessors (where, rudders, dive planes, etc rotated along their standard axes and node translation was required for their correct positioning along the model), SH5 uses pre-positioned meshes and translation data might be required for determining the pivot point of rotating surfaces
__________________
_____________________
|May the Force be with you!|
...\/
gap is offline   Reply With Quote
Old 01-25-14, 07:28 PM   #2209
gap
Navy Seal
 
Join Date: Jan 2011
Location: CJ8937
Posts: 8,215
Downloads: 793
Uploads: 10
Default

Quote:
Originally Posted by gap View Post
...End of the similarities; as opposed to its predecessors (where, rudders, dive planes, etc rotated along their standard axes and node translation was required for their correct positioning along the model), SH5 uses pre-positioned meshes and translation data might be required for determining the pivot point of rotating surfaces
My reasoning would be invalidated if before exporting a mesh your application added position data from its linked bone its vertex coordinates. If that was true, then SH5 would work exactly as SHIII&IV (i.e. rotation axes, where required, coinciding with main x or y axes, and position data used for item positioning)...
__________________
_____________________
|May the Force be with you!|
...\/
gap is offline   Reply With Quote
Old 01-25-14, 07:44 PM   #2210
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

Quote:
Originally Posted by gap View Post
My reasoning would be invalidated if before exporting a mesh your application added position data from its linked bone its vertex coordinates. If that was true, then SH5 would work exactly as SHIII&IV (i.e. rotation axes, where required, coinciding with main x or y axes, and position data used for item positioning)...
Why don't you do this: take a few bones and move them, like really far, and see if the meshes associated with them change in Goblin/Game. See what happens
TheDarkWraith is offline   Reply With Quote
Old 01-25-14, 07:48 PM   #2211
gap
Navy Seal
 
Join Date: Jan 2011
Location: CJ8937
Posts: 8,215
Downloads: 793
Uploads: 10
Default

By the way: look at the rudder of the Stuka. Its proximal edge (ignoring the small upper appendage), around which the surface is supposed to rotate, got a z coordinate of -0.564341 once exported. This is identical to the z position of the bone that the mesh is linked to.

Either the original position was 0, and your application converted it into -0.564341 by adding bone position to vertex coordinates while exporting, or this -0.564341 tells the game where the pre-positioned rudder must rotate
__________________
_____________________
|May the Force be with you!|
...\/
gap is offline   Reply With Quote
Old 01-25-14, 07:54 PM   #2212
gap
Navy Seal
 
Join Date: Jan 2011
Location: CJ8937
Posts: 8,215
Downloads: 793
Uploads: 10
Default

Quote:
Originally Posted by TheDarkWraith View Post
Why don't you do this: take a few bones and move them, like really far, and see if the meshes associated with them change in Goblin/Game. See what happens
I did this already. There is not apparent difference in Goblin
__________________
_____________________
|May the Force be with you!|
...\/
gap is offline   Reply With Quote
Old 01-25-14, 08:00 PM   #2213
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

Quote:
Originally Posted by gap View Post
I did this already. There is not apparent difference in Goblin
That's what I remembered from long ago. Like I said I don't see the purpose of the mesh bone bindings except for the deformable (skin) data. I'd like to understand what their purpose is
TheDarkWraith is offline   Reply With Quote
Old 01-25-14, 08:36 PM   #2214
gap
Navy Seal
 
Join Date: Jan 2011
Location: CJ8937
Posts: 8,215
Downloads: 793
Uploads: 10
Default

Quote:
Originally Posted by TheDarkWraith View Post
That's what I remembered from long ago. Like I said I don't see the purpose of the mesh bone bindings except for the deformable (skin) data. I'd like to understand what their purpose is
isn't this enough?
----------\/----------

Quote:
Originally Posted by gap View Post
By the way: look at the rudder of the Stuka. Its proximal edge (ignoring the small upper appendage), around which the surface is supposed to rotate, got a z coordinate of -0.564341 once exported. This is identical to the z position of the bone that the mesh is linked to.

Either the original position was 0, and your application converted it into -0.564341 by adding bone position to vertex coordinates while exporting, or this -0.564341 tells the game where the pre-positioned rudder must rotate
...or are the control surfaces that I am talking about to be considered as part of the "deformable" category?
__________________
_____________________
|May the Force be with you!|
...\/
gap is offline   Reply With Quote
Old 01-26-14, 02:12 AM   #2215
Anvart
Admiral
 
Join Date: Jan 2006
Location: Russia ®
Posts: 2,492
Downloads: 122
Uploads: 1
Today, for the first time looked this program ... and I have a question ... how much else author will be puff our brains with his non friendly "monster"? Only one non human interface kills any wish...
__________________
Alex ®


Moses said: "Don't create yourself an idol"...
Anvart is offline   Reply With Quote
Old 01-26-14, 08:31 AM   #2216
gap
Navy Seal
 
Join Date: Jan 2011
Location: CJ8937
Posts: 8,215
Downloads: 793
Uploads: 10
Default

Quote:
Originally Posted by Anvart View Post
Today, for the first time looked this program ... and I have a question ... how much else author will be puff our brains with his non friendly "monster"? Only one non human interface kills any wish...
Hi Anvart,

have you actually tried using the "monster"? If you feel disoriented, pose your questions and we will help you as much as we can; if on the other hand you have any suggestions for making GR2 Editor more user friendly, post them and I am sure TDW will be glad to read them.

But just don't blame your lack of motivation on GR2 Editor's interface
__________________
_____________________
|May the Force be with you!|
...\/
gap is offline   Reply With Quote
Old 01-28-14, 02:55 PM   #2217
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

Quote:
Originally Posted by Anvart View Post
Today, for the first time looked this program ... and I have a question ... how much else author will be puff our brains with his non friendly "monster"? Only one non human interface kills any wish...
Being that this 'monster' has been in constant development for over 1.5 years I never heard any input from you or many others as to how you would like the interface to be. Thus not my problem. You had a chance and you didn't take it.

What I suggest you do is either:
1) learn it
2) don't use it
3) write your own

If you choose to write your own, I wish you luck
TheDarkWraith is offline   Reply With Quote
Old 01-28-14, 03:03 PM   #2218
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

Another piece of the Granny puzzle fell into place today I was playing around with the lifeboat GR2 (CMD_smallboat) and I turned on bounding box rendering and saw that the bounding box for the DMG_col mesh was not where I thought it should be:


I looked over the code for any errors and couldn't find anything wrong with my code. Next I fired up Granny Viewer to see how it renders them:


Look at that! That little tooltip says:
'Toggles whether or not yellow boxes are drawn to indicate the OBB bounds of each bone for each mesh'

This means that the bounding box's position (center) is determined by the bone's position (the bone in each bone binding). This also means that if a mesh has more than 1 bone binding then it will also have x bone binding bounding boxes.

I'm updating my code for this new discovery. Now I understand at least one reason for the mesh bone bindings.
TheDarkWraith is offline   Reply With Quote
Old 01-28-14, 04:05 PM   #2219
tonschk
Admiral
 
Join Date: Mar 2007
Posts: 2,200
Downloads: 172
Uploads: 0
Default

Hello TheDarkWraith , please can you suggest me an example path for me to open with your GR2 Editor/Viewer ? LNK@ paths ? , with my poor knowledge about this, at the moment I am not able to open anything, thank you
tonschk is offline   Reply With Quote
Old 01-28-14, 04:26 PM   #2220
gap
Navy Seal
 
Join Date: Jan 2011
Location: CJ8937
Posts: 8,215
Downloads: 793
Uploads: 10
Default

Quote:
Originally Posted by TheDarkWraith View Post
Another piece of the Granny puzzle fell into place today

...

This means that the bounding box's position (center) is determined by the bone's position (the bone in each bone binding). This also means that if a mesh has more than 1 bone binding then it will also have x bone binding bounding boxes.
In other words, does it works likewise dat format files, where mesh position follows node position?
__________________
_____________________
|May the Force be with you!|
...\/
gap is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 11:15 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © 1995- 2024 Subsim®
"Subsim" is a registered trademark, all rights reserved.