#Entity Outline
1 messages · Page 2 of 1
Been working on something about the outline atm, This unfortunately will change the whole tutorial of it. until then, here's what i already did.
- Crosshair shows on outlined entities.
- Regular Graphics (Simple/Fancy) and Vibrant Visual work flawlessly together.
- Whole Material rewritten from the ground up, instead of including 2 material properties, it's now 1 and is a lot easier to set up. hence the tutorial altering.
- Outline is now completely different.
There will be 3 new outline examples and 1 world for testing.
I don't know when will I release it but yeah, just FYI.
Still ironing out some issues though that is, but here's screenshots i suppose.
so cool
your skin is so pretty too!
Really impressed, I thought you had "abandoned" this outline thing
Really well done ❤️❤️
don’t say such bad things 😡😡
Chill 🤨
Yippie
harlow, i know this isnt proper but you understand materials in minecraft pretty well right?
clearly lol
No.
Oh! Then nevermind 😅
@sturdy latch i have a question
Is it possible to make the outline into 2 layers?
like this btw
That would be interesting
You can do that right now easily
Modify outline's texture to whatever you want
Basically it's as if you are making a new texture for the inflated model
yeah
alr, i'll try it
Oh Yeah, there’s no need to change the entity.material part anymore, right?
just change the outline model
but i want try to use mesh btw
like this
No, you’re supposed to just change the texture that’s it
first time dealing with entities
wrong channel.
Lmao
I just read entity and I immediately thought it was the main channel
Sorry for asking before you get to post your new finished tutorial on the matter, but do you have quick pointers on how to achieve this? I would appreciate anything, since I'm working on a time-sensitive project 🙏
I got it working just fine with Fancy graphics but I'm having trouble in Vibrant Visuals, my "outline" geo is rendering over the regular part of the model.
Is Stencil just completely broken in this graphics mode, or is there some way to make it work? Something with a single RC perhaps, based on what you said? Or in the screenshot you posted, is the white outline of the player in VV using a trick other than stencils, like a one-sided material? (it does not look like it, based on the shading near the shoulders)
Wait I might be a stupid idiot, I only just noticed the pinned message. I have not seen this V2 yet...
*edit: it did not help
Stencil works almost completely differently in Vibrant Visuals due to whatever mojang has been doing with their renderer. initially Stencil is completely broken, but fortunately they kinda fixed it and it took them almost a year to do so. (Likely due to marketplace creators demand)
This, unfortunately means that the outline material needs to be remade since apparently the way they "fixed" stencil is not exactly the same as the regular render counterpart.
No, this does not use one-sided material, but instead attempts to render behind the entity. essentially achieving the actual outline instead of outline breeding inside the entity's model.
Honestly I haven't done anything with this remake of outline but I'll probably share it pretty soon once i get stuff ready.
Thanks for answering, good to know it's getting better.
So if you remember off the top of your head, was it a matter of changing the stencilFunc property for frontFace and backFace and the order of RCs, or is there more to it?
There's more behind to it, but are now in under cleaning up state.
The code should be alot cleaner and readable once i get it done.
stencilRef are now being used as a layer, so stuff like extra outlines inside the outline should or probably be possible.
Though unfortunately there's some issues that i couldn't fix.
I'm trying to get it done before tomorrow ideally, so I've got just one question
Is the gist to first render the inflated silhouette, writing to the stencil; and then render the regular model over it in a second RC, and use the right properties for
"stencilFunc" "stencilFailOp" "stencilDepthFailOp" "stencilPassOp"
to choose to render the regular model over the silhouette, forming the outline?
That is all i could say really since I'm still busy at work.
Also, the ..FailOp, DepthFailOp and PassOp doesn't exist here.
After putting the outline in the attachable, the outline load of the part overlapped (nothing behind) in the sky in the VV continues to fail, but is not successful.
I was wondering if this is a problem with stencil that happens in vv or if there are any known ways to easily fix it
I'm experimenting and don't know much still, but I at least noticed that this depends on having "Blending" in the outline material states. If I don't have it, the outline only renders over terrain, not over the sky (which I think is what you're describing?).
So it's got something to do with the render order of translucent things.
Ok i'll try
If add blending, it's projected into the sky, but it seems like it can't read the stencil itself on VV.
Or maybe something between the camera and the player is changing the stencil. Maybe it's a fog or atmosphere or light that's only in VV..
the blending state is primarily required so the outline does not look like a box shaded.
Yeah im aware that FANCY state exists but blending state works better.
I got it to render over the sky and water by using the Blending state in both materials. Though it added some other rendering issues (including in Fancy graphics): the outline (and the regular geo if the outline geo has inverted normals) won't render through another transparent cube, and I saw some flickering occur when the entity is looked at under certain angles in Fancy graphics.
// that's the regular model, creating the mask.
"outline_base:entity_alphatest": {
"+states": ["EnableStencilTest", "StencilWrite", "Blending"],
"frontFace": {
"stencilFunc": "Always",
"stencilFailOp": "Replace",
"stencilDepthFailOp": "Replace",
"stencilPassOp": "Replace"
},
"backFace": {
"stencilFunc": "Always",
"stencilFailOp": "Replace",
"stencilDepthFailOp": "Replace",
"stencilPassOp": "Replace"
},
"stencilRef": 255
},
// that's the inflated geometry, rendering after the regular model. It is cut out wherever the mask is
"outline:entity_alphatest": {
"+states": ["EnableStencilTest", "DisableDepthWrite", "Blending"],
"-defines": ["FANCY"],
"depthFunc": "Always",
"frontFace": {
"stencilFunc": "NotEqual"
},
"backFace": {
"stencilFunc": "NotEqual"
},
"stencilRef": 255,
"stencilReadMask": 255
}
Same setup with VV graphics:
For Fancy graphics, FANCY can be disabled, and ignore_lighting in the Render Controller can bet set to true to remove all shadows.
For VV graphics, I so far found that only giving the texture a little bit of emisiveness through the texture_set file worked to remove shadows, like 5/255.
As for having texture transparency, I think just having "+defines": ["ALPHA_TEST"] works, no need for the Blending state? Unless you were referring to something else. For translucency it is needed for sure.
Besides stencils, custom materials in VV have some bugs. For example, it seems like the DisableColorWrite is broken. Has mojang mentioned anything about this? I heard that the stencil problem was solved at update log, but it still seems to have not been resolved.
Or is it because I'm using material in attachable? I will try applying it elsewhere soon.
I think this is gonna be a good base for anime styled shaders like Genshin for the entity stuff
Is it possible to put the outline on blocks without a behavior pack?
not possible afaik
do you think it's possible to make this compatible with any custom mobs from every addon so we don't have manually generate the render controllers outline version for each mob
also not possible afaik
since you need to modify the mob's materials and geo
hmm, then it so hard to built shaders around this to be compatible with every addon that adds custom mobs
yes, only way this could be possible would be to use mods, but that is no longer vanilla addon territory
mods? can you elaborate, please?
so like DLL injection?
yeah something like that maybe, I honestly don't know much about it
there has been some modded bedrock showcased here
and they usually edit things that cannot be done in bedrock yet
I seems can't find player.geo.json there?
It's in mobs.json. Called geometry.humanoid.custom for the wide-arm player.
For the alex model?
The slim model is geometry.humanoid.customSlim
Alright I'll try working with this
in wardrobe it looks good but it broken in game
because you used customSlim geometry
yeah, fix it now, but not sure if it will be fine with slim model
does anyone have the fully working one like this? currently my outline doesn't follow the skin layer and the coloring also weird
Im actually trying to do something like this
kewl
How do I fix this?
It seems like it is an attachable problem, the outline ignores the original model rotation, no matter how i rotate the outline it stays the same
make sure the outline is in the same bone as the model, but inside a different folder
using only inflated cubes will cause this to happen, presumably because the animation is playing 2 times because of bone names
Just asking, does it now work with VV or still broken?
So like, change the outlines root_item > cubes called also root_item to root_outline > cubes also called root_outline?
eh not really, just duplicate the model, inflate the model, then select all of the cubes and group them into a separate bone that is still inside the original bone
so root > cubes here turns into root > outline_bone > cubes here
No, publicly. but Yes internally.
I haven't released it yet, but i guess I'll have to release the unfinished version.
TL;DR —

