• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Visible Hitbubbles in PSA!

Kitamerby

Smash Hero
Joined
Aug 9, 2007
Messages
5,729
Location
Las Vegas
Wild offensive collision bubble appeared!

Thanks NinjaLink for showing me this. Down taunt to activate the hitbubble effects.


On a side note, NinjaLink made a new video of this.
This is probably the best one so far.

Also, Innocentroads followed up on this, and made one for Snake as well. (*coughSnakeisBScough*)


Innocentroads is absolutely amazing for creating this method.

The amazing Doval made a little guide for making your own. (See below)


Also, a good tip to know before you start is to probably make sure to not use PSA v1.3 when making your file. Version 1.3 has a habit of adding on an extra 15-20 kb and causing a freeze at the CSS when selecting your character. I'd recommend using v0.21. (Just remember everything in 0.21 is in a factor of 60000.) You can use PSA 1.3 to "proofread" it, but you probably shouldn't save with it.

Succeeded in revealing the hitboxes on Ike's jab. The procedure was pretty straightforward:

1) Go to the character's Down Taunts (AppealLw) and add
Code:
(120A0100) Bit Variable Set
Memory Type: Runtime Longterm
Type: Float
Variable #: 100
as the first event in both Down Taunts (Main list). This is what switches on the hitbox graphics.

2) Go to the character's Up Taunts (AppealHi) and add
Code:
(120B0100) Bit Variable Clear
same parameters are Bit Variable Set
as the first event in both Up Taunts. This is what switches the hitboxes off.

3) Go to the attack you want to add hitbox graphics for. Switch over to the GFX event list. Whatever shows up there, encase it in an "Else" and "End If" (if there's nothing in GFX, just add the "End If.") Then add a
Code:
(000A0200) If
Requirement: Bit is Set
Variable: (same as Bit Variable Set)
on top of everything.

4) Inside the "If", we'll want to add a Sword Glow (11031400) for each Offensive Collision the attack has. Make sure to add the appropriate timers (look at the Main section) so the glows start at the same time as the collisions. Fill out 11031400 as such:
Code:
Parameter 0: Value (1)
Parameter 1: Value (0)
Parameter 2: Value (Offensive Collision's Bone*)
Parameter 3-5: Scalar (0)
Parameter 6: Same as 2
Parameter 7-9: Scalar (0)
Parameter 10: Boolean (True)
Parameter 11: Value (32)
Parameter 12: Same as 2
Parameters 13-15: Scalar (Z, Y, and X offsets, respectively)
Parameters 16-18: Scalar (0)
Parameter 19: Scalar (Offensive Collision's Size)
*Double click the Offensive Collision, click on Bone and use the number in the LEFTMOST FOUR DIGITS. The other 4 digits are the ID, which we don't need for this.

5) Now we need to make sure we end the glows at the appropriate times. Look at the attack's info in Main again, and add the same timer that precedes "Terminate Collisions" to your If block, except subtract 1 from the frames on the timer. E.g. If the timer has 3 frames, use 2 in your If. If the original timer only has 1 frame, don't add a timer at all. Now add an event 11050100 and set Parameter 0 to Value (1).

6) Repeat steps 3-5 for the rest of the character's attacks, save the .pac, and put it in your SD.



In short:
Set Bit 100 in the Down Taunts
Clear Bit 100 in the Up Taunts
Set up an If-Else in the attack's GFX list, putting the original contents into the Else
Add the timers and sword glows that correspond to the hitboxes into the If.
End the sword glows 1 frame before the hitboxes end.

EDIT: Thanks a lot Innocent Road. This is really awesome.
Also, if you were wondering how to do grabs, bob-e explains how to get the parameters you need for grabs.
parameter 1 - bone
parameter 2 - size
parameter 3 - z offset
parameter 4 - y offset
parameter 5 - x offset

It is recommended that when you film your hitboxes, you use these codes along with the file replacement code.
I recommend when people film their hitboxes to use these codes:

Infinite Replay (if not recording live)
040E5DE8 60000000
04953184 60000000
04953224 60000000

1 player matches
0468D420 2C060001

Random button goes to Result (Pitch Black) Stage
4A000000 81000000
3253CDDC 01010101
305E25C4 00000036
145E25DC FFFFFFFF
E2000001 00000000
305E25DC FFFFFFFF
145E25D8 00000028
E2000002 80008000

Unrestricted pause camera
040A7D60 4E800020
04109D88 38800001

Unrestricted Replay Camera
0409E934 60000000
0409E93C 60000000
0409E9AC FC201890
0409E9B8 FC600090
0409E9BC FC000890
0409E9C8 FC001890
AMKalmar made a post on how to bypass the scaling issue that you might encounter. Read more of page 22 for a few more details.
How to deal with collision bubbles attached to bones that change scale

