So I have seen many systems, and variants of a Thermal Vision System, as well as a Night Vision Systems, they are pretty easy to make, you can just Modify a ColorCorrectionEffect, and for the Thermal Vision, its as simple as Adding a Highlight
But for this Highlights have the linitation of only being able to have 32 (maybe less?) of them rendered at once.
Plus with their code, many people do different things to create it, and loop through it, which I’ll list here:
BindToRenderStepped / UnbindToRenderStepped
RunService.Heartbeat
for, while, repeat
How should I be trying to create Thermal Vision? What would be the best way to do it?
I mean, what you could do is cycle trough all the Players.Character and set their bodyparts material to neon green and bring it back to normal when its disabled.
Yeah, but that wont affect the entire Character because of the Players SpecialMesh on their Head, and it would be occluded instead of seen from anywhere.
You can then control the thermal image, transparency and AlwaysOnTop etc… Since it’s a UI object.
Combine Highlights & UIHighlight | Roblox Creator Documentation
You can also use a combination, by using highlights for nearby players, and using a billboardgui for distant players.
(but this might be more complicated)
Use ViewportViewportFrame | Roblox Creator Documentation
You can make a fake thermal rig and constantly update the position of the thermal rig within the Viewport frame, with viewport you can have the advantage of controlling the overlay since its a UI.
Yes, I know this, but its not the question I’m asking, the Questiom I’m asking is how should I properly handle a Thermal Vision.
And ViewportFrames dont exactly seem like a Good idea to constantly update everytime something happens, and with BillboardGui, I want to outline the whole player to give the full Shape of the Player when using it, Im not sure how would I do that with a Ui tho.
Assuming it doesn’t mess with your current code, maybe you could group all character models into a folder (on the client) and add the highlight into the folder.
It should then highlight all characters inside of the folder.
I mean that could work, but Im not entirely sure tho about how it would look on the Client, and since Archivable is automatically set to false on Characters.
Visually nothing should change as long as the server is the only thing moving the characters around and the Archivable property shouldn’t change much as long as you don’t plan to clone anything.
I did this, and yeah, it works, but Its kind of a bit upsetting because I wanted to make it so when you Die, the Highlight would slowly turn Purple, like you are losing temperature, from the Bright Yellow, Turning to a Red, then a Bright Purple.
Possibly for this affect (as long as not too many people die at once) you could remove the character from the folder, clone the main highlight and then do the color change?
His suggestion should work. If you are concerned that too many people might die at once somehow, you could try detecting if a character has died within a set time frame, and simply adding the other characters who died recently to the folder the effect is being applied to.