Important information: this site is currently scheduled to go offline indefinitely by end of the year.

Spotlight: Señor Casaroja's Noesis

General game file tools that are useful for more than one game
JakeGreen
mega-veteran
mega-veteran
Posts: 164
Joined: Sun Aug 22, 2010 10:14 pm
Has thanked: 40 times
Been thanked: 11 times

Re: Spotlight: Señor Casaroja's Noesis

Post by JakeGreen »

So i have been having a really annoying time with this program and i haven't really found a fix for it.

My problem is whenever i load a FBX into Noesis it always takes some random part on the model even if the model has multi-meshes it'll do it on all of them and adds a broken UV triangle to it and when i export it out as a legacy FBX and load it into my version of 3ds max i work out of when you look in the UV map that area is just completely gone.

Is there anyway to fix this?

Image
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 505 times

Re: Spotlight: Señor Casaroja's Noesis

Post by MrAdults »

It's easy to demonstrate there's no problem with Noesis FBX import/export by running a UV'd cube through FBX import and export, and observing that the UV's remain fully intact. Your problem is your source data or the importer for your particular game.
User avatar
lionheartuk
double-veteran
double-veteran
Posts: 749
Joined: Tue May 16, 2006 10:55 pm
Location: Everywhere
Has thanked: 34 times
Been thanked: 42 times

Re: Spotlight: Señor Casaroja's Noesis

Post by lionheartuk »

Your problem is also likely to be that you're viewing the second UV set instead of the first.

Or that the UVS are now microscopic (it happens sometimes).

Check those first and see what you get.
JakeGreen
mega-veteran
mega-veteran
Posts: 164
Joined: Sun Aug 22, 2010 10:14 pm
Has thanked: 40 times
Been thanked: 11 times

Re: Spotlight: Señor Casaroja's Noesis

Post by JakeGreen »

I was able to fix it when i was exporting Battlefront 3 or Battlefront (Dice) models in Ultimate Unwrap 3d in the fbx exporter window i had Export multiple uvsets checked and once i uncheck that and loaded it back up in Noesis it was fixed. Thanks for all the help.
1nfern0
ultra-n00b
Posts: 5
Joined: Sat Jan 09, 2016 9:58 pm
Has thanked: 1 time

Re: Spotlight: Señor Casaroja's Noesis

Post by 1nfern0 »

Can Noesis be used headless? I've searched a bit but couldn't find any information.

It would be more productive if there is a way to start Noesis from your modelling program instead of switching apps and export it by hand every time.
Something like : "noesis.exe input-path output-path [--flags]" would be sufficient.
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 505 times

Re: Spotlight: Señor Casaroja's Noesis

Post by MrAdults »

Yes, that's what ?cmode is for - it's in the readme.
Noesis can be activated on the command line by using ?cmode as the first command line argument. This allows you to quickly process files from external batch files or other automation tools.
1nfern0
ultra-n00b
Posts: 5
Joined: Sat Jan 09, 2016 9:58 pm
Has thanked: 1 time

Re: Spotlight: Señor Casaroja's Noesis

Post by 1nfern0 »

thx man, one more questions:

How I can query which lightmap index a mesh has when I want to export it with a python script ?
I can access the lightmap name with lmMatName (found in inc_noesis.py) but I haven't found anything for the lightmap index.
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 505 times

Re: Spotlight: Señor Casaroja's Noesis

Post by MrAdults »

You want to get the material from the model's material list using the lightmap material name. Then the index of the lightmap texture will typically be the diffuse texture index on the material. (disclaimer: this probably isn't set up correctly for some legacy importers like the Quake BSP importer, but will work for newer ones like the Quake 2 BSP importer or any other Python importers that use lightmaps)
1nfern0
ultra-n00b
Posts: 5
Joined: Sat Jan 09, 2016 9:58 pm
Has thanked: 1 time

Re: Spotlight: Señor Casaroja's Noesis

Post by 1nfern0 »

