Runtime Vertex Paint || The Best Bang-for-Buck Plugin

Поделиться
HTML-код
  • Опубликовано: 15 янв 2023
  • The first 1,000 people to use this link will get a 1 month free trial of Skillshare: skl.sh/prismaticadev01231
    Hey Prismaticrew! Today we're having a look at an extremely useful set of tools that can be used for hundreds of different things. If you've ever wanted to do vehicle damage, character damage, Splatoon-style painting or just letting players paint and customise things as runtime, then this is the video for you!
    LINK to the Marketplace page: www.unrealengine.com/marketpl...
    ----------------------------
    Patreon: / prismaticadev
    Twitch: / prismaticadev
    Discord: / discord
    RUclips: / prismaticadev
    Twitter: / prismaticadev
    ----------------------------
    Computer Specs:
    Ryzen 3900x 12-core CPU
    MSI Geforce RTX 2080 Super
    64GB Corsair RAM
    One of those fancy nvme m.2 SSD's
    Programs of choice:
    Unreal Engine - (Game Dev)
    Blender - (Animation and Modelling)
    OBS - (Video/screen capture)
    Davinci Resolve - (Video editing)
    Adobe Photoshop - (Graphics and Texturing)
    ProTools 11 - (Compositions and mixing)
    OldSchool Runescape - (The best game)
    Filmed using:
    Sony A7s2 body
    Sony 24-70mm f/2.8 GM lens
    Yonguo YN360 LED's for colour
    Yongnuo YN760 chip LED w/ Godox softbox for key
    My lovely cats names are Boycat, Girlcat and Ladycat :)

