Today, I got started on a new prototype with Ryoma Tazi and David Brett. We're using the new Unity 2D tools that just came out in the new package. I did some Flash tests for what attacking and death could look like. The game uses a mechanic that involves swiping to take down enemies in a sort of endless runner format.
Dis gon' be good. Stay tuned!
Wednesday, November 13, 2013
Saturday, November 9, 2013
Make-A-Wish Game
FIEA was recently approached by the Make-A-Wish foundation to make a child's wish to create a video game. A number of the students volunteered to create a base for a game that we could work on. We put the framework together in about a week, while still working on our respective projects.
I decided to do a quick animation set for the character. A spell cast, a swing, a jump, and simple movement.
Also we got to eat lunch with him, shoot each other with our obligatory Nerf guns, and then we played a bit of League of Legends. He was a cool kid.
I decided to do a quick animation set for the character. A spell cast, a swing, a jump, and simple movement.
Also we got to eat lunch with him, shoot each other with our obligatory Nerf guns, and then we played a bit of League of Legends. He was a cool kid.
Friday, October 18, 2013
Monday, October 7, 2013
Animated Facial Features with Pupil
I recently received an email asking about moving a pupil around with the animated texture. (Thanks for the email, Tom.)
The solution I came up with was using the same offset trick for the eye frames, and then using offset to control the pupil under the eye. A LERP blended the two together. It actually ended up being a simpler layout than I had anticipated:
The first Place2DTexture would control the offsets as shown in the the first tutorial to change eye shape, blinking, etc. The second Place2DTexture would control the eyeball offset, which would cause the pupil to move around 'under' the mask.
The problem, though, was that I could do this in UDK or Maya, but not in Unity. I'm not familiar enough with materials in Unity to work without a visual editor. Strumpy Shader is a great node based editor for Unity, but it was designed to work in Unity 3.x, and isn't supported anymore.
Tom came up with a clever solution; he used an additional plane for the pupil. The back plane had the eye outline (with lashes and the like) and the sclera colored in. The front plane had the pupil and sclera color, with a mask applied over it that matched the shape of the sclera of eye in the back plane. As a result, it was a very functional solution that worked very similarly to using a lerp, but it didn't require any special shader system.
If you wanted to keep the animation on the joints, controlling the pupil with either system would just require a script to handle rotation on the joints. Say, when it rotates on Y to +/-180 , it offsets the left-right a set amount, and when it rotates on Z, offsets the up-down; the X will always point in the direction it's looking. An aim constraint in either Maya or Unity (say, if you wanted dynamic eye direction) could drive the rotation on the existing joints, and the script would go from that information.
The solution I came up with was using the same offset trick for the eye frames, and then using offset to control the pupil under the eye. A LERP blended the two together. It actually ended up being a simpler layout than I had anticipated:
The first Place2DTexture would control the offsets as shown in the the first tutorial to change eye shape, blinking, etc. The second Place2DTexture would control the eyeball offset, which would cause the pupil to move around 'under' the mask.
The problem, though, was that I could do this in UDK or Maya, but not in Unity. I'm not familiar enough with materials in Unity to work without a visual editor. Strumpy Shader is a great node based editor for Unity, but it was designed to work in Unity 3.x, and isn't supported anymore.
Tom came up with a clever solution; he used an additional plane for the pupil. The back plane had the eye outline (with lashes and the like) and the sclera colored in. The front plane had the pupil and sclera color, with a mask applied over it that matched the shape of the sclera of eye in the back plane. As a result, it was a very functional solution that worked very similarly to using a lerp, but it didn't require any special shader system.
If you wanted to keep the animation on the joints, controlling the pupil with either system would just require a script to handle rotation on the joints. Say, when it rotates on Y to +/-180 , it offsets the left-right a set amount, and when it rotates on Z, offsets the up-down; the X will always point in the direction it's looking. An aim constraint in either Maya or Unity (say, if you wanted dynamic eye direction) could drive the rotation on the existing joints, and the script would go from that information.
Monday, September 30, 2013
Ascendant Rough Hero Jumping, Falling, and Ducking Flow
Just finished up the rough blocking for the hero jumping, falling, ducking, and standing flow. A lot of moves flow back into the falling and ducking animation, so I wanted to get this system in sooner rather than later. This is also the first real test with the cloth as we have it.
Whenever we implement this ingame, I'll go back and clean it up so it's smoother. I had to tweak the animation flowchart as well, and it's gotten delightfully complex (well, sort of complex.)
Whenever we implement this ingame, I'll go back and clean it up so it's smoother. I had to tweak the animation flowchart as well, and it's gotten delightfully complex (well, sort of complex.)
Friday, September 27, 2013
Life Drawing September 2013
One nice thing about being in school is it's much easier to take life drawing classes. While I'm still at FIEA, I'm going to keep on attending life drawing where possible. Here's a collection of my work from this past month:
I'm used to drawing with outline, so now I'm forcing myself to use value blocking instead. I can't tell if it's helping, but I have to assume it is.
I'm used to drawing with outline, so now I'm forcing myself to use value blocking instead. I can't tell if it's helping, but I have to assume it is.
Tuesday, September 24, 2013
Ascendant Grunt Knockbacks
This is the knockback for a Grunt enemy in Ascendant. They fall back over time, then loop when horizontal with the ground. It ends with the bounce and the kip-up.
Sunday, September 1, 2013
Ascendant Fly Tests
Goofy fly tests. Pretty simple, but necessary if the Fly is to move around in-game.
Friday, August 23, 2013
Joint Skeleton-mover Script
You can temporarily download it here until I get it on Creative Crash.
Or click Read More to show the full script at the bottom of the post.
This is a script I started late last year, and I've recently come back and cleaned it up. It allows you to grab the root joint of a joint chain to rotate and move it relative to the origin. It creates a locator on your joint, bakes the animation onto that, and then allows you to interact with a shape on the origin to play with your joint chain. After deleting, it bakes it all back onto the root joint. Though it's fairly simple, and not entirely original, it has been one of my most-used scripts for exported joint chains (and also mocap cleanup).
It's pretty straightforward; you run the JHH_skeletonMover script to create or delete the skeleton mover. It will intelligently put it on the object selected, then delete it off when you're done. There's also a JHH_skeletonMover_originOffset procedure which will center the joint onto the origin; good for zeroing out your animation. I'll be making a video pretty soon, but feel free to ask if you have questions.
I'll probably rewrite this in Python at some point, just to get some practice in.
Or click Read More to show the full script at the bottom of the post.
This is a script I started late last year, and I've recently come back and cleaned it up. It allows you to grab the root joint of a joint chain to rotate and move it relative to the origin. It creates a locator on your joint, bakes the animation onto that, and then allows you to interact with a shape on the origin to play with your joint chain. After deleting, it bakes it all back onto the root joint. Though it's fairly simple, and not entirely original, it has been one of my most-used scripts for exported joint chains (and also mocap cleanup).
It's pretty straightforward; you run the JHH_skeletonMover script to create or delete the skeleton mover. It will intelligently put it on the object selected, then delete it off when you're done. There's also a JHH_skeletonMover_originOffset procedure which will center the joint onto the origin; good for zeroing out your animation. I'll be making a video pretty soon, but feel free to ask if you have questions.
I'll probably rewrite this in Python at some point, just to get some practice in.
Thursday, August 8, 2013
I'm Working For Hapa Games
As of today, I'm technically working for Hapa Games. It's an indie company started by two of my fellow developers. We're working on a 2D Co-op brawler with roguelike elements. It's an idea we've been discussing for the past several months. More will be coming soon.
For funsies, you can check out some of the reference tests I made back in June:
For funsies, you can check out some of the reference tests I made back in June:
Subscribe to:
Posts (Atom)