Uhh, I use that q3 bsp legacy importer :(

It's like you have said, the importer doesn't set up the modelMats, so I can't access them with my exporter to get the lm index.
I can only view the lightmap index inside the data viewer.

Well, I guess I have to dig into the bsp format myself. thx for your response
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 505 times

Re: Spotlight: Señor Casaroja's Noesis

Post by MrAdults »

If you want to get "lightmap index" from a legacy importer, you have to use a native plugin as opposed to a Python script. It's the lmIndex member of sharedMesh_t.
User avatar
zheneq
advanced
Posts: 43
Joined: Fri Jul 17, 2015 6:09 am
Location: Moscow, Russia
Has thanked: 7 times
Been thanked: 30 times

Re: Spotlight: Señor Casaroja's Noesis

Post by zheneq »

Is there any way to have scale as a vector inside NoeKeyFramedBone?
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 505 times

Re: Spotlight: Señor Casaroja's Noesis

Post by MrAdults »

I think I only have uniform scale hooked up through that interface at the moment. I'll plug XYZ scale and transposed scale in for the next release. Still not sure when I'll get the new build out, I keep allowing myself to get sidetracked from the main tasks at hand. Added Carmageddon: Reincarnation support the other day on a whim, after playing Max Damage on consoles, and seeing it was virtually identical (with only some differences for materials and skinned models) to the Carmageddon iOS game that I added support for around 4 years ago. Fits the PBR shading model pretty nicely.
Image
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 505 times

Re: Spotlight: Señor Casaroja's Noesis

Post by MrAdults »

After nearly a year of procrastinating and letting large in-progress features pile up, Noesis 4.2 is finally up for download. The "check for updates" feature in older versions will upgrade to it fine.

New in this version:
Señor Casaroja wrote: -4.2 - New "Universal Debugger" client built into Noesis. Uses a generic protocol to support disassembly, memory viewing/modification, and a variety of general debugging features under virtually any architecture and addressing mode. Debugger protocol specifies that either the client or the host may implement necessary functionality to support disassembly and other debugging interfaces.
-4.2 - New PBR material shading options. Default implementation uses something close to Disney's BRDF, with D=GTR (default exponent 2), G=Smith-GGX, F=Schlick approximation. Lambert diffuse is used by default instead of the Disney diffuse term. To avoid runtime importance sampling and maintain lighting parity with IBL (which uses diffuse irradiance and pre-convolved cubemaps), both direct light and IBL paths implement anisotropy by projecting the halfangle vector along the geometric bitangent. I wasn't sure this was going to be useful to anyone when pulling this approach out of my ass, but have since learned that at least Far Cry 4 is doing something similar. On the whole, the default models should be adjustable to fit most games using "PBR" content with reasonable accuracy, although fitting more specialized shaders for things like cloth or skin might get ugly.
-4.2 - Various new post effect options, with linear output, bloom, and an assortment of color-adjustment and environment map tweak/override parameters. Generally geared toward being able to test and validate correct handling of PBR data.
-4.2 - New HDR color picker, which allows mouse picking of 16-bit HDR color values from the framebuffer. Also useful for analyzing/validating HDR content and ensuring correct material parameters.
-4.2 - Internally, everything has finally been switched over from ARBfp1.0/ARBvp1.0 to GLSL. All shaders have been written to be compatible with 1.20 or later of the GLSL spec, and should run even newer shading models on fairly ancient hardware without issue. The old GL fixed function path still exists as a worst-case fallback.
-4.2 - Better compression of pre-compiled shader permutations.
-4.2 - Noesis core module handling has been reworked to allow for faster load times.
-4.2 - Reliance on the Windows Temp directory has been eliminated in the core module. (still required for FBX handling)
-4.2 - Basic Carmageddon: Reincarnation support.
-4.2 - Added GXT import support.
-4.2 - Various additions to the DX10 DDS path, with preservation of HDR data formats.
-4.2 - Various new tools and routines, including support routines for handling Spherical Harmonic data and a variety of image projection spaces, and derivative/integral functions which have been tested for BRDF debugging and approximation.
-4.2 - Changed file types/lists in export dialog to be alphabetically sorted.
-4.2 - Fixed a bug in 16-bit PNG support.
-4.2 - Fixed a bug in Doom/Heretic/etc. PWAD support.
-4.2 - Basic compute shader support. Some operations, such as specular convolution for baking IBL, may be accelerated by enabling compute shaders through the data viewer.
-4.2 - Fixed an interface bug that could create duplicate folders in the shell tree view when expanding a folder.
-4.2 - Added an option to completely remove shell views. Best used with Explorer file associations and/or drag-n-drop.
-4.2 - Added a "swap handedness" preview option, available through the data viewer. Swaps handedness of the rendered scene without modifying any associated model data.
-4.2 - Fixed up Fallout 4 support slightly, and added a commandline option to apply PBR materials to loaded NIF's when possible. (mostly for testing and novelty, NIF PBR material assignments currently assume everything is metal)
-4.2 - Added NOEKF_SCALE_VECTOR_3 and NOEKF_SCALE_TRANSPOSED_VECTOR_3 keyframe data types.
-4.2 - Added animation sequence flags - NSEQFLAG_NONLOOPING and NSEQFLAG_REVERSE.
-4.2 - Added an "always use anim framerate" option, available in the data viewer. (by default, the preview framerate override is used - this forces the animation/sequence framerate to be used for playback instead)
-4.2 - New ".noefbxmulti" format. Facilitates splitting animation sequences into multiple FBX files, as well as combining multiple FBX files into a single set of sequences.
-4.2 - Added "-fbxsortnodes" option, which sorts FBX nodes alphabetically to ensure bone/mesh order on import. Can be useful in conjunction with .noefbxmulti files to ensure ordering dependent on node name instead of file or hierarchy order.
-4.2 - Added a "force no anim lerp" option, available in the data viewer.
-4.2 - Added a "force texture point filtering" option, available in the data viewer.
-4.2 - Added a "global angle offset" option, available in the data viewer.
-4.2 - Added a "disable cursor locking" option, available in the data viewer. This can be useful for tablets and other input devices that don't play nicely with having the cursor position reset.
-4.2 - "m" is now a valid format string character for the imageEncodeRaw function. This indicates the maximum value should be stored at the given location. For example, the following would split the alpha channel out of a RGBA32 source, spreading it across a 32-bit RGBA destination's RGB channels and setting alpha to 255: rapi.imageEncodeRaw(rgbaSrc, w, h, "a8a8a8m8")
-4.2 - Fixed a crash in the GMO loader with models containing over 1024 bones.
-4.2 - Fixed a crash when activating certain tool context menu items without any files selected.
I'll probably write up a giant post about the intricacies of some of the newer features, because as usual I didn't write any documentation.

There are some sample PBR material setups in the "scenes" directory ("sample_pbr_ball_*") and some code is present in the NIF script for seeing how to set up an existing material to use the PBR model. Generally, you'll want to use the spec map to specify spec color in RGB and roughness/glossiness in alpha, or metalness in green and roughness/glossiness in alpha. (most games will want to use DXT5 alpha for roughness, or a separate BC4 map, to keep precision reasonable without bloating size too much) However, some flags are offered for different swizzles, and the change to imageEncodeRaw was done specifically to make reswizzling data fast and efficient in Python.

Edit: Here's a write up http://richwhitehouse.com/index.php?postid=70
Crmx91
ultra-n00b
Posts: 4
Joined: Wed Aug 27, 2014 6:24 pm
Has thanked: 2 times

Re: Spotlight: Señor Casaroja's Noesis

Post by Crmx91 »

Wow thanks for all the hard work MrAdults!
itoikenza
advanced
Posts: 52
Joined: Sat Jan 07, 2012 2:24 am
Has thanked: 9 times
Been thanked: 2 times

Re: Spotlight: Señor Casaroja's Noesis

Post by itoikenza »

MrAdults! Remember me? The Qumarion dude. Who wanted ya to incorporate Quma into Noesis? Too bad those JP guys never expanded to ship outside their country huh? The official site hasn't updated in about as long as i've been away...
Post Reply