Thread: [REL] C3-class cargo ship
View Single Post
Old 06-28-20, 11:15 AM   #45
Rosomaha
Loader
 
Join Date: Nov 2012
Location: Russia
Posts: 83
Downloads: 72
Uploads: 1
Default

Hi kapuhy.

Working with SH5 units is a lot of combinations of various tricks that come with experience. C3 - became my first mod-experience in SH5. I was interested to know whether it is possible to assemble a home-made unit that is fully functional and identical to the original SH5 with an accessible set of tools. Yes, it turned out to be possible, with some nuances, but it is possible. I think it’s even possible to assemble a new game submarine, at least type 2, with other boats it will be more difficult since need to solve issues with animated details. There is only one big “but”: making a unit is a very big job, and a submarine will be just titanic work.
Back to the topic. I did not use any one specific method. In the course of work, I tried and used different methods.

Quote:
Originally Posted by kapuhy View Post
All bone names in your unit start with NKC3_ClassShips, which means you've changed their names from unit you used as a template. TDW's GR2Editor allows to do that, but when I change name of a bone, all controllers attached to it display "lost controllers" error in Goblin and have to be deleted and remade from scratch, which is horribly time consuming. Did you perhaps manage to find a simpler way for changing names without remaking all controllers?
Yes, I used template in Hex with called NKC3_ClassShips. TDW's GR2Editor changes component names for a long time. At the very beginning, I used Hex-editing a bit, for example, to reassign tags of all names at once, it was not a good idea, I had several broken files at the beginning of work. Although editing in Hex is always a working option and opens up additional possibilities in editing various files. But in order to work with this correctly, you need a full understanding of what you are doing and the file format you are working with.

Something that will somehow help you reduce your time is the” magic " Ctrl-C + Ctrl-V, & etc.
Yes. the most difficult process here will be files .fx , and as a rule, the larger the ship (unit), the more individual FX elements it contains.

So. I think here for many suitable method “dat-twin”:

[1] Build in S3D in the .dat file -“Skeleton” - a copy of the file xxxship _FX. GR2 (the donor ship from SH5 “xxxship”), all we need is the linked order of all Nodes the same as bones in _fx.GR2. The names can be copied directly from GoblinEditor.

[2] the Next step is to assign all nodes in the “Skeleton” ID-numbers the same as in the original “xxxship”.

This will take you a lot of work at the beginning, but then you can easily get the desired order of all completed ObjectCtrlsRef for your new unit. And this is less work than re-creating them again.

Which method you use to extract the source IDs - is purely your choice, & depending on the personal skills of working in certain programs.

As mentioned by @gap: the original IDs are visible in the GoblinEditor.
The ID is in S3D in Parent id. Let me remind you: files .fx can also be opened in S3D, as I have already described here: https://www.subsim.com/radioroom/sho...d.php?t=227910
also ID in files when working with Hex-programs:



It is also useful to understand what the components are .fx have an order, sometimes it can be reversed, but it is there and corresponds to the structure of elements :



So. You have made a dat-"Skeleton" of the sh5 source, with all the source IDs (save, do not forget to make backup copies of your intermediate work files, this may come in handy)

[3] You can now import the “donor” (fx) file to our .dat [by setting it an extension readable by S3D]. (File->import-> Dat file). This way we will already have controllers filled with values. They must be installed directly in the element to which they belong.

[4] If everything is in its place - RENAME the main elements of the skeleton as in your NEW unit-save .dat.

[5] Then open this .dat. in GoblinEditor – for .dat has the “Save file with Granny IDs " function. This useful function makes a clean extraction of controllers from the .dat. file, setting them the desired Granny Ids based on the names of the component elements.

 


The <xxx.dat.GrannyIDs> file is saved. Leave the file extension .dat - now you have a .dat file with the composition of the group of controllers with your names NEW Ids, you can do the rest from it: .sim .val .zon and .fx including. And don't forget to re-save it all to GoblinEditor at the end.

Theoretically, this dat - "Skeleton" can be used as a template in the future for other similar ships with a similar number of fx, if we accept that the same composition of effects will be used. Only then will it be necessary to customize the names in _FX.GR2 to the template, or something like that.

Quote:
Originally Posted by kapuhy View Post
In my units I didn't change bone names and this appeared to work fine, but I noticed that when I got to editing FX file, the modified unit still uses FX file of template unit - I suspect unchanged node names are at fault.
Yes. This will happen if you do not change the names of internal blocks in the ships.. For now I think that's all on this issue from my part.

A little more. I looked at your ship files. I think you will find the following information useful for creating .dds textures and the correct formats used in SH5:

Code:
AO: 
Format                     RGB8888
Compressed Format          DXT1
Mip-Levels                 11(1024x1024) / Generated
Alpha=No


Diffuse:
Format                     RGB8888
Compressed Format          DXT5
Mip-Levels                 11(1024x1024) / Generated
Compressed Bits per pixel  8.0
Alpha=Yes (#if specular)


Normal:
Format                     RGB8888
Compressed Format          DXT1
Mip-Levels                 11(1024x1024) / Generated
Compressed Bits per pixel  8.0
Alpha=No


_sil:
Format                     RGB8888
Compressed Format          DXT5
Mip-Levels                 1 / No Mip maps
Compressed Bits per pixel  8.0
Alpha=Yes (#if opacity)
 

Last edited by Rosomaha; 06-08-21 at 04:07 AM.
Rosomaha is offline   Reply With Quote