Blender has powerful Bézier curve tools that are a bit different than what you may be used to in other vector programs. This episode introduces you to how Blender handles Bézier handles.
It’s a little different from other vector programs like Adobe Illustrator and Affinity Designer, in fact I think it is better being able to easily see the handle types.Saturday, June 28, 2025
Monday, June 23, 2025
Bits of Blender #72 - A REAL 3-button Mouse
Friday, June 20, 2025
New Logo and New Bit!
Blender can be a challenge to learn at first, but its key commands are instantly addictive. I started using Adobe Illustrator with version 1.1 in 1987, but when I discovered Blender 2.37a in 2005, its shortcuts like G, S, R, X, and E quickly overtook 18 years of Illustrator muscle memory. I even caught myself trying to use them in the venerable vector tool!
Monday, June 09, 2025
A Tour of Blender (and Bits of Blender turns 17)
Saturday, May 31, 2025
Distribute Grease Pencil Strokes
I’m happy to share my first Blender Add-On! I couldn’t find a tool to evenly distribute grease pencil strokes in Blender or existing Add-Ons, so I built one myself. It’s simple but gets the job done! Check it out and let me know your thoughts.
#blender #blender3d
https://github.com/johnrnyquist/distribute_grease_pencil_strokes
Tuesday, March 04, 2025
Handling Gesture Recognizers and TouchesBegan in SpriteKit
Are you working on a SpriteKit game and trying to use both gesture recognizers and touchesBegan? I spent more time than I expected figuring this out. After asking AIs and not getting clear answers, I ended up checking the friendly manual myself.
Thought I’d write a quick blog post about it—maybe it’ll help someone else searching for this later.
The issue is that touchesBegan happens before the gesture recognizer. There’s an easy fix: set delaysTouchesBegan to true. Here’s an example:
override func didMove(to view: SKView) {
let panGestureRecognizer = UIPanGestureRecognizer(target: self, action: #selector(handlePanFrom))
panGestureRecognizer.delegate = self
panGestureRecognizer.delaysTouchesBegan = true
self.view!.addGestureRecognizer(panGestureRecognizer)
}
Why was it tricky to find? I think it’s because SpriteKit doesn’t get much attention these days, so there’s not a lot of discussion about it online. Hopefully this saves you some time!
Tuesday, February 18, 2025
Swashteroids 2.6
- New Phasing power-up! Temporarily nothing can touch you!
- New Xray power-up! See what treasures are in which asteroids!
- New button to trigger shields, enable them in your own time (or not).
- Improved the TRAINING section.
- Now using Apple SpriteKit’s physics engine to detect collisions.
Since my last Swashteroids blog post in Dec 2023, I've released many updates!
Version 2.6
Version 2.5
Version 2.4.2
Version 2.4.1
Version 2.4
Version 2.3
Version 2.2
Version 2.1.2
Version 2.1.1
Version 2.1
Version 2.0.1
Here's a video showing all the new power-ups (note: this is level 5)