A collision bubble attached to a bone is unaffected by the scale of the bone. However, The scale of the graphic bubble we use to represent the collision bubble is the same as the x scale of the bone which it is attached to.


On Ness' up tilt we have 2 collision bubbles attached to bone 28 and bone 50 which appear on frame 5 (counts 4 frames from frame 1). The size of each bubble is 7.2.


This is what we get if we give each graphic a scale of 7.2. Ness is hiding in there somewhere.


Open any FitNess[#].pac in BrawlBox.
ModelData[0]\3DModels(NW4R)\FitNess00\...
We can see that bone 28 and 50 are LHandN and RHandN respectively.


Open FitNessMotionEtc.pac in BrawlBox or open any FitNess[#].pac with BrawlBox, preview ModelData[0], and load FitNessMotionEtc.
FitNessMotion\AnimationData[0]\AnmChr(NW4R)\AttackHi3...
Since scale is compounded we have to look at the entire chain leading to LHandN, all on frame 5. This chain can be seen in FitNess[#].pac. On frame 5 LHandN has an x scale of 1.363626 (shown), LArmJ has an x scale of 0.953555, and LShoulderJ has an x scale of 1.601241. All other scales are 1.

Therefore the new scale of the graphic attached to bone 28 should be:
7.2 / (1.363626 * 0.953555 * 1.601241) =





Much better. The right hand had to be calculated separately since the x scales leading up to it differ from those of the left hand.

I guess this is the help thread for this project now. If you have any problems, ask here.
 

Revven

FrankerZ
Joined
Apr 27, 2006
Messages
7,550
Location
Cleveland, Ohio
I don't think he made it, CK, it looks like someone from Japan did and NL wants us to figure out how they did it. (Which of course we want to).
 

shanus

Smash Hero
Joined
Nov 17, 2005
Messages
6,055
by the appearances of it they just added graphic hitbubbles during every hitbox instance


however, some looks elliptical in shape, so i could be wrong
 

hotgarbage

Smash Lord
Joined
Oct 15, 2007
Messages
1,028
Location
PA
Just throwing out there: in the vid it shows the first two hits of MK's ftilt having two hitboxes, when in reality it has three. So yeah this is most probably just what shanus said and nothing to get excited about :C (I was really pumped there for a moment ;___; ).

EDIT: Oh, thanks Kitamerby, I couldn't see that in the vid aye. So is this the real deal?

EDIT2: also I'm pretty sure I misinterpreted what shanus said lol
 

Kitamerby

Smash Hero
Joined
Aug 9, 2007
Messages
5,729
Location
Las Vegas
It looks like he used the sword glow modifier and somehow formed it into perfectly sized and positioned balls, from what I can see.


Also, the video doesn't have a perfect framerate. It's different if you use it in the game yourself. There are 3 bubbles for Ftilt. One is overlapping part of Meta Knight's body, so it may be hard to see in a video, but it's as plain as day if you see it for yourself. There are no elliptical hitbubbles. They are actually all spheres. Many of them overlap, though, which gives them the appearance of ellipses.
 

shanus

Smash Hero
Joined
Nov 17, 2005
Messages
6,055
im gonna make a video and try to do it frame by frame......it'll be hard though....
It doesn't seem to be worth your while. It looks like its a very tedious process as it requires you to mimic every hitbox in the game by size and coordinates and place it during the frames of the hitbox on and terminate collisions.

This would require a ton of work on a per character basis.
 

Doval

Smash Lord
Joined
May 16, 2005
Messages
1,028
Location
Puerto Rico
It doesn't seem to be worth your while. It looks like its a very tedious process as it requires you to mimic every hitbox in the game by size and coordinates and place it during the frames of the hitbox on and terminate collisions.

This would require a ton of work on a per character basis.
Since we can read the PAC files shouldn't someone *coughDantarioncough* be able to make a program that'll automate the process? I.e. It finds all the hitboxes, their corresponding sizes and positions, and their timings, and then automatically modifies the PAC to have graphic effects of the right size and position at the same time.
 

shanus

Smash Hero
Joined
Nov 17, 2005
Messages
6,055
Since we can read the PAC files shouldn't someone *coughDantarioncough* be able to make a program that'll automate the process? I.e. It finds all the hitboxes, their corresponding sizes and positions, and their timings, and then automatically modifies the PAC to have graphic effects of the right size and position at the same time.
It doubt its that simple. You would have to preserve all the offsets in the pac file while automating the process as you are dumping in significant quantities of code. (Graphics generation in itself is like 40 lines due to the ridiculous parameters)

Writing a code to watch for a collision or offensive collision and writing it on the fly would be ust as difficult I bet, but I could be wrong.
 

Doval

Smash Lord
Joined
May 16, 2005
Messages
1,028
Location
Puerto Rico
I see. Well, even if it's not possible (or practical) to automate the process, I wouldn't dismiss doing it manually. Sure, it's a ton of work, but we could branch it out; have 1-3 people working on each character. The info we could get out of this would be amazing.

I'm confused though. Does NinjaLink already know how to do this or not? If he does (he said he's going to make a video...) then why aren't there instructions on this thread?
 

shanus

Smash Hero
Joined
Nov 17, 2005
Messages
6,055
I see. Well, even if it's not possible (or practical) to automate the process, I wouldn't dismiss doing it manually. Sure, it's a ton of work, but we could branch it out; have 1-3 people working on each character. The info we could get out of this would be amazing.

I'm confused though. Does NinjaLink already know how to do this or not? If he does (he said he's going to make a video...) then why aren't there instructions on this thread?
I think he is ripping the video in 60 fps to examine it more.
 

NinjaLink

Smash Master
Joined
Aug 6, 2005
Messages
3,785
Location
Brooklyn, NY
NNID
NinjaLink
well im in the process of uploading the vid and some moves shown in a rotating camera view. I already have pics showing MKs moveset with and without hitbubbles (frame by frame pics).



EDIT: Its uploading as i type......im testing this new HD thing so it'll be awhile before it uploads......its a pretty big file T_T. Be on the lookout if i happen to fall asleep. I'm tired messing with this thing.

http://www.youtube.com/user/mariorqs it should appear here sometime.
 

DarkDragoon

Smash Champion
Joined
Dec 19, 2007
Messages
2,694
Location
AZ
NNID
LordDarkDragoon
Yeah...that japanese guy just replaced all the GFX with a similar sized effect for the little lights.

>_>; DTaunt may have been an activator switch, but that would be even more work, and this isn't entirely accurate...

-DD
 
D

Deleted member

Guest
he has to shield after (almost) all attacks, so there is also some sort of reset built in.
 

DarkDragoon

Smash Champion
Joined
Dec 19, 2007
Messages
2,694
Location
AZ
NNID
LordDarkDragoon
<.< I thought shielding after every attack was a normal Brawl instinct?

If it was a built in reset that...rereset when shielded...that seems sorta convoluted.

-DD
 

Shadic

Alakadoof?
Joined
Dec 18, 2003
Messages
5,695
Location
Olympia, WA
NNID
Shadoof
You Downtaunt to show all the graphic effects.. I wonder how that was set up.
 

Doval

Smash Lord
Joined
May 16, 2005
Messages
1,028
Location
Puerto Rico
The reason he shielded is just to show the move is over. I never had to shield when i did that

Heres part 1 and 2 of the frame data.
NinjaLink, how are you doing this? Did you find a .pac or what?

EDIT: Disregard, I'm an idiot. Found the pac in the original video.
 

Revven

FrankerZ
Joined
Apr 27, 2006
Messages
7,550
Location
Cleveland, Ohio
also... do falcon next just to see the pure sexy
It's not just something someone can poop out of their *** in 10 minutes. It's GOING to take at least a few days if not more to get all the hitboxes to show up and then disappear for many moves. It's not even just that though, someone would have to just look at the MK .pac to see what they did and try to mimic it, which would be very hard without much direction or instruction.

It's probably something you shouldn't just "request" for the hell of it because people who WANT to see the hitboxes will try to do this and likely share the way to do it and garner more interest in it.
 

Kitamerby

Smash Hero
Joined
Aug 9, 2007
Messages
5,729
Location
Las Vegas
You Downtaunt to show all the graphic effects.. I wonder how that was set up.
On Down Taunt
Bit Variable Set: LA-Float[100]=true

In every graphics setting on each move...

If Bit is Set: LA-Float[100]
*graphic bubbles*
Else
*normal graphics*
 

momochuu

Smash Legend
Joined
May 8, 2008
Messages
12,868
NNID
Momochuu
3DS FC
2380-3247-9039
Are there pac files for every character? Me and a friend plan on doing hitboxes for every character.
 

Revven

FrankerZ
Joined
Apr 27, 2006
Messages
7,550
Location
Cleveland, Ohio
Are there pac files for every character? Me and a friend plan on doing hitboxes for every character.
Yes, there are pac files for everyone. Everyone will praise you if you and your friend do alllll the work in making the hitboxes visible. :p
 

momochuu

Smash Legend
Joined
May 8, 2008
Messages
12,868
NNID
Momochuu
3DS FC
2380-3247-9039
Link to them? :urg:

ohwaitwhat. I think I misunderstood you. xD I meant did someone already make files for everyone simliar to the one in the videos shown here.
 

Eldiran

Smash Lord
Joined
Jan 8, 2008
Messages
1,707
Location
Pennsylvania
Yep, this is a sword glow with no trail using this graphic:
32 Bright Yellow Orb

They put in the exact size, bones, and offsets as the hitboxes. So, if graphic 32 is on the same size scale as hitboxes, this is 100% accurate. (I think they made some errors though. In many places they have event 11050100 right after a Sword Glow event, effectively erasing it before it exists. There should be timers between these two events.)

And now that I think of it, this is a very clever way to devise graphics that can be ended at will. I'll have to remember it.
 

Liquid Gen

Smash Ace
Joined
Jun 17, 2008
Messages
804
Location
Warner Robins, GA
So far, for event 11031400:

Parameter 1: Not sure..
Parameter 2: Bone
-
Parameter 11: The effect (32)
-
-
Parameter 14: Y Offset.
Parameter 15: X Offset
-
-
Parameter 19: Hitbox Size

So far all the others save for number one have values of 0.. I'm guessing they're unused...?
 

Doval

Smash Lord
Joined
May 16, 2005
Messages
1,028
Location
Puerto Rico
Liquid Gen said:
So far, for event 11031400:

Parameter 0: Not sure.. (1)
-
Parameter 2: Bone
-
Parameter 10: ??? (True)
Parameter 11: The effect (32)
-
Parameter 13: Z Offset.
Parameter 14: Y Offset.
Parameter 15: X Offset
-
-
Parameter 19: Hitbox Size

So far all the others save for number one have values of 0.. I'm guessing they're unused...?
Added Parameter 10 (whatever it is), which always seems to be set to True, and 13 is Z Offset. And don't you mean Parameter 0 (which always seems to be 1,) not Parameter 1?

And regarding Kitamerby's post: Up Taunt has Bit Variable Clear: LA-Float[100] = false.

If this is all there is to it, it's a little bit tedious but it shouldn't take all that long to set up a .pac for a single character.

EDIT:
(I think they made some errors though. In many places they have event 11050100 right after a Sword Glow event, effectively erasing it before it exists. There should be timers between these two events.)
I'm beginning to suspect that you need to cancel the glow one frame early for the screen display to match the hitboxes (I guess it persists for an extra frame after it's canceled?) E.g.

