Тёмный

#NotGDC2022 

Scott H
Подписаться 394
Просмотров 22 тыс.
50% 1

This was an impromptu talk given during GDC (for those of us who couldn't attend) called #NotGDC
----
Slides/Prototype: www.figma.com/proto/OLUow9pZh...
----
00:00 Introduction
2:40 Preview
3:30 Web Thought Process
6:50 UMG Thought Process
11:22 Web vs UMG Overlapping Patterns
12:45 Takeaways
14:30 Live Demo in UE5
40:58 Q&A
----
Follow me on Twitter: / superscott597
Join the BenUI Discord: discord.benui.ca/

Игры

Опубликовано:

 

19 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 42   
@ryanmuoio6569
@ryanmuoio6569 2 года назад
I found this video while searching for resources to help me learn UMG (and UI design in general). Your explanations are incredible. I realize your audience was filled with people with much more experience than me, but I still was able to learn a lot. (I watched the video about 10 times though, and I'll probably watch it a few more times to pick up details I missed. Haha.) As my first attempt at using UMG, I've been trying to replicate exactly what you made. I've been having some trouble, since the presentation had limited time, but I'm thoroughly enjoying what I'm learning.
@boldizsarszabo
@boldizsarszabo 3 месяца назад
Thank you so much for this! I had such a hard time adjusting to UMG since I come from a web dev background
@AlekseyLoykuts
@AlekseyLoykuts 2 года назад
That was a great NotGDC talk, thank you. I'm a UI Tech Artist and will look into UMG more to learn how it works, cause we use our own custom engine and it definetly needs more UI tools. As of the "arrow" in the scroller problem, like anything that needs to hang near the list, we've got 2 solutions: 1. Arrow should be a separated object, witch checks the position of the specific point in the list (like left-center of player's panel) at every frame and just repositions it self. Usefull when panel is getting hide while scrolling, so you can check for this event and hide an arrow with some fade animation 2. As every child of such scrolling list is being cut via Scissor Test, you can ask you enginier to make checkbox for exclude an element from the test In both cases you'll need some coding or help from programmers, but in the end you'll get more control on what's going on in the list
@zackakai5173
@zackakai5173 Год назад
Ah, one area of game dev where having front end development and design experience actually helps me 🤣 My favored approach is to design individual components (a button, for example) that can be pixel-perfect where I want them to be (say, the corners of the button), but design into them areas where they can dynamically stretch as needed (maybe the middle can grow/shrink as necessary). Then put them all together in such a way that the whole window or panel is responsive, just like it'd be on a responsive web page. That way you can have your skeuomorphic cake and eat your responsive one, too. No need to make everything a flat, hyper-minimalist box!
@superscott597
@superscott597 Год назад
1000%. Utilize some smart material work and 9-slice images and you can achieve some pretty amazing responsive skeumorphic and VFX-heavy UIs very easily.
@johnwildauer
@johnwildauer 4 месяца назад
"have your skeuomorphic cake and eat your responsive one, too" might be the best line ive ever read in a youtube comment
@ethanwasme4307
@ethanwasme4307 Месяц назад
i'm a programmer trying to get some basic textures set up for every single widget so i can send the templates off to an artist. one thing i have been doing habitually is making sure everything is responsive... when it was mentioned we should limit texture usage i kinda cried xD it's becoming a pick your battles thing just like any system in game dev
@stevenpick9451
@stevenpick9451 Год назад
Appreciate any Unreal UI tutorials - didn't know about the 96dpi UMG resolution which explains why my mockups at 72dpi weren't being correctly represented in UMG! Cheers!
@Dorgrin
@Dorgrin Год назад
Excellent presentation, thank you!
@ricciardivfx
@ricciardivfx 2 года назад
Thank you for this talk!! Would love another!
@bandbrothers2954
@bandbrothers2954 Год назад
Good stuff brother! One of the best UMG videos I've seen I hope we see more of this on your channel
@shannenmr
@shannenmr 5 месяцев назад
So I have read that Canvas Panels are not good for performance because they increment the layer ID and increase draw calls BUT apparently you can potentially manually set the layerid to stop this depending on how it interacts with your UI design. Additionally in regards to Performance you want to put the top level items in Invalidation Boxes (and/or enable Global Invalidation) but marking certain Widgets as Volatile, you want to try to keep the tree structure as flat as possible and try to do animations with Materials because Animations done using Sequencer are the worse for performance. Don't use Binds / Function Binds for properties because they are called each frame and instead use Delegates/Events and maybe look at creating your own WidgetController class or use the new Viewmodel plugin from EPIC.
@dorondavid4698
@dorondavid4698 2 месяца назад
I think you mean nested canvas panels. Overlays are the better options instead of canvas panels.
@Ziboo30
@Ziboo30 2 года назад
Great Tutorial. Thank you for sharing. Would love more videos ;)
@isimbulamadmobenibulsun660
@isimbulamadmobenibulsun660 6 месяцев назад
I wish to build everything together but so far all the info is already very helpful thank you
@isimbulamadmobenibulsun660
@isimbulamadmobenibulsun660 6 месяцев назад
perfect video. I feel very happy that I found this video
@JenAnty_JA
@JenAnty_JA 2 года назад
thankyou for sharing!
@coolhead20
@coolhead20 Год назад
Really cool video, very helpful
@johnsavage3586
@johnsavage3586 7 месяцев назад
Learned a ton from this, thank you! It's hard to find in-depth detailed videos on UMG
@cesariux9283
@cesariux9283 2 года назад
"...all this.... fluff" at 10:22, LOL!!! I love that term. I'm gonna use it now on my dailies, devs are going to love me. Great talk btw! as a fluff designer, I'm loving it.
@superscott597
@superscott597 2 года назад
Hahaha, thank you! I love the fluff. :D
@DJenriqez
@DJenriqez 10 месяцев назад
Nice, thanks I found very inspiring methodologies to use in my project :) have a nice day :)
@swrcPATCH
@swrcPATCH 4 месяца назад
Please more content like this!
@rtc-zaha
@rtc-zaha Год назад
Fantastic talk, would've loved for it go into more detail really! Do you mind sharing the Unreal Project files as well so people can dig into that, see how you did things in detail?
@ARMORHOUS3weplay
@ARMORHOUS3weplay 2 года назад
Hell yeah!
@gildervyse
@gildervyse 2 года назад
Would love if you could expand a bit on the SDFBox in the border material! Seems like a much better solution than my having multiple border images for every desired thickness workaround!
@superscott597
@superscott597 2 года назад
I would love to! I'll have to draft some more tutorials. Good to know this is something you'd like to see! I definitely want to talk more about SDF materials.
@bryanwoods456
@bryanwoods456 2 года назад
@@superscott597 Another +1 to seeing that.
@TheArtistEllie
@TheArtistEllie 11 часов назад
I came to the comments just to look for this
@MelbourneArchviz
@MelbourneArchviz 9 месяцев назад
most underrated professional youtuber. after me of course.
@Deck_Dynasty
@Deck_Dynasty 11 месяцев назад
Scott, so glad I came across your video. It's incredibly helpful and has clarified UMG sizing/scaling issues that have plagued me for years. I'm wondering how you'd solve this issue: you want to add textures to a widget that spawns via soft object refs (say an inventory screen showing item icons). You'd like to destroy and recreate the widget when inventory is accessed to keep memory footprint minimum, but in UE there's a bug where the textures sometimes don't show up if you do this due to garbage collection and memory allocation (if you reload soft refs to the same location, it returns null pointer). Don't worry if you don't know, just figured I'd ask in case you do :)
@imyasx
@imyasx Год назад
I love you
@keitana9832
@keitana9832 Год назад
Thank you so much for the tutorial. Got a question: Is it possible for you to share the unreal project files with us? It would be great.
@superscott597
@superscott597 Год назад
Hi! Go ahead and download here: www.dropbox.com/s/ybmtry2n1pbrg0g/NotGDC2022.zip?dl=0 So my bandwidth doesn't get slammed, I'll remove the link next week and re-link if anyone else desires. Hope it helps!
@QuiteDan
@QuiteDan 11 месяцев назад
Is there a way to distinguish paragraph spacing from line spacing? For example, text that is wrapped has a 1.0 spacing between lines, but a new paragraph gets 1.5 spacing?
@superscott597
@superscott597 11 месяцев назад
Unfortunately I believe you have to extend the Rich Text Block Slate widget if you want to add paragraph spacing. But I do wonder if it’d be easy to essentially duplicate how line height is being set and have a unique property that only affects hard new lines.
@thomasotto1661
@thomasotto1661 2 года назад
Whats the advantage to make the DPI curve like stairs 16:12 ? Never used the curve before and the linear graph always worked fine. I am just curious :)
@superscott597
@superscott597 Год назад
Hey Thomas, sorry for the delayed response. It helps avoid issues with text rendering and visual artifacts from thin borders specifically. You ever notice how you can put a 1px line at a 1:1 dpi layout, but as soon as that scales down a little due to the dpi curve, the line disappears? With this, you can always count on content being multiplied by a consistent factor. It follows more the thinking of responsive displays in the web than a wildly inconsistent scaling factor. There are benefits and drawbacks to both approaches, but I personally prefer the consistency of the curves I showed here.
@superscott597
@superscott597 Год назад
It also helps ensure text legibility on smaller displays, but you do have to plan your layouts with this content driven, fluid approach otherwise you’ll get a lot of clashing elements if you’re not intentional about it.
@jubbaday
@jubbaday 8 месяцев назад
@superscott597 I hope you can help me. I am trying to build Lower Third in UE and have created Widget for One line, It works as intended. But when I use this One Line Widget to create Two Line Widget i do not know how to pass input variables to my One Line Widgets from Two Line Widgets to be used in Event Preconstruct. I am doing this project in blueprints.
@peter486
@peter486 Месяц назад
How do you accually have a background of a Horizontal box?
@superscott597
@superscott597 Месяц назад
Can you provide a time stamp where you’re seeing this? It’s most likely that the horizontal box is inside of an Overlay box, with an image behind the horizontal box.
Далее
Making UIs With C++ in Unreal Engine, by Ben UI
32:40
Unreal Engine: UMG UI in 300 Seconds
6:20
Просмотров 16 тыс.
Кто поёт хит Буратино🤔
0:11
Просмотров 121 тыс.
Nanite for Artists | GDC 2024
22:09
Просмотров 93 тыс.
How To Add 3D Meshes to Images in Widgets
16:08
Просмотров 5 тыс.
Intro to making UIs in Unreal Engine 5
37:33
Просмотров 28 тыс.
Unreal Engine 5 UMG Design: Zelda Breath of the Wild
22:35
Unreal Engine - 3D Menu Tutorial
47:21
Просмотров 120 тыс.
Adobe is horrible. So I tried the alternative
25:30
Просмотров 635 тыс.