How am I able to place a aura ring around an npc ? ( if possible at all )

Hello community.

I would like to add upgrade options to the NPCs so I would like a visual cue of that. Am thinking of having an aura ring at their bottom. Like those arena games where the heroes or mobs get buffs.

Hoping to get some guidance. My coding strength is still beginner. Thanks!

I can’t quite understand what you’re asking about. Can you provide images in your post related to what it would look like?

There are three possible options I can think of depending on how you want the aura ring to look

  1. Use a part as the aura ring, and weldConstraint it to the humanoidRootPart

  2. Use the humanoid add accessory if you have a mesh of the aura ring

  3. Use beams and attachments like this post below:

Like this!

1 Like

a good way to do that effect is like @dthecoolest suggested, using parts. Try using an invisible cylinder welded to the feet, and put a decal on the top surface. Also use curved beams for a cooler effect.

Thank you. Say if I managed to make a part that looks acceptable enough lol.

How do I weld it to the very bottom dynamically? I am not at that level yet. I only weld in studio now. Sorry :frowning:

Could you kindly guide me on how can I do this dynamically. So that I can create different types of different levels. I am also hearing beams for the first time. Just read it at the ref. It is supposed to connect two parts? A little confused.

Thank u so much.

Try using WeldConstraints, you put the weld in the cylinder and select the two parts it connects. You could use a white decal and change it’s color based on level to indicate higher/lower levels. Sorry I’m not very good at describing things :sweat_smile:

1 Like

Study it lol, all the example code is in the dev reference API:

https://developer.roblox.com/en-us/api-reference/class/WeldConstraint

-- Create two parts and position them at the same height
local partA = Instance.new("Part")
local partB = Instance.new("Part")
partA.Position = Vector3.new(0, 10, 0)
partB.Position = Vector3.new(0, 10, 10)
partA.Parent = workspace
partB.Parent = workspace
 
-- Weld the two parts together
local weld = Instance.new("WeldConstraint")
weld.Parent = workspace
weld.Part0 = partA
weld.Part1 = partB
 
-- Update the position of the first part; the first part will move but the second will stay where it started
partA.Position = Vector3.new(0, 20, 0)

For Beams, yeah just look into the reference API

https://developer.roblox.com/en-us/api-reference/class/Beam

Edit: an example decal can be the default SFOTH fire ring which you can put on a part’s top surface which will be welded

https://www.roblox.com/library/3127309/Fire-Ring

Ok! I will go study it. Thank you for the guidance :slight_smile: