Gah, I'm tearing my hair out over the rvmat materials and the Oxygen 2 editor. That said, I only started my mod this morning, but it's incredibly complex to import a single asset.
Anyone here have a workflow for it? I'm just approaching the actual testing phase of the weapon, but I don't have high hopes!
EDIT - Wow, this thread blew up. I love polycount.
Replies
Fortunately, the actual code which is used for the materials and the weapon trajectories/directories isn't too bad.
Re, FBX, O2 can finally import FBX files, but it's under the export menu...
Harry on polycount is one of the few guys here that i know of thats gotten models in:
Simple material guide
http://harrysite.net/talk/showthread.php?tid=330
Material explanations:
http://harrysite.net/talk/showthread.php?tid=331
Otherwise, just use the example configs that come with the A3 tools suite. It might take a bit of setup to get it to reference the correct texture files etc.
And for textures, they have to be .paa, which you can either get a PS plugin for, or use the texview 2 app - the A3 tools don't come with it yet...
Basically, the A3 tools are a disaster.
And i wouldn't call BIS lazy, just a incompetent, with really bad decisions made time and time again - it's like they don't learn. Don't get me wrong, Arma is a great game, and platform, but could be so much more...
kaptainkernals, I haven't seen these tutorials before. They'll be beneficial to anyone hoping to conquer the summit of Mt. Oxygen 2. I agree. It's really odd for such an.. irregular company to be producing such a great AAA game. Well, I'd call it AAA.
I'm just scripting the animation of my weapon now, but I can tell as soon as it gets into ArmA 3 there'll be hell to pay.
The animation is a whole different thing as well. I don't see the animation editor in the A3 tools either, likely not added yet.
http://community.bistudio.com/wiki/Arma_3_Modding_Characters
http://community.bistudio.com/wiki/Category:Arma_3:_Tutorials
http://community.bistudio.com/wiki/Category:Arma_3:_Editing
Hopefully those links come in handy, but BIS documentation has never been very complete, or completely helpful. And i've always been amazed that any mods get created for this game, considering the how unnecessarily complex and unrefined the tools and the process are
Seems they're planning on implementing FBX animation support, so we can always hope we get that.
Looking forward to seeing the weapon you're getting into Arma, you going to put it up on armaholic when it's done?
Arma can definitely do with some content created by a pro. A lot of the content is either forward ports of content from Arma1 and before, or it's just badly made in a lot of cases.
The performance of A3 alone is enough to make people think twice about modding it. I don't like when devs tell you that you need better hardware when you shouldn't.
I'm hoping that Visitor at least has been updated. Never used the old one but it seems awful. But I still hope to make a 16 km * 16 km terrain/map of the area around my childhood home
A whole lot of stuff. Mainly the config.cpp part of things. Never done coding before so it's a real hassle! I don't suppose you'd mind if I sent you a PM with some of my troubles, would you?
Yeah, Visitor is one of the only things that I may be able to work well with! Looks neat.
Working in a production environment is a lot easier than trying to figure it out on your own. It's the difference between reading documentation or asking the person who made the tools show you how to use them.
I can definitely stand behind this statement. When I started 3+ years ago at my job the VBS toolset was not the funnest thing but being able to ask people I worked with to show me the tools/workflow really helped out. Oxygen is pretty backwards, but honestly as modelers we hardly use it. We set up most everything in Max before exporting separate fbx files for all the LODs.
We'll use O2 it for setting up LODs as well as using Buldozer to preview out RVMAT files. I'd say the programmers use O2 the most for laying out memory points and setting up proper selection groups.
I'm sure there are problems with it but I haven't heard anyone articulate an actual reason to hate it. The closest I've gotten where people complaining about the tools and AFAIK gamebryo doesn't really ship with much outside of an exporter & model viewer, the tools & pipeline have to be developed by the studio.
Unfortunately the Arma3 tools have introduced new problems, they've scrapped the P drive (at last), but they haven't really gotten around to sorting their tools to cut the P drive out properly. Buldozer isn't there, so you can't review your work, you need to package your mod and get it in game to preview it now - which would be fine, but the process still isn't great - with no proper guide on setting up the new environment
And a lot of modders have reverted to using a Frankenstein of the A3 tools, with A2 buldozer and P drive setup, and a host of other weird work arounds to get the tools to be somewhat usable. As the A3 tools that BIS have given us, are even less usable than the A2 tools.
And I agree about the production environment and tools, unfortunately, Arma tool documentations is not always helpful, and the only way you get into it, is with help from the community - the devs don't really give much help on their forums.
I wish I knew this a few hours ago when I didn't have a mirror drive
However, it is useful for checking textures. Ridiculous that Buldozer needs a mirror drive to run.
https://community.bistudio.com/wiki/Addon_Builder
Unfortunately not very clear documentations
This tutorials is clearer:
http://ohplz.ca/tuts/00/index.html
(Also a guide to setup P drive, and get buldozer working again), personally I'm staying clear of the P drive, it's just a mirror of a folder anyway, and the only functionality it provided was buldozer.
Including a list of file extensions you should include in the list of fiels to copy in the options panel of the addon builder. - and just set the Addon Source directory to the folder where your source assets are kept.
http://makearmanotwar.com/
http://community.bistudio.com/wiki/Public_Data
And if you grab the A2 content, it'll provide a clearer insight into how weapons, vehicles etc are created for Arma - will be missing A3 specific stuff, but will still be educational.
I'm currently waiting on the new Visitor to be released, so I can make a few small maps for specific mission ideas I have.
The Mad Artist that would actually be really helpful. When the concept artist and I were planning, we had no idea how bloody annoying it would be to get weapons and stuff into ArmA. Hopefully assets are a bit easier.
/Edit
//For what it's worth, they agree that Oxygen sucks.
I am at Bohemia Interactive. I can help with your questions if need be. There are stories that go a long with the tools.
Wow! Hey!
My problems are mostly with the binPBO compiling side of things at this stage, and some of the weapons scripting/code. Is there some sort of legend/key to find out what a lot of the lines mean?
Also, what's the workflow like for you guys over at BI? I'd love to give a hand at animating with Maya, but I have no idea how to import animations into Oxygen.
I have a bunch of menial questions, but honestly they'd just clog the thread up and make it harder to navigate. If you don't mind, I'd like to PM you some of 'em.
I don't know much about the packing stuff and scripting and coding. I have a rough idea. We have designers that do that work.
Animations depend on what you are doing. The memory point LOD define axis that you can move your objects on. As in barrels of guns or tank turrets yada yada yada. As far as exporting stuff out that was hand animated. Its RTM file. Have not done to much with that. I shall look into it. Its all setup with dummy nodes and moving stuff along its dummy nodes axis. I don't do that much with characters.
Granted this is for VBS2 but I think O2 is the same either way. To test animations in O2 for characters load up your rigged mesh. Then in the animation window (this can be accessed by pressing Shift+F2 if it's not open) right click in window and click the "From Matrices (all LODs)" Find your RTM file and load it in. You see a ton of stuff get loaded into the window and you can scroll through the info with the up/down arrow keys on your keyboard to run through the animation. A quick note is that if you're messing with a character, the face may not animate properly or look like it isn't rigged. This is normal because all facial animation are handled through some voice plugin in game. They won't always scroll with the animation.
@The Mad Artist, if you find those links you have on your PC that are Arma / VBS guides, I'd be quite interested in seeing them as well.
As far as o2 goes Gnats does a good job at showing stuff in o2.
[ame="http://www.youtube.com/watch?v=YqFss3fzt5w&list=TLBQt9DsSjTluAW5wJ3_je_U11bcV8Eu6O"]Oxygen2 - Tutorial #1 - ArmAII Editing Tools - YouTube[/ame]
Ok, found these. Now these are for Arma2/VBS2, so don't know how much has changed, but these were really helpful for me back in the day. Man it's been awhile since I've messed with VBS2:
http://community.bistudio.com/wiki/Mondkalb%27s_Addon_Tutorial
http://tactical.nekromantix.com/wiki/doku.php?id=ofp:modeling:tutorials
ScubaSteve this is good news. That competition looks like some fun, we'd enter but I think my coding incompetence is enough to suggest we wouldn't win. Well, not without a proper coder.
The Mad Artist thanks for the links.
We tend to work on several types of simulator technology at once. Some of the simulators we work with use it, so VBS 2 is a nice breath of fresh air compared to some of the older systems we're accustomed to.
Another thing I'm not clear on is where I can get my hands on Arma 3's RVMATS. There are a2 ones on the net but I assume things have changed for a3? The rvmats extracted from arma 3's .pbo's are junk when opened in notepad++ so I assume they're binarized. Am I missing something here?
Still no further announcements on the Make Arma Not War contest yet either...
Hey Bek, I'm just heading out right now but I'll give you a hand with some stuff in a bit. RVMATs are still the ArmA 2 ones, I believe. There's no terrain editor for A3 yet, as it still only supports four different terrain textures and that's it. I'm pretty sure Altis has at least 25-50 different terrain textures.
http://community.bistudio.com/wiki/FBX_to_RTM
The tools got updated today
http://dev.arma3.com/techrep-00003
So Arma uses X+Y-Z+ it seems. Not sure what tangent basis though; MikkTspace looks quite bad. Looking at BIS job listings suggests they use max so I might try a max tangent space and see how that looks.
Also when I import my model into o2 it has flipped faces (ctrl+a then W flips them back); but my model also imports mirrored, which is weird. Like the left is now the right side. FBX imports normally (not mirrored) but doesn't import vertex normals with FBX 2013 from modo. FBX 2010 works.
rvmats seem fairly simple although I'm not yet sure if you can have coloured spec. Having to convert stuff to .paa is silly. Compression seems fairly harsh too (even when having maps x4 res since I believe the .paa converter quarters your maps).
That's weird for FBX to be screwy like that, but it makes me think it has something to do with Modo's exporter. I have no issue at all exporting from max. The most important thing I can tell you though is you need to triangulate your model when you bring it in to O2. Even if you export a triangulated model, O2 will bring it in somewhat screwy. Use "/" to triangulate as it will recreate the proper triangulation from your export. "\" will triangulate the faces in the opposite direction and it will completely bone any surface normals baked into your normal map.
Colored spec can be assigned in the RVMAT but it is per face that has the RVMAT applied, not per pixel. Bohemia drives me nuts with the way they use textures as it is incredibly wasteful. Detail maps use a 32 bit texture for a greyscale image that could be in one channel. Ambient shadow uses 24 bit for, again, something that could be thrown into a single channel of a multitexture. And yet with spec, the red channel is useless, green is spec and blue is gloss. Alpha isn't used at all. If there is a way around that, I would love to hear it but the way the run the RVMATs is so wasteful it drives me crazy. I really wish they would give it some type of overhaul.
And yeah I thought the way _SMDI spec maps worked was strange. I assumed red would be for masking some effect or something obscure but if it truly has no use that is quite odd. Having coloured spec per pixel would be much more useful, so that's a shame.
What caused me to ragequit testing this the other night was that assigning a different rvmat to a specific selection of faces on a mesh caused the unselected faces using my original rvmat to screw upit was either assigning my second rvmat everywhere regardless of my face selection or doing something else werid, I can't remember exactly. These are exceptionally frustrating tools.
You might have to play around with import file format too, if you're not getting vertex normals in correctly. Doesn't look like you've added your normal map yet either? You've gotta have the _NOHQ tag on the file; and use Y- / 3ds Max TS.
Also, make sure to triangulate within oxygen again as sometimes upon import it will quad-ify your mesh for some reason, even if it were previously triangulated. You want to make sure to triangulate via "/" otherwise it will reverse the triangle orientation and screw up your normal maps.
a tutorial will be awesome
with triangulate \ the mesh seems to be correctly triangulated but the normal is sort of "overcorrecting" the surface. (for example if the mesh is convex and the normal tries to make it flat, it overshoots and the surface becomes convex)
I think ill try adjusting the levels on my normal map in PS and maybe find some good values
PS: ive also tried every possible export setting on handplane. Some came close but still very noticably off. (I think source engine was the closest)
i did the handplane testing on a simple cube mesh with a single smoothing group.
UPDATE: k after an hour of testing different values ive concluded its not possible to fix the normals by adjusting levels, at least not without breaking out some really insane graph editing stuff and it would take an eternity to find the right values.
will need to find a different solution
I baked normals on to this control mesh from a flat plane, so in max the normals were working as intended and the control mesh was rendering as a flat plane with the normals.
Next I moved on to oxygen where i realized i cant export explicit vertex normals with the FBX importer (im pretty sure its oxygens fault since i double checked that the normals are indeed exported with the fbx) BUT i managed to import vertex normals with the .obj importer, although even then i had to manually set all the normals to explicit (edit normals>parameters>make explicit).
Now the only problem is that the .obj importer is a piece of shit compared to the FBX importer, but thats not relevant to the tangent space topic so ill leave that rant for another day.
now that i had a control mesh, and a normal map which should make the mesh flat, i moved on to photoshop and started a long process of trial and error with the curve editor.. Here's what i came up with:
With this curve, the normal map correctly flattened my control mesh normals. (at least within the available spectrum)
as you can see almost half of the spectrum is completely unused. If I hadnt spent the last month bashing my head against the wall with this engine I'd have discarded these results as absurd but quite frankly im not the least bit surprised.
(all values below are approximate)
To explain the curve a little more, basically what it does is instead of the usually -90 to 90 degree range of normal maps, the range is a lot less. Around -50 to 50 for 0-255. Additionally the "gradient" isnt linear, its slightly curved at the ends. The scale seems linear between around 95-160 and from there it starts to loosen, so one grayscale unit equals a smaller amount of degrees than it does within 95-160. My curve corrects that for the most part, but I made it completely by hand so its obviously not 100% accurate.
Now if you'll excuse me i have a date with the obj importer.
edit: I had a lot of trouble getting the obj importer to work properly (invertex faces, mirrored normals, all kinds of creepy stuff) so i might as well post solutions i found here. in order to import a model properly with the .obj importer, first i had to rotate my mesh 180 degrees around the X axis (so its upside down) then I reset xform and exported the .obj with all optimization options off, flip YZ on and all the normal stuff ticked. (also export as quads, its easier to triangulate in o2 since results may vary so you dont have to re-export)
In o2 you just import the obj with FLIP Y ticked. I also had to triangulate \ (NOT triangulate / as a lot of people in this thread claim to be the correct way)
the reason you have to rotate the mesh 180 degrees before you export is because if you dont have flipY ticked in the importer, your faces will be flipped, and if you dont have the mesh rotated 180 degrees, flipY will import your mesh upside down, and if you try to rotate it in o2 the mesh will rotate but the normals wont, so itll FUBAR.
i would give anything to meet whoever implemented this pipeline so i could give them a real good slap on the face.
edit: also apparently the conventional workflow of "import mesh in to new o2 window > set up selections > copy and paste in to main o2 window in to correct LOD" doesnt work, since the vertex normals appear to be reset when you copy-paste, but fortunately the obj importer doesnt wipe the whole scene when you import something in so you can import directly in to your main p3d
It seems completely random... Im out of ideas.
As you may have seen in the WAYWO thread I've recently conquered Bohemia's behemoth and imported some stuff into A3, and I've also written a small tutorial covering the process, covering (hopefully) everything you need to get a weapon in-game. I'm no A3 modding expert so it's not an infallible guide but since A3 is somewhat lacking in the tutorial department I figured it was a worthwhile task to contribute in this area. If you notice anything wrong please point it out, and if any area is lacking please let me know and I'll do my best to make it better.