Results 1 to 8 of 8

Thread: Non-mirrored hat models (& headgear in general)

  1. #1

    Default Non-mirrored hat models (& headgear in general)

    Hello, I don't know if this forum allows requests, sorry in advance if it doesn't. There are many headgear models in game, but, except for US helmet, they ALL have mirrored models, as in: the texture is made only for one half of hat (helmet, cap, etc) that is then mirrored to cover both sides of model. That was tolerable for vanilla skins which had symmetrical decals or none at all, but for any other decals or camo patterns this gives awful results.

    So to get straight to point, does anyone know if someone before made fixes or models for these things that wouldn't be mirrored? Either with separate textures for two sides, or texture applied "from top" like in US helmet model?
    I got filled with some hope since I managed to find a model of german helmet that modder "cubus" did, they did it by "doubling" the texture, as in, in texture file there are two helmet images and each is applied to different side (attachment).
    Now if only this was done for other headgear models; I mainly need officer hats (officer_hat.skd & ssncocap.skd) and field hat (hat.skd); but camo helmet (coveredhelmet.skd) and general hat (tankofficerhat.skd) would also be blessing to have.

    I will be extremely indebted if anyone would have anything of that, before I sentence myself to those excruciating thousands of hours learning the Lightray3D lol
    Attached Images Attached Images

  2. #2


    Learning lightray3d isn't that dificult. If you want to make non mirrored models like the one you described you can almost do it in 5 minutes.

    Fire up Lightray3d and the latest Milkshape 3d; load a MOHAA model, go to the modifiers section on the right column (image of a hammer) turn the skin into a mesh, delete the bones, select the mesh and click where it says 'faces', select all the faces on one half of the helmet model and click 'detach'. save the model in .3ds format.

    Go to milkshape 3d, load the .3ds model you just made, go to the right column and click 'materials', create new material, load the texture you created for the non mirrored model like the one you showcased, go to the 'groups' board and select one group, assign the group to the texture by double-clicking on the material you just created. do this for both groups ( the meshes that are half helmets that you created in Lightray3d). Save again as a .3ds file.

    Go to lightray3d again, load the .3ds file you created in milkshape, go to the materials section (image of 4 balls) of the right column, select the material you created and load again the texture you created. Then select one of the meshes and in the modifires section select the button that says 'UV map', there you select all the points and drag them to the position of the second helmet texture.

    To finnish the model, select one of the meshes, then click the button 'attach' and select the second mesh. deselect the 'attach button'.
    Import the same mohaa model (.skd and .skc files)from before, reposition the new model (mesh) in the same spot as the old helmet model and delete the skin of said helmed model. Now select the model you created (mesh) and go to the modifiers section and click "convert mesh to skin", it will ask if you want to keep the original mesh, select "no", select the skin you created, go to the list at the top of the 'modifiers' column and select 'edit skin', click 'modify' and 'assign to bone', a board with a list of 'bones' will appear and select the last bone in the list, then 'assign'.

    Now to export you go to the top left corner of lightray3d window and click on the image of a little sheet of paper with a red 'e' on the middle. click 'ok' on the first window that pops up and then it will ask if you want to create an animation, click 'no'.

    There, you are done. Lightray 3d and Milkshape 3d come with tutorials that should provide enough help without having to waste too much time learning.

    I hope the info I gave you helps, good luck.
    Last edited by Soares93; January 13th, 2022 at 05:20 PM.

  3. #3


    Hello, THANK YOU so much, I'm moving forward thanks to that! Although I got a little stuck on that point with "UV map": I can move these mesh points alongside the texture, but for some reason Lightray decided to stretch it in weird way when I loaded a "long" texture (see screen):

    I would like to try to make it possible for one mesh to use the one side of texture, and second use the other; but it seems like program decides to stretch it alongside it instead. How can I make it regain the original rectangular plane? I see there's "rect(angular) fit" option but it works rather shitty, it can't be used in precise manner because not only it doesn't allow accurate selection with adjustments but also for some reason when using it that little screen shakes and jumps all the time.

    btw here's this using default vanilla 128x128/256x256 type rectangular texture. It fits automatically.

    Is there some way to fix this? Or is the only other way to make them use two different textures?
    Last edited by sage; January 17th, 2022 at 01:08 PM.

  4. #4


    It happens to me alot. This happens because the model you created is still using the original scale that was made for only one half of the helmet.

    You have to fix the scaling BEFORE attaching the 2 helmet meshes together;

    -select one of the half-helmets and click on the 'UV map' button.

    - On the UV map window there is a board with settings bellow where its written 'Offset'; in there are 2 values you want to edit; 'U'=horizontal and 'V'=vertical.

    - Select all the points on the UV map; for the 'U' set the value to '50'; for the 'V' set the value to '100' and click on the button 'Scale[%]'; that way the helmet's UV points on the map will shrink in the horizontal axis to half its scale (original scale in the original model) and keep the original scale in the vertical axis.

    - Drag the points to the first helmet half in the texture and click 'OK' to save it.

    - Do all the steps above for the other half-helmet mesh but drag the points to the second helmet half in the texture.

    Done, you can now attach together both half-helmet meshes and do any corrections that it might need in the UV map without having to seperate the meshes.
    Last edited by Soares93; January 17th, 2022 at 04:16 PM.

  5. #5


    Thank you, I got it, it worked. While we're at it, is it possible to flip the points positions, and not just rotate them? Here's screen with what I mean:
    What I would like is to flip that so I can place it to use the flipped texture on the left side. It would be helpful in making textures that need continuity, in helmets it's not needed but for hats it would be very helpful for skin creation.

    However, after that I got another problem. I managed to merge the meshes, and the textures work, but there seems to be problem when creating .skd. When I made all that, it looked like this:

    But when I created .skd and loaded it in Lightray, it looks like this now:
    And this is the result in game: helmet floating in the air, 90 degrees from vertical.

    What happened? I screwed up one of the steps? Or maybe chosen bones are to blame? Here's how the list looks for me, the last one is for some weapons?:

  6. #6


    Regarding flipping the points: On the UV map window, bellow the word 'Modes' you have 4 buttons, If you only want to flip in the horizontal axis, you deselect 'V' and click on the button 'Mirror'. If you only want to flip in the vertical axis, you deselect 'U' and click 'Mirror'.

    Regarding your other problem: It was my mistake when I said "assign skin to the last bone in the list", the head gear skins usualy are assigned to the bone 'Bip01 Head'. Sorry about that

    However in the 3rd picture, this may also happen because you forgot to delete some bones or accidentaly loaded the same bones twice.
    You have to make sure to delete all the bones in the early stages of editing your model.

    The complete process is something like this:

    -load model;
    -turn all skins into meshes;
    -delete all bones;
    -detach the 2 halfs of the helmets
    -export as .3ds

    Milkshape 3D;
    -Load the model you just made;
    -create new material;
    -load your texture to the material;
    -assign groups (the 2 helmet halfs) to your material;
    -export again as .3ds model

    Back to LightRay3D;
    -load the 3d model you made in Milkshape;
    -Load your texture to the material again;
    -edit the uv map for each helmet half;
    -attach the helmet half to each other;
    -import the original MOHAA model (.skd);
    -select only the meshes (your model) and put them in the same location as the skins (original helmet model) if you moved it during your editing;
    -delete the skins of the original model;
    -turn all the meshes of your model into skins;
    -assign all the skins to the bone 'Bip01 Head';
    -export as a MOHAA model without animations.

    I do it this way and didn't ran into any problems. Did you closed lightray first before importing the model again to see if it saved the changes?
    Last edited by Soares93; January 20th, 2022 at 06:46 PM.

  7. #7


    It works fine now, thank you. You're probably right that I forgot to delete bones or just didn't delete all of them at the beginning, now I did all again from the start and selected all bones from the list and it works fine now. Although this time the 'inside' skin doesn't show up in game, I left it as it was from imported MoH model but now it doesn't show up in game and console says:
    could not find surface 'inside' in 'models/human/german_test.tik' (check referenced skb/skd files)
    But well, it probably will just need to be done with assigning textures again just like those other parts. I'll just try again tomorrow with doing same work for 'inside' section too, if the outside worked this will work too

    So big THANK YOU for all that, I'll probably ask again if some problems come up but if not then I'll just post updates with proper done textures on moddb

  8. #8


    No problem. Allways glad to help

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts