Slime critter

This is the official thread for the creation of the Slime critter. Take a look at the Hero card on the roadmap.

The slime critter is a creature that moves around slowly, and when the player gets too close, attacks the protagonist.

When idling, the slime is deflated and almost flat on the ground. When moving, it slides on the ground and gently inflates and deflates, almost like a breathing.

To attack, it briefly deflates (a bit) as if to charge, then sprints forward in a small jump.

When defeated, the 3D model deflates completely (fast) and at the same time a particle system bursts out with droplets.

Since it's a character, we need:

All these phases don't need to be tackled by the same person!

You can get some more info on the Critters on the corresponding card on the game design wiki, or in the cards for the individual tasks linked above.

And for art guidelines, you can refer to the Rock Critter already present in the project.

6523525--736168--SlimeCritter1.jpg 6523525--736171--SlimeCritter2.jpg

hi! i would be interested in doing the rig and anim aspect for the slime critter. not too confident of my modelling/texturing skills.
i dont think a model is available yet. i can wait or i can do a rough proxy mesh for this guy. let me know.

just learnt of this proj this morning. excited to be onboard!

1 Like

Hi @lpchow , and welcome to the project :)

Sure, you should give it a shot!
For your information, we also have another enemy character that is currently being animated by @treivize (in this thread). Maybe you could team up in some way? He said he's stronger on the modelling but less on animation.

Hi @cirocontinisio and @lpchow ,

I will try to model something and UV tonight, that will match what is available in the concept art.

@lpchow , this part will be handled through your rigging and animation, right? Here I feel a bit intimidated by the expectations :)

Hi @lpchow ,

I have opened a PR with the initial version of what could be the Slime Critter 3D model:
https://github.com/UnityTechnologies/open-project-1/pull/200
Feel free to comment on it and to checkout my PR branch to look at the rigging and animation parts.

Here is the geometry:
6537982--738988--upload_2020-11-19_1-30-15.png

Here is the result in Unity:
6537982--738982--upload_2020-11-19_1-24-48.png

@cirocontinisio , to provide something close to what the concept art is defining, I am also proposing in the PR a new Toon Shader, Toon_Fresnel, where you can add a Stepped Fresnel effect like visible in the screenshot above.

Here is the Shader graph:
6537982--738985--upload_2020-11-19_1-27-51.png

3 Likes

sry i cant believe i missed the replies on this thread. i will take a look through and get back if i have any issues.


yup definitely, thanks.

hi @treivize , i need some help with using github, first time using it. i am familiar with sourcetree and svn tortoise, but only on the pulling and pushing commits stuff. im a little confuse with the branches. want to check if im doing it correctly.

  1. i clicked ur PR branch link and click 'Open in Desktop'. my GitHub Desktop pops up but i dont see any difference.
    6539866--739330--upload_2020-11-19_21-53-4.png

  2. i think i was on the main branch and i changed to pr/200 branch, which i believe is your Slime critter branch, because i saw a #200 in the header in your PR branch.
    6539866--739336--upload_2020-11-19_21-55-4.png6539866--739342--upload_2020-11-19_21-56-40.png

  3. after changing the branch, i saw my fetch orgin tab change to this
    6539866--739345--upload_2020-11-19_21-58-8.png, so i am guessing im doing something correctly??? lol

  4. my unity updated and i see the fbx of the slime critter. you mentioned abt the rigging parts but i dont see it. seem to be a mesh only. am i doing it correctly?
    6539866--739351--upload_2020-11-19_22-3-50.png

i can do the rigging and anims for the slime critter. i just wanna check with you the workflow on getting commits from others and what i should be doing if i want to submit/commit my stuff after i finish the anims my this creature.

im aware of dapper dino's video and the doc guidelines on how to contribute stuff. might need to reread and rewatch a couple of times to really understand.


https://docs.google.com/document/d/1PwBF4yQl69RxvVHZ2m2iiy5pYjd9QO-VcuXWDjB7QwA/edit#

thanks

Hi @lpchow ,

what you did is right. You can use the prefab directly in Unity under Prefabs/Characters/SlimeCritter to have both model and materials applied.
Indeed, I have worked only on Model/UV and shaders. I understood from your first post, that you could do rigging in addition to the animation.

@cirocontinisio , good question from ahblock, what is the preferable to share work on the same source code? Should we wait for the merge of SlimeCritter in art-assets branch (it seems to be a slow process) or he can create now branch from mine to add rigging and animations? It assumes at least that my mesh is fine enough, I guess to start rigging it.


One way you can do it is if he creates a PR to your branch.

So 1) you made a PR to the repo, 2) he makes a PR to your branch, 3) whatever gets merged into it becomes part of your PR on our repo. Makes sense?

1 Like

@cirocontinisio , it makes sense for sure :) Still for art delivery, I have the feeling that it is safer to start rigging and animating when mesh is somehow close to a final version.

So here is the question, is the model aligned enough with what is expected from concept art?

Hey @treivize ! Nice work!

I tried to experiment a little with your shader. I animated the fresnel effect and moved the effect so it was done before the outline and shadow steps.

Here's the result:

6542098--739681--shader.gif

It works fine for the sphere. But it can improve for a more complex geometry like the slime.

