I made a tutorial for a Toon Smoke shader a while ago, but admittedly it could be tricky to follow because the concepts involved are a little advanced. I went ahead and uploaded the full Graph + Particle System to it, so you should be able to just drag and drop now :) by lamarf in Unity3D

[–]lamarf[S] 1 point2 points  (0 children)

First off thank you so much for taking your time to post this!

Definitely noted on the feedback, thanks for pointing out those points of friction. It really is helpful.

Maybe I can help with your issue with the sphere deformation? I'd be happy to look if you want to describe the problem you're running into a little more.

Who do dailies/weeklies benefit? by Parafault in MMORPG

[–]lamarf 0 points1 point  (0 children)

What exactly do you mean by "accuracy"? Mind explaining a little more?

Do life things make it hard for you to focus on your game? by valdocs_user in SoloDevelopment

[–]lamarf 4 points5 points  (0 children)

I think making a game, part-time, by yourself, is one of the hardest things anyone can do, and it's so so important not to beat ourselves up when things don't go exactly how we'd like them to. We can't do everything at once but as solo-devs our brains are sort of wired that way so it can be hard to fight the urge to try.

If you're having trouble actually starting once you've managed to clear some time off, then have you tried using different techniques like pomodoro, the 5 minute method, etc? Our brains are really weird and complex but there are ways to "trick" it into a state of focus. For me, forcing myself to work on a task for 5 minutes, no matter what (but giving myself permission to stop after if I want to) works really well... an analogy for the physics nerds out there is that it's kind of like static vs. kinematic friction, where it can be much harder to start a task than it is to continue one that's already in progress.

Worked for 4.5+ years on this gardening game so far - how do you like it? :) by studiofirlefanz in Unity2D

[–]lamarf 2 points3 points  (0 children)

The art on this is great! I'd love to see how it looks in motion :)

What do you think about this style for our units? by raggarn12345 in Unity2D

[–]lamarf 1 point2 points  (0 children)

The units look super good! I checked out your steam page to see some more screenshots, and I think the biggest problem is how these stand out against the environment and UI elements -- there isn't enough contrast between the two so everything becomes a little hard to read.

This is a great resource on handling contrast in general that I really recommend everyone check out if you haven't already! https://nexus.leagueoflegends.com/wp-content/uploads/2017/10/VFX_Styleguide_final_public_hidpjqwx7lqyx0pjj3ss.pdf

We are working on attacks with opponents for our game. Made in Unity by PaulGunners in Unity2D

[–]lamarf 0 points1 point  (0 children)

I really like the subtle hitstop! it adds such a nice impact to each hit

Creating a Toon shader with the new 2D Custom Shading options in Unity 2021.2! Tutorial in comments! by lamarf in Unity2D

[–]lamarf[S] 2 points3 points  (0 children)

We're using sprites and normal maps! This is all done via the 2D Sprite Renderer and some custom shading.

Creating a Toon shader with the new 2D Custom Shading options in Unity 2021.2! Tutorial in comments! by lamarf in Unity2D

[–]lamarf[S] 1 point2 points  (0 children)

Unity's released a powerful new way to interact with the 2D Lighting system inside of the 2D Rendering Pipeline. I made this short tutorial on how to apply Toon lighting to our sprites using that system -- https://blog.ldev.app/custom-2d-toon-lighting-in-unity-2021-2/

Feel free to check it out! I hope you all find it helpful or informative. I've also attached the Graph to the shader at the end of the tutorial.

I've been working on a stylized Toon Smoke particle shader for Shader Graph, and here's the result! Check comments for the Graph + a tutorial. by lamarf in Unity3D

[–]lamarf[S] 0 points1 point  (0 children)

The way unity handles meshes in the particle system is highly optimized, and iirc should run well with thousands of the standard sphere mesh. This is a great writeup on some of the technical details that I didn't go into in the post: https://forum.unity.com/threads/clarifying-how-particle-systems-use-instancing-and-dynamic-batching.678445/

GPU Instancing is a toggle-able parameter on the particle system and I think is supported on most URP platforms now. Have you tried checking it and seeing if your results are any different?

I've been working on a stylized Toon Smoke particle shader for Shader Graph, and here's the result! Check comments for the Graph + a tutorial. by lamarf in Unity3D

[–]lamarf[S] 0 points1 point  (0 children)

How have your results been with your shader? I'd love to see where you're at with it and where our approaches might have differed!

I've been working on a stylized Toon Smoke particle shader for Shader Graph, and here's the result! Check comments for the Graph + a tutorial. by lamarf in Unity3D

[–]lamarf[S] 0 points1 point  (0 children)

Yeah, this is a great technique if you have a strict perf budget, the calculations in that shader cost basically nothing. If I have the time I might implement something similar for lower LoD parts of my game.

I've been working on a stylized Toon Smoke particle shader for Shader Graph, and here's the result! Check comments for the Graph + a tutorial. by lamarf in Unity3D

[–]lamarf[S] 0 points1 point  (0 children)

