Intro to Tool Dev in Unity [part 2/4]
Вставка
- Опубліковано 9 тра 2024
- 🔽 click for timestamps & info!
part second! this was originally streamed as a course for students at futuregames.se/, who were super kind to let me both stream this live as well as upload it here! so massive thanks to the people at FutureGames!!
💖 Patreon ❱ / acegikmo
🐦 Twitter ❱ / freyaholmer
📺 Twitch ❱ / acegikmo
💬 Discord ❱ / discord
🌸 Instagram ❱ / freya_holmer
0:00:00 - Intro (Twitch Partner Chatting)
0:01:32 - Changing Grid Size
0:12:21 - Drawing a Cartesian Grid
0:30:39 - Gizmo Selection
0:35:06 - UI Events
0:37:17 - Tool Dev Tip: Read Unity's Source
0:43:13 - Position Handle
0:49:41 - Drawing a Polar Grid
1:19:33 - Snapping to a Polar Grid
1:38:55 - Saving Data Between Sessions
1:46:50 - Saving In Files
1:54:52 - Making a Prop Placement Tool
2:00:39 - Setting up the Editor Window
2:05:55 - Scene View Raycasting
2:12:04 - Spawn Radius, Count & Repaint Caveats
2:18:03 - Random Points in Disc
2:39:06 - What is Tangent Space?
2:47:42 - Cat Ears
2:48:35 - Design Patterns Rant
2:51:38 - Spawn Count Refresh
2:53:13 - Range Limiting
2:58:12 - Raycasting Points to Surface
3:05:51 - UI Deselection & Mouse Events
3:09:37 - Raycast from Cursor in Scene View
3:13:48 - Mouse Wheel to Change Radius
3:24:27 - Modifier Keys, Bitfields & Enum Flags
3:37:44 - Assignments!
3:41:32 - Making the Circle Match the Ground
3:51:59 - Outro
3:53:29 - Bad Teacher - Наука та технологія
The one person who disliked this works at Unreal
Timestamps for mobile users~
(also, timestamps seem to work for me on mobile - for what device does it not work, or has it been fixed recently?)
0:00:00 - Intro (Twitch Partner Chatting)
0:01:32 - Changing Grid Size
0:12:21 - Drawing a Cartesian Grid
0:30:39 - Gizmo Selection
0:35:06 - UI Events
0:37:17 - Tool Dev Tip: Read Unity's Source
0:43:13 - Position Handle
0:49:41 - Drawing a Polar Grid
1:19:33 - Snapping to a Polar Grid
1:38:55 - Saving Data Between Sessions
1:46:50 - Saving In Files
1:54:52 - Making a Prop Placement Tool
2:00:39 - Setting up the Editor Window
2:05:55 - Scene View Raycasting
2:12:04 - Spawn Radius, Count & Repaint Caveats
2:18:03 - Random Points in Disc
2:39:06 - What is Tangent Space?
2:47:42 - Cat Ears
2:48:35 - Design Patterns Rant
2:51:38 - Spawn Count Refresh
2:53:13 - Range Limiting
2:58:12 - Raycasting Points to Surface
3:05:51 - UI Deselection & Mouse Events
3:09:37 - Raycast from Cursor in Scene View
3:13:48 - Mouse Wheel to Change Radius
3:24:27 - Modifier Keys, Bitfields & Enum Flags
3:37:44 - Assignments!
3:41:32 - Making the Circle Match the Ground
3:51:59 - Outro
3:53:29 - Bad Teacher
Hey, thanks for the great content you put out, can you recommend a UA-cam channel to learn math from algebra?
@@ceosuji I'm late to the party but 3blue1brown is the absolute best bet for you the "Essence of Linear Algebra" playlist is pretty damn good
Freya youre so sexy everything right down to that voice
Thank you for such valuable content ❤️
Awesome content as ever - still can't believe I've been sitting here all day watching this stuff, being entertained and educated.
Just one thing that future viewers might be interested in (I'm sure you know already!)
Where you use
so.FindProperty( "gridSize");
it's using a 'magic string' that needs to match the property name with no compile time warning if you spell it wrong (which I do constantly due to differing preferences on CasINg!)
C# has a function - nameof - that returns the name of a property - so you can use
so.FindProperty(nameof(gridSize));
so you get compile time (and IDE) errors if you get the property name wrong!
thank you Freya!
I have watched so many of your class material!
I absolutely love your work.
In this class you mentioned using Json.
Something I use a lot. But Im still learning and if you ever decide to do a session on Json I’d be super interested to learn all your mad trix.
Thanks for sharing your amazing knowledge
Hey Freya!
I've been following this series for a couples days on my time off to learn the basics of making tools but I have a small issue on the last part making the circle match the ground that I can't figure out where it comes from. I'd be extremly thankfull if you could help.
Basically when I make the Poly Line circle it works and I get the desired ground matching effect, but for some weird reason I also get a line from each point that extends towards the center of the world. Ive checked the code multiple times and compared with the way you were doing and I can't for my life figure it out.
Once again thank you for your amazing content it has helped me imensely during my projects and gave extremly valuable information!
Amazing content thanks a lot!
1:10:55 - There are 3 static fields in Mathf you could have used ;)
Mathf.PI
Mathf.Deg2Rad
Mathf.Rad2Deg
psh never~
love these
Hey Freya! Awesome series!
I'm curious, for Flowstorm, is there a reason that your level editor is used in playmode instead of in the editor/sceneview mode? I'm curious what the pro's and con's are of each approach.
Thanks!
the only reason the level editor is in play mode is because I want my players to be able to make their own levels! otherwise it would be way easier to keep it all in Unity's scene view :)
Today I had to come here to remind some things... this helped to deal with array in custom editors and property drawers... thanks once again... oh i forgot to comment about those cute cats as well 🙂
Haha love the rant about design patterns
thank u so much
Could you use for example a scriptableobject instead of the editorprefs to save the grid values, and saving the scriptableobject in the version system so other team members can use the same values? (obviously if the use case requires shared values)
thank you
U are awesome, thank u
2:47:06 I think the correct answer is mirrors neither flip along x or y but rather along z
Yeeeeeeey \o/
I'm sorry, I haven't done the assignment :D But will, once I'm done with LudumDare, I swear :P
"Do you remember trigonometry?"
Nope, doesn't ring a bell.
For some reason, neither the Selection.selectionChanged callback or Repaint() are working for me in Unity 2021.1.7f1. My scene view wouldn't update until I moused over it or entered play mode. The callback isn't triggering at all. and even if it did, Repaint() does nothing. not even if called manually.
The fix for me was to scrap all the event stuff and just add the following line after the for loop with the DrawAAPolyLine in it.
UnityEditorInternal.InternalEditorUtility.RepaintAllViews();
I don't know how optimal that is, but it works. and doesn't cause any focus issues with manual number entry. (Other attempted fixes had that issue)
EDIT: The thing you did around the 2:16:16 mark also works.
if (so.ApplyModifiedProperties()) { SceneView.RepaintAll(); }
part 3?
tk so much for your videos, they are amazings.
soon! I've been super busy with other stuff at the moment I'm afraid!
2:29:55 - but, isn't the third normal (bitangent) the camera forward vector, that we also used to calculate the tangent? 🤔 Am I missing something? 😟
no, the camera vector is pointing down through the surface, we want one that is flat, pointing along (tangent) to the surface, hence the bitangent
@@acegikmo Yes, I believe I got that... but for some reason I was assuming that since:
- we know the A vector (hitNormal)
- we know the B vector (camera forward)
C (tangent, orthogonal) = A x B --> so also D (bitangent, orthogonal) = A x C.
Since D was orthogonal to C that was orthogonal to B, I was assuming that D was the initial camera vector.
BUT
that's not true since C and D are orthogonal to A, not to B. I guess I forgot about the order.
I should probably review the cross product :D
Thanks Freya~!
#toolFeel
Oh my! 😂
I know I'm late, but I have a few minor points.
Your cartesian grid drawing could have been simpler and more efficient. Just do: for (i = -halfLines ; i
nice content )
Hey hey
Well, I've been doing game dev for a very long time now no godots, unity or unreal, but I won't lie, I've found content here new stuffs here that I've never knew before, and I really like it cause at some points I though I know everything about these engines lol, a shame to find such a very smart and talented youtubter / streamer just getting 10 ro 30 k viewers, while idiots like dani with his none sense videos just getting hunder of thousads, keep it up girly, your content is just amzing !
sounds like your cat is not spaded :)
Hey.. U know???
U look beautiful
Frey youre so hot.
A humble suggestion - : Make eye contact with the camera as a law of communication
It will surely help you in long run
Can you please block me? I don't want to watch your videos but it keeps coming up after NileRed when I fall asleep and I wake up to your face and it makes me angry. How do I make it stop?