Thanks :) I do hope to make some Slate videos in the future, but have some other stuff I want to cover first. In the mean time... If you're familiar with UMG, you can probably understand Slate pretty well. Slate is effectively a way to write, in code, what you set up the the UUserWidget widget tree. It has a special syntax with operator overloading, but once you get used to it, it is pretty readable and intuitive. A superpower in the engine is actually something called the WidgetReflector. It lets you inspect any in game UI -- and even the editor UI -- and see the underlying widget tree hierarchy. You can just type `WidgetReflector` into the console, or open it in one of the menus at the top of the editor (I forget where off the top of my head). The widget reflector will show you the widget tree at runtime. It also points you straight to the Slate code (if it is Slate rather than UMG, it will point you to UMG if widget is made in that) so you can use that as an example to see how to write things in Slate. "painted" just means stuff you can't actually click on, vs the hit testable ones which interact with user input. So you can use the "pick painted widgets" mode to inspect widgets that don't accept user input (ie the Pick Hit Testable widgets). Hope that helps. I want to make some videos showing how to use those tools at some point.
Hello, thanks for this great content! I wish if you post the code (especially the C++) in GitHub in file for gist format. Its mush easier to reason about the code during/after watching the video if its in text format.
You mean in general or how to use them in Unreal? I don't know the underlying math too well, but I have a pretty good mental model of them. I think of them as rotated spheres -- that hold rotation data. And you can combine many quaternions, which is like following a sequence of spheres to get to final rotation. Like matrix multiplication. Quaternions let you avoids something called gimbal lock. I learned a lot about them before using Unreal, with GLM math library. Can search for `tutorial 17: Rotations` and get some nice explanations of how they are useful. on opengl-tutorial website. (not sure if youtube will let me post a URL). (think of the Euler angles as being like a rotator in Unreal) The concepts seem mostly the same, but in Unreal the function names are different. But yeah, that would be a good video to make in Unreal. Since you often have to convert to a rotator and back to a quaternion to do some transform logic if I recall correctly. It will be a while before I can make a video on them though, so don't look for it anytime soon, unfortunately. Note, rotators have a function to convert to quaternions. And Quats have a function to convert to rotators. So you can do some logic with a rotator, which is probably more intuitive, and the convert it back to a quaternion. You might not be able to do everything like that, but a lot of common use cases probably can be done with rotators
Awesome content as always! can you make some videos about editor tools maybe? or slate?
Thanks :)
I do hope to make some Slate videos in the future, but have some other stuff I want to cover first.
In the mean time...
If you're familiar with UMG, you can probably understand Slate pretty well.
Slate is effectively a way to write, in code, what you set up the the UUserWidget widget tree.
It has a special syntax with operator overloading, but once you get used to it, it is pretty readable and intuitive.
A superpower in the engine is actually something called the WidgetReflector. It lets you inspect any in game UI -- and even the editor UI -- and see the underlying widget tree hierarchy. You can just type `WidgetReflector` into the console, or open it in one of the menus at the top of the editor (I forget where off the top of my head).
The widget reflector will show you the widget tree at runtime.
It also points you straight to the Slate code (if it is Slate rather than UMG, it will point you to UMG if widget is made in that) so you can use that as an example to see how to write things in Slate. "painted" just means stuff you can't actually click on, vs the hit testable ones which interact with user input. So you can use the "pick painted widgets" mode to inspect widgets that don't accept user input (ie the Pick Hit Testable widgets).
Hope that helps. I want to make some videos showing how to use those tools at some point.
Hello, thanks for this great content! I wish if you post the code (especially the C++) in GitHub in file for gist format. Its mush easier to reason about the code during/after watching the video if its in text format.
I appreciate the video! Can you make a video on quaternions.
You mean in general or how to use them in Unreal?
I don't know the underlying math too well, but I have a pretty good mental model of them.
I think of them as rotated spheres -- that hold rotation data.
And you can combine many quaternions, which is like following a sequence of spheres to get to final rotation.
Like matrix multiplication.
Quaternions let you avoids something called gimbal lock.
I learned a lot about them before using Unreal, with GLM math library. Can search for `tutorial 17: Rotations` and get some nice explanations of how they are useful. on opengl-tutorial website. (not sure if youtube will let me post a URL). (think of the Euler angles as being like a rotator in Unreal)
The concepts seem mostly the same, but in Unreal the function names are different.
But yeah, that would be a good video to make in Unreal. Since you often have to convert to a rotator and back to a quaternion to do some transform logic if I recall correctly.
It will be a while before I can make a video on them though, so don't look for it anytime soon, unfortunately.
Note, rotators have a function to convert to quaternions. And Quats have a function to convert to rotators. So you can do some logic with a rotator, which is probably more intuitive, and the convert it back to a quaternion. You might not be able to do everything like that, but a lot of common use cases probably can be done with rotators
Here's the URL, if youtube will let me post an external link:
www.opengl-tutorial.org/intermediate-tutorials/tutorial-17-quaternions/