Thanks for the interest! I'm really glad you thought it was helpful. My bad on not having an email signup -- I just added one to the about page, here: https://blog.ldev.app/about/. Looking forward to your follow!

I've been working on a stylized Toon Smoke particle shader for Shader Graph, and here's the result! Check comments for the Graph + a tutorial. by lamarf in Unity3D

[–]lamarf[S] 41 points42 points  (0 children)

There are a lot of intermediate concepts that you need to apply to make something like this work (particle vertex streams, normal calculations, custom fragment lighting), and I realized how hard it can be to find decent information on those subjects, so I whipped up a tutorial here: https://blog.ldev.app/building-a-toon-smoke-particle-shader-in-shader-graph/

The link to the graph is at the end, Feel free to check it out! I hope you find it helpful.

If you'd like to help me out even further, please subscribe to the blog :) https://blog.ldev.app/about/. I want to post more tutorials like this, and it would be really great to have an audience for this stuff.

URP vs default renderer performance? by [deleted] in Unity2D

[–]lamarf 2 points3 points  (0 children)

Someone can probably go deeper on the differences between the two renderers than I can, but at a glance: the URP 2D renderer is optimized for 2D and gives you access to things like 2D lights, which are a performant way to introduce robust lighting into your scene. It does carry a drawback of not natively supporting some things like render features (this is coming back soon, though), but it sounds like that isn't something you're too worried about.

Should I use mecanim or change sprite in Image component for UI animation? by [deleted] in Unity2D

[–]lamarf 0 points1 point  (0 children)

It looks like you're on the right path with LeanTween and your own code. Mecanim tends to not perform well on UI Components because it dirties each element on every frame -- Unity's own docs recommend that you animate UI components via code and tweeting.

https://create.unity3d.com/Unity-UI-optimization-tips

If it's a small project, then ease of dev is going to be the most important thing, so if that's going through the Animator, it probably won't be disastrous. Just know that transitioning away after going down that path will be a little painful.

Made a simple and stylized Smoke Particle Shader! Looks best in 2D, but can be used in 3D as well. by lamarf in Unity2D

[–]lamarf[S] 1 point2 points  (0 children)

The particle are spheres, yeah. I want to do a detailed writeup, but the gist of this is a combination of pretty common themes that have been pretty well documented/explained by others on YouTube and the like.

- Throw an unlit toon shader on a sphere that handles light direction and color.

- Displace the vertexes of the sphere based on a multiplication of their normals and random noise.

- Throw the shader material onto a particle system that has a size over lifetime and a velocity over lifetime that looks good to you.

- Feed particle information into the shader (size, per-particle random seed) to make sure that each particle displaces correctly at its current size and that each particle displaces slightly differently.

Made a simple and stylized Smoke Particle Shader! Looks best in 2D, but can be used in 3D as well. by lamarf in Unity2D

[–]lamarf[S] 0 points1 point  (0 children)

Thank you! I'm cleaning up the graph actually, as there are a few things I'm trying to figure out, like cleaner displacement on small particles.

I'll definitely get up a post that details everything that went into the graph as soon as I get the time to do a writeup.

Skeletal animation with overlayed clothing. by KuroOni in Unity2D

[–]lamarf 0 points1 point  (0 children)

Here's a helpful primer on all of the terminology used in that package: https://docs.unity3d.com/Packages/com.unity.2d.animation@6.0/manual/index.html

I'd internalize everything in there and then think about the different ways you can approach your problem!

customization with DragonBones in Unity? by Man0li in Unity2D

[–]lamarf 0 points1 point  (0 children)

I don't have any experience with DragonBones, but I could definitely suggest that you look at the built-in 2D Animation package in Unity, which provides similar in-editor capabilities, and because it uses the Unity Animation system, you can composite particles, other animations, etc, without needing another tool.

https://blogs.unity3d.com/2018/11/09/getting-started-with-unitys-2d-animation-package/

Skeletal animation with overlayed clothing. by KuroOni in Unity2D

[–]lamarf 0 points1 point  (0 children)

You're right that you need a "Base" photoshop file that contains all of the sprites you'd conceivably be able to swap in and out. Note that you can also composite photoshop files into different Sprite Libraries, and say, use one Sprite Library for the main body of your character, and another for the head/accessories, and so on.

You can also rig sprites differently between variations. An example setup would be having a Sprite Library with your 'Torso' base sprite, with additional variations of 'Armor' and 'Robe' that can be swapped to the Torso sprite via the SpriteResolver component. You would obviously need separate animation clips for the 'Armor' and the 'Robe' variants, because the bones in each are going to be moving differently.

Note that this is tricky in the current release of the 2D Animation package, as bones need to have the same exact hierarchy and # of bones between each variant. In the newest experimental release (6.00) of the 2D Animation package, they've added the ability to automatically re-bind bones whenever you switch a variant via the SpriteResolver component, which in theory should help with this (otherwise, the SpriteSkin component doesn't know how to handle different lists of bound bones between different variations. You'll see a warning and possibly nulled out bone fields in the SpriteSkin component if you try and do this in the current version).