Code:
[B]AttackAirF Main[/B]
...
Async Timer: frames=5
(4 hitboxes)
Sync Timer: frames=1
Terminate Collisions
...

[B]AttackAirF GFX[/B]
...
Async Timer: frames=5
(4 graphics)
11050100
...
Code:
[B]AttackAirB Main[/B]
...
Async Timer: frames=6
(3 hitboxes)
Sync Timer: frames=2
Terminate Collisions
...

[B]AttackAirB GFX[/B]
...
AsyncTimer: frames=6
(3 graphics)
Sync Timer: frames=1
11050100
...
It seems consistent throughout the pac.

EDIT2: Just tested the above 2 attacks, the glow lasts 1 and 2 frames respectively like the hitboxes, so it seems you do need to slap on the 11050100 one frame early.
 

Sliq

Smash Master
Joined
Jan 13, 2006
Messages
4,871
I am simply flabbergasted by the resourcefulness that some smashers always seem to muster. I have no idea what anybody is talking about, but I can draw real gud.
 

Liquid Gen

Smash Ace
Joined
Jun 17, 2008
Messages
804
Location
Warner Robins, GA
Yeah, you're right about parameter 0. That was mah bad lol, thanks.

I'll go out on a limb and say the Boolean is stating whether or not the glow appears. Probably wrong however.
 

Eldiran

Smash Lord
Joined
Jan 8, 2008
Messages
1,707
Location
Pennsylvania
Ah, nice insight Doval. That would seem to be the case. By the way, for those seeking info on sword glows, here's what I have:

Sword Glow
11031400:
1st Parameter: trail to use
2nd Parameter: (Value) duration/length of trail
Parameter 2, 6, and 12: (Value) Bone
Parameter 3, 4, 5: 1st point glow trail offsets
Parameter 7, 8, 9: 2nd point glow trail offsets
Parameter 13: Forward offset of glow
Parameter 14: Sidewise offset of glow
Parameter 15: Z offset of glow
Parameter 16: rotate on forward axis
Parameter 17: rotate on sideward axis
Parameter 18: rotate on Z axis?
Boolean Parameter: Disappear at end of subaction
Last Parameter: (Scalar) size of effect.
 
Top Bottom