um.
Lmao
Yeah I just noticed this issue yesterday, I didn't think it was because of the outline though
For me, weirdly the bug doesn't include the outline
It is unfortunately an outline bug unfortunately.
Other packs such as A&S and several do not have this issue other than mine for some reason, i suppose it could be me setting up the layer extremely high or it is just Ore-UI's layer being extremely low.
Hey @sturdy latch sorry to bother, but how can I make a model be rendered behind the outline_base material? I have a big entity with a outline and the player have a hp bar, the hp can't be rendered when the player is too close to the entity
It will render behind walls but not behind that entity
You may have to copy and paste outline material, change their layer to a little lower and apply them to that specific entity.
Though for now i think i might release an unfinished v3 version since I don't have my hand on vibrant visuals every now and then except on my phone, but it will work on both VV and regular still. it'll come with fewer issues.
In not too worried about VV, My phone doesn't support VV but I think players will want to use it on my map
Having support will be a great thing
Although I can't test it
It is entirely a new thing, yes. this includes the tutorial of it will be changed aswell.
since it is no longer just 2 materials, but rather than 1 material. it is a lot less but achieves the same thing.
fyi —
I'm curious about this, (I'm not a material expert), but I will have a lot to do since I've been using outlines everywhere
I had forgotten about this 0-0
Try using !q.is_in_ui
Yeah I try that as a workaround for now
Any updates on this?
In trying to do a similar thing.. take your lawnmower example, what I have right now is basically the lawnmower model with an empty texture, the empty texture basically overwrites (custom skinning) the color of the outline (which renders above anything through depthfunc) the problem is that with VV the material doesn’t work, the outline renders above everything, so you can also see it behind blocks (which is correct) but it looks like a full lawnmower + outline, not just the outline of it (that’s how it looks like with fancy or simple graphics)
All I managed for VV was to make a material for an inverted lawnmower outline (but I removed the empty lawnmower in the middle that should overwrite the color), but it doesn’t render above blocks
It’s a fairly complex issue to explain from text
Heres an example
I hope this makes sense to you
All I did was downloading and moving the files to my RP but I get this error parsing render_controllers/arx.entity.outline.json error
I don't really understand it and seems like no one asked about this before
I don't know why but it fixed itself
Wrong channel.
channel outline ?
This is an entity outline template, not a material helping channel.