Home General Discussion

Anyone tried creating assets for ArmA 3?

2

Replies

  • endeffect
    Offline / Send Message
    endeffect polycounter lvl 8
    Thanks, Bek. It's wonderful. We have just started to use vbs and whole workflow makes me crazy. At last i exported a character without any problem but making small changes on model and exporting it to oxygen and setupping other things like proxies again and again even you just copy them to your scene from others, is still tedious. I'm using 3ds max export script for exporting p3d to oxygen but it's buggy as hell. (Smoothing groups won't export, rvmat paths are mostly goes with two "/" character instead of one, adding custom property to a model adds it to every model in my scene but with blank entries like so)

    Probably i'll try it with modo but as i see there is no export script for it. Is it possible that you can give your modo scene (of course by deleting your models first ) and let us see how you make your scene structure for proper export? Oxygen wants every lod in layers with proper names but modo is not able to import 3ds max layers with fbx.

    I think it's not possible to set up your rvmats in modo like you do in 3ds max by adding custom property to your materials and selecting rvmat file. And same goes for every other custom properties. Can you confirm this?

    Thanks for your time and tutorial ofc.
  • Bek
    Offline / Send Message
    Bek interpolator
    endeffect said:
    Probably i'll try it with modo but as i see there is no export script for it. Is it possible that you can give your modo scene (of course by deleting your models first ) and let us see how you make your scene structure for proper export? Oxygen wants every lod in layers with proper names but modo is not able to import 3ds max layers with fbx.
    Yeah there's no modo-to-oxygen (objectbuilder) custom exporter, so I export things manually as separate fbx 2006.11 files (seems to be the most compatible with objectbuilder). So I keep the lods as separate meshes within my scene, and export these files into a 'source' folder. There's a picture of this setup in modo on pg. 4. These then get imported into object builder (one by one unfortunately) and copy+pasted to the master objectbuilder .p3d scene. FBX export should preserve the mesh's name in modo, which helps, but you can always manually rename selections in objectbuilder. Then I'll save the .p3d and everything else that will be packed (textures, rvmats) in a separate folder.
    endeffect said:
    I think it's not possible to set up your rvmats in modo like you do in 3ds max by adding custom property to your materials and selecting rvmat file. And same goes for every other custom properties. Can you confirm this?
    AFAIK, texture and rvmat references have to be added in manually (which is a bit of a pain for all the resolution lods, but whatever), though I haven't tried importing materials yet, that's something I should test. But my expectation is it will not work. You should be able to get manual export working fine from 3ds max as well, assuming you can export fbx 2006.11 or some other version that works (2010,2012,2013 do not import correctly iirc, from modo at least). As you said importing changes is tedious; there's little way around this unfortunately other than trying to have the model 100% complete before moving to objectbuilder. There might be someone on the BIS forums that can explain their 3dsmax-to-objectbuilder workflow, so you could try asking there.

    (note that if you do try modo, 701 is the latest version I know of that supports fbx 2006.11)
  • praetus
    Offline / Send Message
    praetus interpolator
    Granted I work in VBS3, but ARMA3 is similar.  Since RVMAT is a separate file it is not attached to object properties.  These are loaded manually within Oxygen.  I'll throw out some quick bullet tips we've found work for VBS3 and may carry over when creating models.
    • Triangulate in oxygen using the "/" key and not "\".  Both will triangulate but from different sides.  "/" tends to respect the export from Max I have found and doing the other will break normal maps as it changes the edge flow direction.
    • If you add the "@" symbol in front of object names it retains named selections.  This is mainly if you use the .FBX to .P3D converter.  I'm not sure if it affects fbx formatting.
    • Some of the examples posted on the wiki is outdated when it comes to RVMATs so don't be afraid to mess with things and try them out.  If you are using a blank detail maps for example, set it to (1,1,1,1) and not (0.5,0.5,0.5,1) as that will multiple 50% grey on top of your materials.
    • Split smoothing groups by UV shells.  VBS3 does not handle single smoothing w/ normals well at all.  The best method we have found is to break UVs by any angle sharper than 45 degrees and split smoothing groups accordingly.  If you want to retain smoothing on some objects (cylinders for example) you can change those without messing up the normals too much.
    • While VBS and ARMA do not support per pixel lighting you can apply different RVMATs per polygon.  This means you can create multiple RVMATs that reference the same textures but have different values for specular power, specular color, and fresnel.  We commonly use this method to break up materials on more complex objects.  It's good to keep this method in mind when creating your low res topology as you'll want to create breaks between material shifts.  A good example is a tire.  We use one RVMAT for the rubber and a different RVMAT for the metal hub caps.  Both RVMATs use the same normals, specular/gloss, detail maps, etc but can take advantage of different values to set them apart.
    If people have questions I'll try and answer what I can, but there may be some differences between the two engines.
  • endeffect
    Offline / Send Message
    endeffect polycounter lvl 8
    @Bek
    I tried exporting all of my lods to different objects and merge them in oxygen at first, but find that workflow very tedious. Probably because i don't like to work in oxygen much. Also exporting rvmat paths from max to oxygen was working well at first but started to break path after couple of exports, so now i need to fix them in oxygen manually. I think i'm only adding proxies in oxygen, all other work comes from 3ds max just because i think it's faster to copy them from other p3d files.

    On my first try, i skinned my character to vbs example skeleton. Everything was looking good on 3ds max as i rotate and try it. But after exporting, extreme actions on character (i guess it's because of ik animations) shows all of my skinning faults very easiliy like crawling up through slopes. 

    @praetus
    Those are great tips, thanks a lot. I'll ask two more questions if it's okay.

    My smoothing groups never exported to oxygen properly. I always recalculate them in oxygen to make it look okay (at least). Has that problem anything to do with p3dtools in max? Or i'm making something wrong?

    Second question. Would you prefer using a custom skeleton for characters as long as i write skeleton hierarchy in model.cfg file? I was thinking to make my own rig in maya with an autorig but i'm not sure how it will behave in vbs, since even though it's my skeleton, animations are from vbs rtm files. Should i have exact skeleton joints, hierarchy and naming convention for that? 
  • Bek
    Offline / Send Message
    Bek interpolator
    praetus said:
    • Triangulate in oxygen using the "/" key and not "\".  Both will triangulate but from different sides.  "/" tends to respect the export from Max I have found and doing the other will break normal maps as it changes the edge flow direction.
    I mention this in my tutorial; triangulation is a bit weird but this is my take on it: OB provides two methods, \ and /. Neither are inherently correct. You should test using both and see what matches your baking triangulation (for me using modo it was \). Even though OB quadifys (squarizes?) your mesh on import, you should ALWAYS export to OB a model with proper triangulation. If you skip this step figuring it won't matter since it's being quadified anyway, neither \ nor / will match. I guess OB keeps the triangulation information, just in a hidden capacity.
    • While VBS and ARMA do not support per pixel lighting you can apply different RVMATs per polygon.  This means you can create multiple RVMATs that reference the same textures but have different values for specular power, specular color, and fresnel.
    Yeah, this is what I ended up doing for my Mosin Nagant, though I notice in ObjectBuilder in the export dialogue there are various "UV sets", one of which is called SpecularColor. Do you know anything about how these work? Though if it requires you to split your UV's into separate maps based on various properties that seems rather impractical (even as a secondary set). But I'm still curious.

    endeffect said:
    @Bek
    I tried exporting all of my lods to different objects and merge them in oxygen at first, but find that workflow very tedious. Probably because i don't like to work in oxygen much.
    (...)
    My smoothing groups never exported to oxygen properly. I always recalculate them in oxygen to make it look okay (at least). Has that problem anything to do with p3dtools in max? Or i'm making something wrong?

    Yeah I find it most reliable so far to just import, triangulate, copy, in 2nd OB instance with the main.p3d, paste into correct LOD, apply material/texture, save. It's not the best case scenario but it works.

    As for smoothing groups, play around with file formats. OBJ should work, but it may have the flipped+mirrored problem, which you can solve inside OB by flipping the faces back (W I think) and scaling -100% in the correct axis. But, try all available .fbx versions first, as well as testing fbx export settings in max. Having correct smoothing is essential for your bake normal map to work correctly.

  • praetus
    Offline / Send Message
    praetus interpolator
    I had typed up something the other day but it had to get approved (wtf) and by now I think that polycount just ate it.  Anyways, on exporting from the .p3d exporter I make sure to check the box to show the export dialogue window.  I use these settings to make sure that the export retains my smoothing groups and have had no issue with this so far.
     
    For .rtm animation we use Maya with the rtm exporter plugin.  It can be found on Armaholic or just by searching .rtm exporter maya.  I would link to it, but I think me linking to stuff may be why I had to get it approved last time (as the boards have had so much spam).  The exporter comes with a pre made rig you can use for all aimation so you don't need to set anything up.  One thing to note though, the way character animation works in ARMA/VBS is that you're not exporting bone data so much as keyframed XYZ information of the "character" that is child of the bones.  From what we've found you can actually mess with the rig and set up SDK and other stuff with no issue, but do not alter the naming for the character pieces or it'll screw up everything.
  • Bek
    Offline / Send Message
    Bek interpolator
    praetus said:
    I had typed up something the other day but it had to get approved (wtf) and by now I think that polycount just ate it. 
    Same regarding my previous post, I just re-typed it. Some accounts were apparently set to probation status by the anti-spam changes, the irony of which is not lost on me. Anyway, if this thread suddenly fills up with our duplicate posts you'll know why.
2
Sign In or Register to comment.