Page 111 of 123

Re: [plugin] Red Dead Redemption

Posted: Thu Apr 16, 2015 1:33 pm
by ReeceMix
revelation wrote:Just a minor update. Texture format should work for ps3 version now.

Is this the Last noeisis plugin update for red dead redemption?

Re: Spotlight: Señor Casaroja's Noesis

Posted: Mon Jun 01, 2015 1:04 am
by CriticalError
Hello Mr.Adults, my question is if possible support Nif 20.2.1.7 in Noesis, when I try load them I got erro and won't load, the game is:

Game: Looney Tunes ACME Arsenal
Platafform: WII, XBOX360,PS2
Engine: Gamebryo

http://puu.sh/i7YmR.zip

PS: if you can grateful for support them, many thanks buddy.

Re: Spotlight: Señor Casaroja's Noesis

Posted: Sat Jun 13, 2015 12:13 am
by scorp256
Is there any way to convert back to GMO exported GMO file?

Re: Spotlight: Señor Casaroja's Noesis

Posted: Sat Jun 20, 2015 10:52 pm
by Ditta
Hello, Mr Adults and all users of Noesis! Couldn't anybody here add support (write a script) for Lord of the Rings War in the North .dat files or Lord in the Rings Conquest .dat files? I cannot find any tool able to convert these 2 types of DAT. Here are some samples of such files from both games -
LOTR War in the North Meshes (contains meshes of objects) - http://nekaka.com/d/hU6Af4DgFx
LOTR War in the North Textures (possibly dxt or dds) - http://nekaka.com/d/9WOoF21gnQ

LOTR Conquest - http://nekaka.com/d/97eHKu5V5x
This archive contains samples of several filetypes which I found after unpacking Rivendell.BIN archive (DAT, TXT, VAP,CWB,DC5 etc). I am not sure but I suspect all meshes packed in dat files.
I would be very grateful for any help and support for these games.

Re: Spotlight: Señor Casaroja's Noesis

Posted: Sun Jul 19, 2015 2:18 am
by MrAdults
I happened to notice today that there are a whole lot of importers electing not to do triangle bucket sorting when using the RPG interface. This is usually not the thing to do. So there's a new build up that will let you use -rpgforcesort to force the importer to use the sort. This is probably the right thing to do globally, but I don't like throwing things in the house of cards, so consider adding it to "Data viewer->Persistent settings->Other->Default preview commands" as desired. It will almost always reduce your mesh count for importers with multiple commits per material.

Re: Spotlight: Señor Casaroja's Noesis

Posted: Mon Aug 17, 2015 12:51 pm
by RoadTrain
Been working on an importer, and now I wonder - how to properly represent a concept of a dummy object in Noesis?

A dummy in my case is represented by two vertors in a local coordinate system, in addition to global coordinates with scale and rotation vectors:

Code: Select all

RichVec3 position;
RichVec3 scale;
RichQuat rotation;
//dummy itself
RichVec3 min;
RichVec3 max;
It seems like it's a bounding box.

Re: Spotlight: Señor Casaroja's Noesis

Posted: Tue Aug 18, 2015 3:49 am
by MrAdults
You can do whatever you want pretty much. A few likely options off the top of my head would be making it a custom data structure in a named user vertex data stream (if you want to be able to do something with it in an exporter by looking that stream up by name), making a bone to represent it, or making a dummy mesh to represent it. Because named user vertex streams will get out of sync if you export it to something like FBX and modify it, I'd probably instead go with making a dummy mesh, and just give it a material that doesn't render as well as a dummy triangle. Encode translation/rotation/scale into the geometry via a few verts, and optionally represent the box with a couple more verts. This way, as long as you give the mesh a reliable naming convention, a corresponding exporter could scan the scene for those meshes and convert them back into the relevant data.

Mesh data is the only thing guaranteed to survive to all model export targets. Material properties are supported by some exporters but to varying degrees, as are bones. The FBX exporter has a sidecar format that can also support user vertex data streams, but as mentioned, that will get out of sync with the actual geometry if it's modified outside of Noesis.

Re: Spotlight: Señor Casaroja's Noesis

Posted: Tue Aug 18, 2015 6:50 am
by RoadTrain
Thanks, I'll go with the named box.

There's another problem (misunderstanding) I ran into.
How does one apply translation/rotation/scale on a per-mesh basis? Is it what rpgSetTransform is for?
Currently I have the following, at least it does translocation :mrgreen:

Code: Select all

		RichVec3 position, scale;
		bs->ReadBytes(&position, sizeof(RichVec3));
		bs->ReadBytes(&scale, sizeof(RichVec3));		

		quat_wxyz_t rotation;
		bs->ReadBytes(&rotation, sizeof(quat_wxyz_t));

		RichMat43 pos = RichMat43(RichVec3(1,0,0), RichVec3(0,1,0), RichVec3(0,0,1), position);
		RichMat43 scal = RichMat43(RichVec3(scale.v[0],0,0), RichVec3(0,scale.v[1],0), RichVec3(0,0,scale.v[2]), RichVec3(0,0,0));
		RichMat43 rot = rotation.ToQuat().ToMat43();

		RichMat43 trans = pos*rot*scal;
		rapi->rpgSetTransform(&trans.m);
Add:
That's what I get now
Image