Комментарии • 55

  • @muqtada6611
    @muqtada6611 Год назад +43

    There is something about you that is not found in the rest of the RUclipsrs. Simply, you explain things, how they work and how to use them, unlike others. Others give us what we want and we cannot understand anything of what they do. We just do what they ask, but you are different.

    • @timsonss
      @timsonss Год назад

      Can you name someone in particular?

    • @muqtada6611
      @muqtada6611 Год назад

      @@timsonss Uisco
      Matt asplaned
      You have ryan laley is good

    • @artcontractor2351
      @artcontractor2351 5 месяцев назад

      Its because this dude actually knows what he is talking about. Only people with extreme depth of their "product" can break it down so simply. Keep it up mate. Its so great.

  • @Alex_River
    @Alex_River Год назад +44

    Thank you so much for featuring my plugin

    • @Chareidos
      @Chareidos Год назад +2

      I am thinking about buying your Plugin for Real! It seems to check all the boxes I had planned to figure out myself (by fiddling with Dynamic Materials, becoming grey in doing so).
      I only got one big Question. I do intent to use Vertex Shader Animations for clothes and hair instead of utilizing the Unreal Cloth-Physics. (Far away of being there, still studying tutorials for that).
      Could I address your wetlook effects on Vertex animated hair and clothes as well? Sorry if my question is off, I am still on a noob level.

    • @Alex_River
      @Alex_River Год назад +1

      ​@@Chareidos Great, hope to see you in the discord sometime in the future then :)
      Yup you can use the plugin and vertex colors to drive vertex animations, if you for instance want your character to walk through a water fall and only the part of your character that gets wet should run the animations! I haven't done it myself because here is an example of a guy that has:
      ruclips.net/video/LGg3Vh8RZN4/видео.html

  • @morganlak4337
    @morganlak4337 Год назад +12

    This is a feature I've always felt should exist in game engines, what a cool plugin.

  • @-nickdev
    @-nickdev Год назад +5

    I don't know how you do it, but every time I want to learn something you post a video about that thing. Literally the most helpful channel for people who aren't beginners with game dev but want to learn something super helpful and cool.

  • @Righteous_Destiny
    @Righteous_Destiny Год назад +2

    I bought this the moment I saw it on the Marketplace. I haven't used it yet but I knew I needed it 🤣

  • @ACouchpirate
    @ACouchpirate Год назад +2

    I'm also a very much vanilla engine kind of guy, but I do have a small handful of plugins that I am eyeing on the marketplace and this one looks like one that has a lot of use cases, looks neat!

  • @lz4090
    @lz4090 Год назад +3

    Thank you for featuring this very important plugin. I do hope you make a series on this one, including Dragon IK physics and the newer Engore: Procedural Dismemberment. I think all of use would love to see a series on each one. :)

  • @StevenDiLeo
    @StevenDiLeo Год назад +1

    Great find! Super useful plugin. I'll definitely be picking this up 😻

  • @dustbus4822
    @dustbus4822 Год назад +1

    I am sweating with excitement at this plugin

  • @Chareidos
    @Chareidos Год назад +2

    Uooh... I think you have found the Plugin of my choice! First Time Thinking about buying a Plugin! Thank You!

  • @rob3625
    @rob3625 Год назад +3

    awesome plugin and video!

  • @ShuShuShop
    @ShuShuShop Год назад +2

    Interesting.. Here's an idea, blood splatter that can hit npcs and cause them to panic.
    A lot you could do with this tool.

  • @CyberWolf755
    @CyberWolf755 Год назад +3

    You can do deformations with vertex paint for a car like you did in the video and probably also combine with a blend shape as well to deform the mesh in a more authored way.

  • @halo2masterX
    @halo2masterX Год назад +1

    Been looking for exactly this! Would love to see more content like this if you find more gems on the marketplace

  • @swampdert
    @swampdert Год назад +2

    thank you for this blessing

  • @MrCsapotamas
    @MrCsapotamas Год назад +3

    I am not 100% sure that GPU can instance meshes with different vertex colors, so it may causes extra drawcalls sometimes. (You can't instance meshes manually with different vertex colors... )

    • @PrismaticaDev
      @PrismaticaDev  Год назад

      Yep yep, that is correct. It still outweighs every other option (decals, render targets) in terms of performance for drawing on meshes but that is definitely something to keep in mind

  • @GamingWithDaleUK
    @GamingWithDaleUK Год назад +1

    I wish there was a tutorial on actually implementing it... bought it today and have zero idea how to use it, the documentation doesnt help

  • @Mittzys
    @Mittzys Год назад +2

    13:59 What's "Splatoon?" do you mean the hit video game Splaboon?

  • @FireF1y644
    @FireF1y644 Год назад +6

    I wish it worked with Nanite

    • @PrismaticaDev
      @PrismaticaDev  Год назад +5

      Hopefully they can figure out vertex paint with Nanite - it’s one of the key features holding it back. Not being able to create variation with vertex paint is very limiting

    • @Alex_River
      @Alex_River Год назад +5

      I tested this again and it turned out my project wasn't 100% enabled for nanite because of some DirectX shenanigans.
      I've been able to reproduce this issue now where with nanite enabled, i can no longer paint on it. The task is a success but i see no difference in vertex colors.
      I will look into this and hopefully have a fix for the next patch :)
      Thanks for bringing this to my attention!

  • @LFPAnimations
    @LFPAnimations Год назад +2

    Is it possible to save the vertex paint? So that multiple players would see the same paint and also you could load a save file and the paint stays consistent.

    • @PrismaticaDev
      @PrismaticaDev  Год назад +1

      It’s something that is being thought about. You could set up a sort of “paint replay” that executes all the commands in order which would recreate it on save/load and also across clients

    • @LFPAnimations
      @LFPAnimations Год назад

      @@PrismaticaDev would be cool if there was a way to bake it to a texture after a certain amount of time

    • @Alex_River
      @Alex_River Год назад +1

      Hi.
      Yeah the Example Project has an example of how you can Save and Load vertex colors onto a SaveGame Class. Another solution is as PrismaticaDev Mentionted save the paint tasks that a mesh got to an array and when you Load, you iterate through them and re-paint them. This is more leightweight storage wise but there'll be a bunch of tasks running once Loading. You can optimize the array by clearing it if the paint task was a paint job that Set the colors, or if it was a color snippet task, since then all the previous tasks before it isn't relevant anymore.
      I'm gonna look into Saving Colors into a Snippet in Runtime onto Data Assets, which is essentially the same thing as the save game class where each vertex color get stored, but will be more comfortable since instead of Loading you can just Paint a Color Snippet

  • @rasenganmax3446
    @rasenganmax3446 Год назад

    Hey Pris, were you able to get this to work on landscapes? Or are you using your method still from your video?

  • @now_ever
    @now_ever 5 месяцев назад

    Is there are any chance to have similar review on "Next Gen Destruction Toolkit"?
    Or basically "5 minutes Chaos Destruction" series?

  • @nhatminh7397
    @nhatminh7397 Год назад +1

    have a good day

  • @Baleur
    @Baleur Год назад +1

    12:43 SOLD!! DING DING DING, folks we have a winner.
    You should get 10% of the profits my dude.
    Can you do this for terrain to???? I'm thinking, gradually have the wheel of my vehicle carve tracks in the ground, and let it lerp in a mud texture at the deepest parts.
    Or rather, what im asking is, can you have a texture appear where the vertex paint is applied, or can it only be a flat color?

  • @FishMan1nsk
    @FishMan1nsk Год назад +1

    IFAIK different vertex paint means separate draw calls. Dunno about this 'real time' thing. But instancing for example doesn't work for meshes with different vertex paint.

    • @PrismaticaDev
      @PrismaticaDev  Год назад

      That is correct, however I think this is most useful on meshes like buildings and larger props, as well as characters (which can't be instanced anyway). Still very good to keep in mind though in case someone was thinking of having thousands of paintable things on screen at once haha

  • @ryanmcmahon6043
    @ryanmcmahon6043 10 месяцев назад

    Doesn't changing vertex colors in runtime break batches/draw calls? Does this plugin counteract that?

  • @nodelayfordays8083
    @nodelayfordays8083 Год назад +3

    Which performs better, painting with vertex or painting with render targets?

    • @PrismaticaDev
      @PrismaticaDev  Год назад +2

      This method by far - render targets, especially when using an unwrap/capture setup can be hella expensive.

    • @kettenotter
      @kettenotter Год назад +1

      In most cases this should be cheaper. But one thing is that unique vertex colors will disable auto instancing, as far as I know. So each mesh is its own draw call.
      Would be interesting to see if nanite meshes also need a draw calls for unique vertex colors.
      So for many small meshes I would use render targets or try to merge them into larger meshes. Or paint them with per instance custom data.

  • @Kiromitsu
    @Kiromitsu Год назад

    Wait, could this be used to cut objects at runtime too then?

  • @eligijuspranskunas3509
    @eligijuspranskunas3509 Год назад +1

    wow

  • @Navhkrin
    @Navhkrin Год назад

    Hello Prismatica, can you enable paid subscription for this channel? I know you have patreon but I don't ever log into that website and neither does many other so I think it would be additional gain for you. Big fan of your tutorials

  • @Demnus
    @Demnus Год назад +3

    WTF? Why it's so big deal? I always thought that this stuff should be a part of the engine by default...

    • @PrismaticaDev
      @PrismaticaDev  Год назад

      You would think so! Haha but it's only doable in-editor by default.

    • @Alex_River
      @Alex_River Год назад +2

      Yeah i totally agree, which is why I priced it somewhat low since I think it's something that everyone should have access to and make cool stuff with :)

  • @OzirV1000
    @OzirV1000 Год назад +1

    The only things that are kinda eh is that it's limited to RGBA, doesn't work with Nanite...yet, and, I think, that It will look great on high poly meshes, but won't look that good on low poly meshes, because there is simply fewer vertices there to paint on? Is that right?

    • @Alex_River
      @Alex_River Год назад +4

      Hi. I just tested Nanite in the 5.1 Example Project by enabling it in the project settings and on the mesh, and it seems to work as intended. Let me know if you can't get it to work. Remember that you have to set CPU Access to True on Static Meshes :)

    • @OzirV1000
      @OzirV1000 Год назад

      @@Alex_River Ah, Sorry, I was just making asumptions, cause I thought that it had something to do with the world position offset not working with nanite. But thanks for clarifying that it does work. My bad.

    • @Alex_River
      @Alex_River Год назад +1

      @@OzirV1000 np! It's good that everyone brings up any potential bugs so they can be squashed immediately xD
      Will do some extensive testing regarding Nanite just to make sure everything is 100% :)

    • @Alex_River
      @Alex_River Год назад +1

      You where right actually, it turns out Nanite wasn't 100% Enabled for my project because you had to implicitly set it to use DirectX12 in project settings->Platforms->Windows.
      When i enabled it i couldn't paint on the mesh anymore, the task was a success but no visual difference was seen on the mesh.
      Will look into this and can hopefully have a fix for the next patch!
      Thanks for bringing it to my attention!

    • @OzirV1000
      @OzirV1000 Год назад +1

      @@Alex_River Ah, really? In that case, I'm fairly certain that it would be really difficult to fix on your end. I think that the UE devs are working on Nanite support for this kind of thing on their side, which they have already prototyped for UE 5.1 that only works for Foliage so far, I'm not sure though.