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

Ғылым және технология

🔽 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
    @chandlerlane15993 жыл бұрын

    The one person who disliked this works at Unreal

  • @acegikmo
    @acegikmo4 жыл бұрын

    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 KZread 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-xs5vx4 жыл бұрын

    Thank you for such valuable content ❤️

  • @NeatWolf
    @NeatWolf3 жыл бұрын

    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~

  • @DrPoiterer
    @DrPoiterer2 жыл бұрын

    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!

  • @sharkwithlasers3733
    @sharkwithlasers37333 жыл бұрын

    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 :)

  • @CosmicComputer
    @CosmicComputer4 жыл бұрын

    thank you Freya!

  • @spacedoggames5335
    @spacedoggames53352 жыл бұрын

    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

  • @puzzlinggamedev
    @puzzlinggamedev2 жыл бұрын

    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)

  • @izzymg1252
    @izzymg12524 жыл бұрын

    love these

  • @Jblouin6
    @Jblouin62 жыл бұрын

    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 🙂

  • @zalxder
    @zalxder2 жыл бұрын

    2:47:06 I think the correct answer is mirrors neither flip along x or y but rather along z

  • @yuhangren9917
    @yuhangren99174 жыл бұрын

    thank you

  • @NeatWolf
    @NeatWolf3 жыл бұрын

    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~!

  • @soyfandev4925
    @soyfandev49254 жыл бұрын

    thank u so much

  • @UnmaskedArtist101
    @UnmaskedArtist1012 жыл бұрын

    U are awesome, thank u

  • @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

  • @benjoe1993
    @benjoe19934 жыл бұрын

    Yeeeeeeey \o/ I'm sorry, I haven't done the assignment :D But will, once I'm done with LudumDare, I swear :P

  • @TheRabidCabbage
    @TheRabidCabbage3 жыл бұрын

    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(); }

  • @MorionTutoriales
    @MorionTutoriales4 жыл бұрын

    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!

  • @uuhamm
    @uuhamm2 жыл бұрын

    Haha love the rant about design patterns

  • @adgd
    @adgd2 жыл бұрын

    "Do you remember trigonometry?" Nope, doesn't ring a bell.

  • @user-kt8rw7wu7o
    @user-kt8rw7wu7o4 жыл бұрын

    nice content )

  • @monishdhayalan2552
    @monishdhayalan25524 жыл бұрын

    Hey hey

  • @wassimmefteh401
    @wassimmefteh4013 жыл бұрын

    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 !

  • @sixdegreesofcrispybacon
    @sixdegreesofcrispybacon9 ай бұрын

    #toolFeel Oh my! 😂

  • @81gamer81
    @81gamer812 жыл бұрын

    sounds like your cat is not spaded :)

  • @musicased9591
    @musicased95915 ай бұрын

    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?

  • @TAREEBITHETERRIBLE
    @TAREEBITHETERRIBLE2 жыл бұрын

    Frey youre so hot.

  • @himanshuchhabra7899
    @himanshuchhabra78994 жыл бұрын

    A humble suggestion - : Make eye contact with the camera as a law of communication It will surely help you in long run

  • @pubgtdmking3385
    @pubgtdmking33852 жыл бұрын

    Hey.. U know??? U look beautiful

Келесі