Want to thank you for Noesis. Its API looks really powerful, even though you need some time to understand it -- no docs. Still, it only took three days for me to get an idea of how it works.

Re: Spotlight: Señor Casaroja's Noesis

Posted: Tue Aug 18, 2015 5:28 pm
by MrAdults
Yeah, rpgSetTransform can be used to actually transform the geometry, as you've discovered. There's no concept of a mesh transform, so for formats that support this typically it's appropriate to unify things in whatever model space you like (by doing what you're doing, and applying the transform to the geometry), then create a paired bone for the mesh containing the transform. This allows handling for all of the export targets that don't support mesh transforms, and allows custom exporters to do the same thing of scanning the scene to filter bones (that are mesh-paired transforms) and/or load mesh transforms from bones.

There's also the idea of storing that transform in userdata, for the mesh, material, or vertex streams. But again, most exporters won't know what to do with such data. Although I believe I do have a userdata protocol for exporting mesh transforms for FBX specifically, if you're interested in using that I can dig up the details.

Re: Spotlight: Señor Casaroja's Noesis

Posted: Tue Aug 18, 2015 8:43 pm
by RoadTrain
Thanks for the info. As for FBX, no need to bother, I think I'd rather go the more universal way, as you rightfully suggested.

Re: Spotlight: Señor Casaroja's Noesis

Posted: Wed Aug 19, 2015 1:20 pm
by RoadTrain
What's interesting with 4DS format that I'm working on is that it seemingly uses a flipped X axis (a different handedness?). I only noticed that when I saw a steering wheel of a car model on the right side, whilst it must be on the left.

So I figured I needed to apply another transformation to a model to mirror it, I did it this way:

Code: Select all

//4DS uses flipped X axis, we have to flip it back
RichMat43 flipX = RichMat43(RichVec3(-1,0,0), RichVec3(0,1,0), RichVec3(0,0,1), RichVec3(0,0,0));
//some code in between
RichMat43 trans = pos*rot*scal*flipX;
rapi->rpgSetTransform(&trans.m);
After that I had to flip faces, as they went inverted

Code: Select all

rapi->rpgSetOption(RPGOPT_TRIWINDBACKWARD, true);
While the model now looks correct, I'm still lost in those matrices.

Is the operand sequence in the trans matrix correct form a mathematical point of view? Do I have to do any operations on a rotation quaternion to mirror it?
Is it ok that if I sequentially apply those matrices with rpgSetTransform instead of multiplying them, it shows a different messy result?
I'm really confused now as I'm apparently lacking some fundamental understanding.

Have I just wasted my time if I could simply swap the handedness? :lol: Lol, it seems I have :D Still , I wonder if it's achievably the way I did it first.

Re: Spotlight: Señor Casaroja's Noesis

Posted: Wed Aug 19, 2015 7:09 pm
by MrAdults
Sounds like you've already discovered RPGOPT_SWAPHANDEDNESS. :) Seems like you were effectively mirroring the geometry with a transform, but you would have to flip handedness for all of your joint/animation/etc. transforms too. RPGOPT_SWAPHANDEDNESS does all of it for you, as long as you're feeding bones/anims/etc. to the interface via rpgSetExData_Bones/rpgSetExData_Anims/etc.

Re: Spotlight: Señor Casaroja's Noesis

Posted: Thu Aug 20, 2015 12:01 pm
by RoadTrain
I wonder, is there a way to not show some meshes in the preview on purpose? I'd say some LODs or dummy boxes. I see I can manually skip render in the data view, but is there an option to do it in code?

Also, I read somewhere on this forum that one can use multiple materials on a single mesh (did I misinterpret?) by setting a name (rpgSetName). I tried doing this, but it still shows meshes split by material. Am I doing something wrong?

Re: Spotlight: Señor Casaroja's Noesis

Posted: Sat Aug 22, 2015 6:30 pm
by MrAdults
Yeah, the best way is just to create a single material with skipRender set to true, and assign all the meshes you don't want to render to use that material.

Yeah, meshes will always be split by material. You can ensure optimal splitting by calling rpgOptimize, or if you just want bucket sorting by material+name and no geometry optimization, you can use rpgConstructModelAndSort in place of rpgConstructModel. You can think of meshes as "draw structures" rather than traditional meshes in this sense, as internally the idea of a mesh is really just a reference to some geometry data which may or may not be self-contained, with information about a single draw utilizing that geometry. Although the way exporters choose to treat meshes may or may not fall in line with this. The way all of this is set up is pretty crappy, but it's been workable. Typically exporters which don't want isolated vertex/index buffers per-mesh will use NMSHAREDFL_WANTGLOBALARRAY.

There's also the idea of multi-pass material rendering for a single mesh, which is what the nextPass member of the material structure is for. But I don't think that's what you're after. If you really wanted, though, you could use this to attach multiple materials to a single mesh, and create a custom per-vertex stream that specifies per-vertex material indices or something of that nature. The Noesis renderer would not understand this concept, but custom exporters could.

Re: Spotlight: Señor Casaroja's Noesis

Posted: Mon Aug 24, 2015 9:50 pm
by RoadTrain
I've noticed a concept of a tool exists in the API. Can you elaborate more on this?

Can a tool be used for some sort of format-specific configuration?