|
 |
« Reply #7125 on: November 27, 2011, 09:26:10 PM » |
|
Ok thnx =p
|
|
|
Logged
|
|
|
|
|
|
 |
« Reply #7126 on: November 28, 2011, 12:27:14 PM » |
|
Now that Model Importing is somewhat in full swing. It's time to try thinking of solutions to some of the most common problems they have. The biggest on the list being the restrictions the bone rigs place on the ability to rig the models effectively:
Bone Placement.
Previous attempts to make the bones fit the proportions of the characters have met with disastrous results, such as insane stretching of the moel, but I think that if a way can be found to fix the problems created by doing this. The quality of all imports would benefit in the long run and would make restriction of who could be fitted to whose bone rig would be either minimized or eliminated completely.
Based on what I saw from screenshots in the past (ds22's Naruto Import) I think the problem has to do with the fact the positions of the bones were changed, and BrawlBox doesn't know how to deal with this change when the character animations are brought into the mix, because the bones are then being moved based on the original character's bone positions.
Does this sound reasonable?
|
|
|
Logged
|
 3DS Friend Code: 2895-6640-9302
|
|
|
|
|
 |
« Reply #7127 on: November 28, 2011, 12:33:32 PM » |
|
Now that Model Importing is somewhat in full swing. It's time to try thinking of solutions to some of the most common problems they have. The biggest on the list being the restrictions the bone rigs place on the ability to rig the models effectively:
Bone Placement.
Previous attempts to make the bones fit the proportions of the characters have met with disastrous results, such as insane stretching of the moel, but I think that if a way can be found to fix the problems created by doing this. The quality of all imports would benefit in the long run and would make restriction of who could be fitted to whose bone rig would be either minimized or eliminated completely.
Based on what I saw from screenshots in the past (ds22's Naruto Import) I think the problem has to do with the fact the positions of the bones were changed, and BrawlBox doesn't know how to deal with this change when the character animations are brought into the mix, because the bones are then being moved based on the original character's bone positions.
Does this sound reasonable?
I think I can sum up what you're saying. The only thing that needs to be changed is the translation values of the bones in the animation, which can easily be changed via the transform all copy and paste, as long as only the translation checkbox is marked. The only problem after that is that some animations move translations in some animations, which wouldn't be accounted for.
|
|
|
Logged
|
|
|
|
|
|
 |
« Reply #7128 on: November 28, 2011, 12:39:46 PM » |
|
I think I can sum up what you're saying. The only thing that needs to be changed is the translation values of the bones in the animation, which can easily be changed via the transform all copy and paste, as long as only the translation checkbox is marked. The only problem after that is that some animations move translations in some animations, which wouldn't be accounted for.
Exactly. I think these problems that people think can't be fixed can be. Aside from better rigging, we need to just figure out how to make them work.
|
|
|
Logged
|
 3DS Friend Code: 2895-6640-9302
|
|
|
|
|
 |
« Reply #7129 on: November 28, 2011, 01:10:28 PM » |
|
Agreed Velen. Definitely. It would make it so much easier to make better rigs.
Now, if only some genius could fall out the sky and create a moveset editing program that allowed us to create new graphics and articles/floating points for characters. If that happened then that would open up a world of possibilities for moveset makes. I know I would (for one) revamp all my movesets to use real projectiles instead of false ones, and make a load more character movesets amongst other things...
[/unrealisticdreaming]
|
|
|
Logged
|
|
|
|
|
|
 |
« Reply #7130 on: November 28, 2011, 01:21:58 PM » |
|
Agreed Velen. Definitely. It would make it so much easier to make better rigs. Now, if only some genius could fall out the sky and create a moveset editing program that allowed us to create new graphics and articles/floating points for characters. If that happened then that would open up a world of possibilities for moveset makes. I know I would (for one) revamp all my movesets to use real projectiles instead of false ones, and make a load more character movesets amongst other things... [/unrealisticdreaming] i really wish that will be possible  for some reason i think it can be possible if someone like PW come back with something like that you say
|
|
|
Logged
|
I Dont Take Requests & Dont Do Brawl Mods anymore Maybe Sm4sh modz later
|
|
|
|
|
 |
« Reply #7131 on: November 28, 2011, 01:25:54 PM » |
|
Exactly.
I think these problems that people think can't be fixed can be. Aside from better rigging, we need to just figure out how to make them work.
Actually, all we need to do is tell people "Hey, you can do it! Right NOW!" It's a simple process once you try it: 1. Go to frame 0, the T-pose. 2. Uncheck Rotation and Scale checkboxes, leave Translation checked. 3. Click the copy button under Transform All. 4. Go to the frames of an animation that have translation values. 5. Click the paste button under Transform All. The bad part is that this is tedious, and no one wants to do that for entire movesets. It's comparable to the animation porter in a way. Now, if only some genius could fall out the sky and create a moveset editing program that allowed us to create new graphics and articles/floating points for characters.
People have started to take an interest in hacking the module files. If that happens, not only will we be able to use characters with more articles and graphics, but we can create new module files that could be customized how we want.
|
|
|
Logged
|
|
|
|
|
|
 |
« Reply #7132 on: November 28, 2011, 03:57:04 PM » |
|
Actually, all we need to do is tell people "Hey, you can do it! Right NOW!" It's a simple process once you try it:
1. Go to frame 0, the T-pose. 2. Uncheck Rotation and Scale checkboxes, leave Translation checked. 3. Click the copy button under Transform All. 4. Go to the frames of an animation that have translation values. 5. Click the paste button under Transform All.
The bad part is that this is tedious, and no one wants to do that for entire movesets. It's comparable to the animation porter in a way.
People have started to take an interest in hacking the module files. If that happens, not only will we be able to use characters with more articles and graphics, but we can create new module files that could be customized how we want.
I remember reading somewhere that bone rotations had something to do with the problem as well...-but yeah.
|
|
|
Logged
|
 3DS Friend Code: 2895-6640-9302
|
|
|
|
|
 |
« Reply #7133 on: November 28, 2011, 04:01:07 PM » |
|
I'm pretty sure the new version of Brawl Box can apply changes to translations for all animations in one step. It can even be one slot.
I think.
The main problem is that people are too lazy to do so. >:|
Also, I had an idea for an added functionality for Brawl Box: would it be possible to make it load .rel files and be able to edit them rather than having to put them through a hex editor?
Just something I thought would be nice.
|
|
|
Logged
|
Muslims are literally murderers
|
|
|
|
|
 |
« Reply #7134 on: November 28, 2011, 04:19:23 PM » |
|
Exactly.
I think these problems that people think can't be fixed can be. Aside from better rigging, we need to just figure out how to make them work.
Go to the animation data brres, right click, press edit all. Check the "port all animations" button, press okay, then follow the directions that pop up.
|
|
|
Logged
|
 FC: 2191-7379-6272
|
|
|
|
|
 |
« Reply #7135 on: November 28, 2011, 04:23:02 PM » |
|
but it would be hard to have different models on the same slot, if they all use their own one-slot port, then the creator should include instructions about rotations and translations instead of an already ready motionetc, and i can see that being a pain in the ass...
|
|
|
Logged
|
|
|
|
|
|
 |
« Reply #7136 on: November 28, 2011, 04:26:51 PM » |
|
but it would be hard to have different models on the same slot, if they all use their own one-slot port, then the creator should include instructions about rotations and translations instead of an already ready motionetc, and i can see that being a pain in the ass...
True, but there really is no alternative as it stands if you want to rig the bones proportionally.
|
|
|
Logged
|
 3DS Friend Code: 2895-6640-9302
|
|
|
|
|
 |
« Reply #7137 on: November 28, 2011, 05:34:32 PM » |
|
New previews. I've got all the subaction nodes named correctly by their animation now. I'm pretty sure the new version of Brawl Box can apply changes to translations for all animations in one step. It can even be one slot.
I think.
The main problem is that people are too lazy to do so. >:|
Indeed, it fixes all the translations perfectly. The only thing people are missing is it DOESN'T FIX ROTATIONS. AT ALL.  I'm still working on fixing rotations, which is what everybody's complaining about. Also, I had an idea for an added functionality for Brawl Box: would it be possible to make it load .rel files and be able to edit them rather than having to put them through a hex editor?
Just something I thought would be nice.
This is all I've got on REL, it's taken directly from the Wii SDK and there's nothing more on it. If anybody knows any more than this, feel free to tell me what you know. The RELNode class is already set up. (ModuleLink is commented out because it creates an infinite struct loop that Visual C# doesn't like) [StructLayout(LayoutKind.Sequential, Pack = 1)] unsafe struct RELHeader { public buint _id; public buint _linkNext; //0 public buint _linkPrev; //0 public buint _numSections; public buint _infoOffset; public buint _nameOffset; public buint _nameSize; public buint _version;
public buint _bssSize; public buint _relOffset; public buint _impOffset; public buint _impSize; public byte _prologSection; public byte _epilogSection; public byte _unresolvedSection; public byte _bssSection; public buint _prologOffset; public buint _epilogOffset; public buint _unresolvedOffset;
public buint _moduleAlign; public buint _bssAlign; public buint _fixSize;
private VoidPtr Address { get { fixed (void* p = &this)return p; } }
public RELSection* SectionInfo { get { return (RELSection*)(Address + _infoOffset); } }
public string Name { get { return new String((sbyte*)Address + _nameOffset); } } }
[StructLayout(LayoutKind.Sequential, Pack = 1)] struct RELSection { public buint _offset; public buint _size;
public bool IsCodeSection { get { return (_offset & 1) != 0; } set { _offset = (uint)(_offset & ~1) | (uint)(value ? 1 : 0); } } public int Offset { get { return (int)_offset & ~1; } set { _offset = (uint)(value & ~1) | (_offset & 1); } } }
[StructLayout(LayoutKind.Sequential, Pack = 1)] struct RELImport { public buint _moduleId; public buint _offset; }
[StructLayout(LayoutKind.Sequential, Pack = 1)] struct RELLink { public bushort _prevOffset; public byte _type; public byte _section; public buint _addEnd; }
public enum RELLinkType : byte { NOP = 0xC9, //Increment offset6 Section = 0xCA, //Set current section End = 0xCB, MrkRef = 0xCC }
//[StructLayout(LayoutKind.Sequential, Pack = 1)] //public struct ModuleLink //{ // ModuleInfo next; // ModuleInfo prev; //}
[StructLayout(LayoutKind.Sequential, Pack = 1)] public struct ModuleInfo { buint id; // Unique identifier for the module //ModuleLink link; // Doubly linked list of modules buint numSections; // # of sections buint sectionInfoOffset; // Offset to section info table buint nameOffset; // Offset to module name buint nameSize; // Size of module name buint version; // Version number }
|
|
|
Logged
|
|
|
|
|
|
 |
« Reply #7138 on: November 28, 2011, 05:46:01 PM » |
|
|
|
|
Logged
|
|
|
|
|
|
 |
« Reply #7139 on: November 28, 2011, 05:50:31 PM » |
|
*puts on aviators* Thanks.  Man do I hate PowerPC. The days of Halo 3 default.xex modding and IDA Pro... *shiver*
|
|
|
Logged
|
|
|
|
|
|