Intro to Tool Dev in Unity [part 2/4]

  Рет қаралды 56,761

Freya Holmér

Freya Holmér

Күн бұрын

🔽 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

Пікірлер: 42
@chandlerlane1599
@chandlerlane1599 3 жыл бұрын
The one person who disliked this works at Unreal
@acegikmo
@acegikmo 4 жыл бұрын
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
@ceosuji
@ceosuji 4 жыл бұрын
Hey, thanks for the great content you put out, can you recommend a KZfaq channel to learn math from algebra?
@5daydreams
@5daydreams 3 жыл бұрын
@@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
@TAREEBITHETERRIBLE
@TAREEBITHETERRIBLE 2 жыл бұрын
Freya youre so sexy everything right down to that voice
@mailmaxxxx
@mailmaxxxx Жыл бұрын
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!
@QuietSnake-xs5vx
@QuietSnake-xs5vx 4 жыл бұрын
Thank you for such valuable content ❤️
@DrPoiterer
@DrPoiterer 2 жыл бұрын
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!
@spacedoggames5335
@spacedoggames5335 2 жыл бұрын
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
@NeatWolf
@NeatWolf 3 жыл бұрын
1:10:55 - There are 3 static fields in Mathf you could have used ;) Mathf.PI Mathf.Deg2Rad Mathf.Rad2Deg
@acegikmo
@acegikmo 3 жыл бұрын
psh never~
@sharkwithlasers3733
@sharkwithlasers3733 3 жыл бұрын
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!
@acegikmo
@acegikmo 3 жыл бұрын
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 :)
@Jblouin6
@Jblouin6 2 жыл бұрын
Amazing content thanks a lot!
@pabloalves
@pabloalves Жыл бұрын
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 🙂
@puzzlinggamedev
@puzzlinggamedev 2 жыл бұрын
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)
@CosmicComputer
@CosmicComputer 4 жыл бұрын
thank you Freya!
@zalxder
@zalxder 2 жыл бұрын
2:47:06 I think the correct answer is mirrors neither flip along x or y but rather along z
@izzymg1252
@izzymg1252 4 жыл бұрын
love these
@NeatWolf
@NeatWolf 3 жыл бұрын
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? 😟
@acegikmo
@acegikmo 3 жыл бұрын
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
@NeatWolf
@NeatWolf 3 жыл бұрын
@@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~!
@benjoe1993
@benjoe1993 4 жыл бұрын
Yeeeeeeey \o/ I'm sorry, I haven't done the assignment :D But will, once I'm done with LudumDare, I swear :P
@finaldsam
@finaldsam 2 жыл бұрын
Haha love the rant about design patterns
@TheRabidCabbage
@TheRabidCabbage 3 жыл бұрын
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(); }
@UnmaskedArtist101
@UnmaskedArtist101 2 жыл бұрын
U are awesome, thank u
@soyfandev4925
@soyfandev4925 4 жыл бұрын
thank u so much
@yuhangren9917
@yuhangren9917 4 жыл бұрын
thank you
@Raven-Creations
@Raven-Creations Жыл бұрын
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
@MorionTutoriales
@MorionTutoriales 4 жыл бұрын
part 3? tk so much for your videos, they are amazings.
@acegikmo
@acegikmo 4 жыл бұрын
soon! I've been super busy with other stuff at the moment I'm afraid!
@adgd
@adgd 2 жыл бұрын
"Do you remember trigonometry?" Nope, doesn't ring a bell.
@user-kt8rw7wu7o
@user-kt8rw7wu7o 4 жыл бұрын
nice content )
@monishdhayalan2552
@monishdhayalan2552 4 жыл бұрын
Hey hey
@sixdegreesofcrispybacon
@sixdegreesofcrispybacon 9 ай бұрын
#toolFeel Oh my! 😂
@wassimmefteh401
@wassimmefteh401 2 жыл бұрын
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 !
@81gamer81
@81gamer81 2 жыл бұрын
sounds like your cat is not spaded :)
@TAREEBITHETERRIBLE
@TAREEBITHETERRIBLE 2 жыл бұрын
Frey youre so hot.
@pubgtdmking3385
@pubgtdmking3385 2 жыл бұрын
Hey.. U know??? U look beautiful
@musicased9591
@musicased9591 4 ай бұрын
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?
@himanshuchhabra7899
@himanshuchhabra7899 4 жыл бұрын
A humble suggestion - : Make eye contact with the camera as a law of communication It will surely help you in long run
Intro to Tool Dev in Unity [part 3/4]
1:59:54
Freya Holmér
Рет қаралды 26 М.
Intro to Tool Dev in Unity - An Improvised Live Course [part 1/4]
3:39:31
Sigma Girl Education #sigma #viral #comedy
00:16
CRAZY GREAPA
Рет қаралды 12 МЛН
Stupid man 👨😂
00:20
Nadir Show
Рет қаралды 29 МЛН
The Continuity of Splines
1:13:50
Freya Holmér
Рет қаралды 1,3 МЛН
Giving Personality to Procedural Animations using Math
15:30
t3ssel8r
Рет қаралды 2,4 МЛН
The Future of Game Development
8:58
Brackeys
Рет қаралды 1 МЛН
Intro to Tool Dev in Unity [part 4/4]
1:46:57
Freya Holmér
Рет қаралды 24 М.
ROBLOX STUDIO HOW TO FIX IMPORTING GLITCH!
0:37
BlackHoleLabs
Рет қаралды 32 М.
Unity Architecture for Noobs - Game Structure
16:24
Tarodev
Рет қаралды 182 М.
The Beauty of Bézier Curves
24:26
Freya Holmér
Рет қаралды 1,9 МЛН
Turning an Optical Illusion Into a Playable Character
22:39
ByteBlox
Рет қаралды 80 М.
Every Unity Tutorial Be Like
0:43
Stephen Hubbard
Рет қаралды 100 М.
Watch This Before Working on a Big Game in Unity
18:44
John Leorid
Рет қаралды 289 М.
На iPhone можно фоткать даже ночью😳
0:30
GStore Mobile
Рет қаралды 1,4 МЛН
Carregando telefone com carregador cortado
1:01
Andcarli
Рет қаралды 1,3 МЛН
Apple watch hidden camera
0:34
_vector_
Рет қаралды 30 МЛН
The power button can never be pressed!!
0:57
Maker Y
Рет қаралды 47 МЛН
Why spend $10.000 on a flashlight when these are $200🗿
0:12
NIGHTOPERATOR
Рет қаралды 18 МЛН
Introducing GPT-4o
26:13
OpenAI
Рет қаралды 4,3 МЛН