Beans Profile Banner
Beans Profile
Beans

@keenanwoodall

Followers
3,778
Following
295
Media
235
Statuses
704

Freelance developer. Making a games, tools and videos in my freetime. Creator of Deform: DMs always open :)

Nashville, TN
Joined November 2012
Don't wanna be here? Send us removal request.
Explore trending content on Musk Viewer
Pinned Tweet
@keenanwoodall
Beans
2 months
forgot to share a vid for this movement fps controller I've been playing with. check it out!
23
56
935
@keenanwoodall
Beans
2 months
i know im posting a lot, but i'm digging up a lot of old fun stuff haha this proc-animated character is from a game jam i never finished. felt pretty cool to be able to walk on almost anything!
74
291
5K
@keenanwoodall
Beans
5 years
This procedurally-animated robot is named B0X-E. He's quite mad at losing one of its arms, but manages to get around just fine! #madewithunity #gamedev #indiedev
108
683
4K
@keenanwoodall
Beans
6 years
Today is my 21st bday! To celebrate I'm releasing Deform for FREE! It's a big tool I've worked on for a few years that lets you use the deformers you know & love from tools like Maya & Blender in @unity3d Download here: Please share! #indiedev #gamedev
73
1K
4K
@keenanwoodall
Beans
12 days
My game is now running entirely from a single MonoBehaviour. There's just one Start and Update function for the whole thing. I REALLY like having the entire update loop laid out like this because
104
80
2K
@keenanwoodall
Beans
5 years
idk if this will make it onto the main branch, but i added elasticity to deform. Snag it here if you want. Instead of using the Deformable component, just use ElasticDeformable. ⚠ Expect bugs - this was made in a few hours with minimal testing 👌
22
163
1K
@keenanwoodall
Beans
4 years
i did a shader doodle! definitely not influenced by the character rendering in Soul
11
68
820
@keenanwoodall
Beans
11 days
It's amazing how so many people are assuming this is terrible for dev ergo. I am insanely picky about productivity. I think about project architecture constantly. I write tools to speed things up all the time. I'm particular about version control. Wouldn't I know best if it's a
@keenanwoodall
Beans
12 days
My game is now running entirely from a single MonoBehaviour. There's just one Start and Update function for the whole thing. I REALLY like having the entire update loop laid out like this because
104
80
2K
86
15
812
@keenanwoodall
Beans
2 months
some old ugui noodle tech
10
23
723
@keenanwoodall
Beans
5 years
0/5 Here's a thread where I'm gonna take my first stab at a twitter tutorial for the biped locomotion 👍
10
121
622
@keenanwoodall
Beans
6 years
experimenting with drawing each new frame of cellular automata on top of the previous frame
10
51
516
@keenanwoodall
Beans
6 years
What if every object's texture was what the camera just rendered? 🤔
12
42
417
@keenanwoodall
Beans
5 years
Yo here's a #unitytip Consider using the TryGetComponent method instead of GetComponent. It can save u from typing an extra line - very important!!🤓 I only discovered it somewhat recently and nothing shows up when I google it, so I figured it may be new to some of ya
Tweet media one
19
79
360
@keenanwoodall
Beans
6 years
got @SebastianLague 's excellent free spline solution working with the job system to deform meshes!
9
31
358
@keenanwoodall
Beans
5 years
angery worm
4
31
333
@keenanwoodall
Beans
6 years
Got inspired by @wilnyl 's grapple effect and was able to recreate it pretty easily thanks to his helpful explanation on reddit.
2
30
268
@keenanwoodall
Beans
2 months
awooooooooo 🐋
3
9
268
@keenanwoodall
Beans
2 months
I've started playing with a new graphing tool for upcoming videos using @FreyaHolmer 's Shapes. I'm using it to make little sequences of 2D/3D vignettes to build intuition for the math behind the code. This test seq shows how 2D input is transformed into 3D "player-space"
2
14
253
@keenanwoodall
Beans
6 years
jump in!
5
29
234
@keenanwoodall
Beans
4 years
BREAKING: Unity 2021.1 (Alpha) has stories
Tweet media one
3
20
225
@keenanwoodall
Beans
6 years
absolute unit
9
22
212
@keenanwoodall
Beans
19 days
i think this feels too odd to keep, but I tried adding stabilization to my crosshair so it stays steady regardless of secondary camera animation like shaking/leaning/bobbing. lean is exaggerated here to demonstrate. stabilization starts disabled and then gets turned on
13
8
212
@keenanwoodall
Beans
5 years
trying to get the hang of procedural locomotion with this grumpy lil spider dude
3
12
185
@keenanwoodall
Beans
12 days
1. There's no ambiguity about execution order. No crossing fingers and throwing logic in LateUpdate or futzing with [DefaultExecutionOrder]
2
0
165
@keenanwoodall
Beans
2 months
this older vid shows how the step-detection works. each limb shoots out a volley of raycasts at different trajectories. the "curved" raycasts are much better at finding steps on weird geo and walking up walls/over ledges. it can still get stuck, but it's pretty good!
8
8
159
@keenanwoodall
Beans
6 years
Added gravity to the grapple. It adds a nice snap if you animate gravity over time along a curve that goes negative on impact
2
11
147
@keenanwoodall
Beans
6 years
Ok, here's the *new* fastest way to clone a repository. Apparently you can type commands directly in File Explorer! #gamedev #indiedev
6
30
143
@keenanwoodall
Beans
5 years
wip plexus effect (using job system of course😩)
1
14
135
@keenanwoodall
Beans
2 months
Track creator I was toolin around on for a racing mode
2
2
130
@keenanwoodall
Beans
12 days
This is the closest I've gotten to liking my code architecture in Unity (after a decade of leaning hard into OOP/abstraction) so it's a good feeling. It *is* going against the grain because I'm not doing things the Unity Way™, so we'll just have to see how it pans out!
8
0
125
@keenanwoodall
Beans
5 years
Yo, here's the stuff I'm most proud of from 2019! It was a great year for me and I'm planning to make 2020 even better!
5
10
122
@keenanwoodall
Beans
6 years
@beesandbombs thought i'd give it a shot in @unity3d
2
8
118
@keenanwoodall
Beans
12 days
4. I can safely disable Domain Reload and enter play mode immediately bc there's no singletons or static variables.
2
0
115
@keenanwoodall
Beans
12 days
And just to clarify. Not every line of code is written in this class. It’s where the high level logic is composed. Broad brushstrokes! Most code lives in pure static functions, in other files, that define data/logic for subsystems. Game.cs is just what makes it all tick.
5
0
105
@keenanwoodall
Beans
6 years
I wanted to publish a tiny, free asset to the @AssetStore to get a feel for the platform. Here's my take on a clutterless, custom transform editor. Asset Store: GitHub:
7
17
105
@keenanwoodall
Beans
6 years
Did you know you can type "cmd" in File Explorer to open a Command Prompt at the current directory?
3
19
91
@keenanwoodall
Beans
2 months
to be extra clear, this is how each foot placement is detected. multiple raycasts are progressively marched further forwards and angled further down, until it's pointing back towards the player a bit so the player can step over ledges
Tweet media one
5
2
95
@keenanwoodall
Beans
12 days
2. I can configure the entire game from one place. This makes tweaking stuff super easy in Play Mode because I can just copy the Game component and paste it back in Edit Mode to preserve any and all changes I made.
2
1
92
@keenanwoodall
Beans
6 years
super happy with this
5
7
84
@keenanwoodall
Beans
6 years
it wants out
2
11
86
@keenanwoodall
Beans
12 days
3. With a "flattened" game loop, cross-cutting game logic is simple to implement. I have access to everything, and know when everything runs. No need for interfaces, or events. You're just piping data. I can go high-level w/ "system-level" functions, or granular w/ bespoke code
Tweet media one
3
1
85
@keenanwoodall
Beans
5 years
I've been feeling like @unity3d 's asset creation menu is a bit cluttered so I mocked up a reorganized version that I think feels a bit better. Does anyone else think this layout would be nicer?
9
4
75
@keenanwoodall
Beans
12 days
5. Later on it will be pretty straightforward to job-ify code that needs to run faster. Everything is already arrays of structs, stored independently from the scene references they drive.
1
0
75
@keenanwoodall
Beans
6 years
added some scene handles to the spherify deformer and damn it's cool
2
4
69
@keenanwoodall
Beans
6 years
If anyone is curious how it works, I made a "Getting Started" video!
1
5
68
@keenanwoodall
Beans
5 years
Got to mess around with @JangaFX 's EmberGen for a bit and it's phenomenally fun to play with. I rarely know what I'm doing but it always managed to look cool
2
7
61
@keenanwoodall
Beans
11 days
@leftoutdev I appreciate what you’re saying, and I am not trying to throw shade at all, but this type of comment is actually what I’m referring to, even though it’s clearly well intentioned 💙 SOLID principles are “intended to make object-oriented designs more understandable, flexible, and
2
0
62
@keenanwoodall
Beans
4 years
i will officially be adding colored fresnel to every shader from now on
1
1
59
@keenanwoodall
Beans
11 months
i hacked together an attribute for #unity3d that displays comments as a tooltip
4
4
57
@keenanwoodall
Beans
4 years
fuck it - janky fluid sim in vertex shader
1
5
56
@keenanwoodall
Beans
6 years
Found a great example of light bouncing aka global illumination in my bathroom!
3
3
51
@keenanwoodall
Beans
4 years
Brilliant!
@mvinetwork
Barnaby Smith
4 years
I made a lattice deformer for @keenanwoodall 's Deform for Unity!
10
45
477
0
3
52
@keenanwoodall
Beans
6 years
For fun I made a super simple, physics-based swarming tool in @unity3d ! Check it out here: #gamedev #unity3d
0
9
50
@keenanwoodall
Beans
4 years
@aras_p Hey! 👋 I'm working on a component for overriding arbitrary material properties with a material property block. I've got it working pretty well!
3
2
49
@keenanwoodall
Beans
5 years
@wilnyl It also changes the icon if the script is named GameManager. I think it used to change the icon if the name was Animator or Tile. Unity also doesn't like you using the name "Aux" or "PRN" and renames the file. Even better, naming it "prn" throws an error and Unity bugs out!
3
4
47
@keenanwoodall
Beans
5 years
5/5s To follow a target, just slowly rotate the root to look at the target. For this bot I'm constraining rotation to the y axis.
1
3
44
@keenanwoodall
Beans
6 years
Wanna use animation curves with the job system? I made a struct called NativeCurve to make caching curve values easy. Simply call curve.Update on the main thread to update the cache. Then you can use curve.Evaluate like normal.
1
5
44
@keenanwoodall
Beans
6 years
texture deformer == poor man's gaia
3
4
44
@keenanwoodall
Beans
6 years
constantly updating mesh colliders is like playing with fire, but it's cool when it doesn't break
0
1
42
@keenanwoodall
Beans
6 years
got a box mask working #gamedev #indiedev #unity3d
2
4
39
@keenanwoodall
Beans
6 years
Just wanted to give a massive thanks to everyone. I literally can't express how much it means. As someone who's really struggled with imposter syndrome, getting all these kind replies and messages has really made me feel welcome.
4
0
42
@keenanwoodall
Beans
2 months
rounded corner algo visualization
0
3
42
@keenanwoodall
Beans
6 years
you can never truly mess up when using matrices. literally every mistake is a happy accident #unity3d #gamedev
4
7
41
@keenanwoodall
Beans
5 years
I am excited to announce that I've joined the insanely talented/creative peeps at @absurd_joy as the Lead Juice Technician! Keep an eye out cuz we're making SUPER cool stuff!
6
1
41
@keenanwoodall
Beans
6 years
do you find this "attractive" enough? #gamedev
3
4
40
@keenanwoodall
Beans
11 days
@BaremetalBaron I know this to be true, because that was me for a very long time. I can't get too heated considering I've sat on both side of the fence, but it's still, like...cmon guys don't bash it before you try it😅
3
0
39
@keenanwoodall
Beans
6 years
I stumbled upon this super cool vector field tool you can use in your browser called fieldplay by @anvaka . twitter compression is gonna murder this vid but whatevs
2
4
36
@keenanwoodall
Beans
6 years
@thespite it's not quite as pretty, but i gave it my best shot in @unity3d using splines
2
4
37
@keenanwoodall
Beans
5 years
_
Tweet media one
10
3
36
@keenanwoodall
Beans
4 years
messin around with @mvinetwork 's super slick lattice deformer (now on develop branch) & tried a neat idea: draw lattice grid lines twice. solidwith LessEqual ztest and light with Greater ztest you can see where lines pass thru geometry cuz it changes from solid to light👀
3
3
35
@keenanwoodall
Beans
6 years
reversed gerstner waves look dope!
1
2
35
@keenanwoodall
Beans
1 year
@saint11 Not as simple, but this one from @TheAllenChou is my favorite.
1
0
33
@keenanwoodall
Beans
6 years
I just wasted the last 6 hours of my life making a tweening library that exclusively uses coroutines because I think the name is very clever
2
2
32
@keenanwoodall
Beans
6 years
failures are important to show. (especially when they look cool!) here's my first attempt at gerstner waves #gamedev #indiedev #unitytips
1
9
30
@keenanwoodall
Beans
2 months
if you want to learn how to make something like this, I spent the last couple weeks making a super in-depth tutorial that covers the code and juice alike 🤓🧃
1
0
31
@keenanwoodall
Beans
5 years
Also, if you don't wanna cache the reference for some reason you can still save a line by declaring the variable inline
Tweet media one
1
1
32
@keenanwoodall
Beans
6 years
i also decided to uncouple deformers from single meshes. you can create a deformer and use it on multiple meshes. this combined with world space deformers is crazy powerful! #gamedev #unity3d
1
6
30
@keenanwoodall
Beans
5 years
got an email from dropbox that my account was gonna be deleted due to lack of use. i reopened it on a whim and found some really fun animations I made when I was a wee 14 y/o here's a sentimental thread of my favorites:
2
3
29
@keenanwoodall
Beans
11 days
@NinjaJez I am letting Unity simulate physics, I'm just ticking it myself with Physics.Simulate. The only reason I'm doing this is because I have different time-scales for different gameplay elements and I need the physics to conform to the right one.
1
0
30
@keenanwoodall
Beans
6 years
i made a cylindrify and spherify deformer so i thought, "why not cubify?" turns out it's pretty hard to do well. after an hour or tinkering it's not perfect, but it's close
1
1
29
@keenanwoodall
Beans
6 years
added vertical and radial noise parameters to the melt deformer. you can get some pretty wack effects #indiedev #gamedev #unity3d
1
6
31
@keenanwoodall
Beans
5 years
Hopefully that was helpful! I'm happy to answer any questions!
6
0
29
@keenanwoodall
Beans
27 days
been diving into custom animation rigging constraints, all to fuel my need to do everything in Unity
2
3
29
@keenanwoodall
Beans
6 years
@moshboy in highschool i remember playing sanicball and thinking "i can do better." turns out i couldn't. i was very proud of the 3d models tho.
1
7
29
@keenanwoodall
Beans
6 years
it only took forever but its working in worldspace
3
2
25
@keenanwoodall
Beans
5 years
1/5 Create your robot and add inverse kinematics to the legs (I like Final IK)
1
0
27
@keenanwoodall
Beans
6 years
big mood
Tweet media one
3
3
27
@keenanwoodall
Beans
6 years
it's 3am and im about to ptfo..but spherify lmao
1
0
25
@keenanwoodall
Beans
6 years
My old prototype for Deform just hit 200 stars on GitHub. It's still a great learning resource if you want to see the math behind some common deformers/modifiers. The 'develop' branch even has my initial implementation of the job system. #unity3d #gamedev
0
5
26
@keenanwoodall
Beans
6 years
radial sine deformer with a twist (literally)
0
2
26
@keenanwoodall
Beans
5 years
4.2/5 If you get a new position, simply tween the corresponding legs target to the new position. Voila, your bot is walking forward!
1
1
26
@keenanwoodall
Beans
12 days
@Safari_Monkey I have! it's one of quite a few things that has been steering me towards writing simpler code. The biggest eye opener for me was actually making some small games in @odinlang . I went with simple, data-oriented code out of necessity and found that the code I wrote was much more
2
0
26
@keenanwoodall
Beans
2 months
@EvanDowning Walking biped if you’re trying to create a creature (proc anim can obv be used for just about anything tho) Here’s some links on helpful/cool resources
@keenanwoodall
Beans
5 years
0/5 Here's a thread where I'm gonna take my first stab at a twitter tutorial for the biped locomotion 👍
10
121
622
1
0
27
@keenanwoodall
Beans
4 years
@CodaFrost I thought the same thing! it ended up being a hacky abomination of a shader, but with a bit of cleanup I bet you could do that.
Tweet media one
3
0
26
@keenanwoodall
Beans
2 months
under the skin
2
0
25
@keenanwoodall
Beans
5 years
it renders really fast, but right now every possible pair of points does a distance check to see if a connection can be made which can get really slow. advice on some sort of spatial partitioning that'd improve the speed of calculating connections between points is welcome!
8
0
23
@keenanwoodall
Beans
6 years
can't tell you how pumped I am to be able to use animation curves with the job system 🤘
3
2
24
@keenanwoodall
Beans
6 years
I made a native version of AnimationCurve for the job system in @unity3d It's used just like a NativeArray: var nativeCurve = new NativeCurve (someAnimationCurve, Allocator.Persistent); might make a gist if ppl think this is cool #indiedev #gamedev #unity3d #madewithunity
2
2
24