Also, I really tried to make the specular highlights work, but I couldn't. I'm not sure if the specular highlights are working in the toon shader. I think that some highlights could give the slime a more liquid appearance.

What do you think?

1 Like

Hey @erizzoalbuquerque !

It is looking much better like this! Having the Fresnel effect applied before the outline seems really obvious now you have proposed it!

I do not know how you think about adding it to the existing shader modular system. But maybe it could be interesting to create some hooks in the Main ToonShading graph to be able to inject some custom function along the Color path, Something like this:
6543067--739855--upload_2020-11-20_9-30-56.png
Setting default value (color: black and contribution: 0) it does nothing. So no need to update all the shaders using ToonShading and all the existing materials.

About the liquid effect, I am wondering if we could do something similar to my initial approach for the glass of the lantern with a big refraction effect:

1 Like

I'm not sure if this is the best way, but I duplicated the ToonShading subgraph, and modified this new one like you did. I think it's better to create a new subgraph since I think very few creatures will use this new shading.

6544135--740098--ShaderGraph.png
(sorry for the hardcoded values. WIP)

I'll share the shader here in a zip file, if you wanna have a look. (easier than opening a PR to your branch)

About the liquid effect, I think I was not very specific. The highlight I'm missing is this one (and I couldn't make it appear even if the shader seems to have a specular component):

6544135--740083--Captura de tela 2020-11-20 111128.png

Looking at the concept art, I imagine this creature having a "transparent" shiny exterior. Like jello (so the highlight is important.) Inside he has a semi-liquid core moving. Maybe a Volcano Lamp. The moving Fresnel effect is faking it.

6544135--740089--references.png

This was the effect I was trying to achieve. Do you imagine the same thing?

6544135--740107--Toon With Fresnel.zip (14.8 KB)

1 Like

wow, u guys made so much progress on the shader. i will test it out on the animated slimecritter in unity after im done with all the anims needed.

managed to do idle and move anim + added an "alert" anim in case we want a quick anim feedback (a quick flash of exclaimation mark works too) when slimecritter spot main player.

anim requirements - https://open.codecks.io/unity-open-project-1/decks/16-3d-shading/card/18a-animations

slimecritter_idle_01 : qb2fk2
slimecritter_move_01 : vgzqgm
slimecritter_alert_01 : cjgtd0 <-- not required but was quick to anim so i just went ahead lol

let me know of any feedback. im wondering if it should breath even slower and more exaggerated in the idle state. my initial idea is to make him more sleepy and lethargic (trying to squeeze some personality in) since he kind of look like that in the concept. but i didnt really push all the way since i do not know how exaggerated/cartoony the motion can be yet still acceptable within the general art direction of the game.

oh btw i changed my nickname so ahblock = lpchow, incase anyone is confuse.

8 Likes

@lpchow , wow! It is really good! I love the alert one!

For the idle, indeed I like the lethargic, maybe I would add a small eyelid movement in the idle, like a small lid twitch and in the move anim more periodic move.
Also I do not know if it is possible to anim the spikes on its back, like being quite retracted in idle and move anim and they are expanded during the alert and after during the attack anim. What do you think?

So glad that a good animator has joined the project!

BTW: I thought that I had already put a prefab for the slime in my first commit, but it was not the case. Now it is done!

BTW2: If you want to open a PR to merge in mine, do not hesitate, I can do the Animator controller once I have some animations available.

@erizzoalbuquerque , I have updated my PR with an updated version of the shader based on your comment. The Shader Graph is a bit different but I liked the animation of the Fresnel effect.

6546808--740569--upload_2020-11-21_11-23-56.png

For the specular, today, it reacts only to additional lights, not the main one, so that is why you have the impression it does not work since there is only the directional light in the scene. Still here it should be good to have this white spot displayed all the time. I am trying to figure out how to create a fake.

1 Like

@erizzoalbuquerque , what about this result?
6547240--740677--slime_critter_3.gif

Hi there!

An updated version of the shader applied to the different color variant of the critter (as shown in the concept art):
6548329--740953--slime_critter_4.gif

The shader graph:
6548329--740950--upload_2020-11-21_23-17-18.png

The fake specular is computed based on an inverted fresnel + step and where the view direction of the Fresnel node is based on the main light direction.

4 Likes

Wow! You're all making some fantastic work in here!!

@treivize one thing: you created what you call a "fake specular", but to be honest we should incorporate a specular contribution into the main shader, and to be more precise the main lighting model Subgraph. In fact, the additional lights already produce a specular, so why not have it for the main light?

I had the task in the backlog, but I've put it in a card in the 3D and Shading deck. Not sure if you want to do it or somebody else wants, but I definitely think we should find a unified solution rather than using it only in this jelly one.

And by the way: the characters all have a specularity map, already used for the additional lights. You can experiment with that!

@cirocontinisio , sure I can have a look at adding specular for main light to all Toon shaders.
First we are talking about hard specular, right, like here where you have a spot of the direct light color.

Due to how the composition is made along ToonShading sub graph, multiply between Lights & Shadows and Albedo, it will be difficult to output a hard spot with the light color by changing the subgraph of the main light model, am I wrong?


Not too sure, I'd have to look into the shader. If you don't have time or feel like it's too complex, we can do this later and I can lend a hand.

For the rest, I've looked into the PR but it seems like a few things are broken. I left some notes on the PR itself.