We are planning an upcoming change in mid-September to hide particle and similar effects parented to characters when zooming into first-person. This may affect your experiences if you use such effects parented to characters and use the default camera scripts.
We are doing this to address an issue in which particle effects obstruct players’ views when they equip certain avatar bundles and accessories and zoom into first-person.
Before:
After:
The following instances are affected by this change:
ParticleEmitter
Beam
Trail
Fire
Smoke
Sparkles
Explosion
We considered making this change only affect these effects inside Avatar Accessories and BodyParts loaded as part of the player’s avatar, but we ultimately decided against this because we wanted this behavior to be consistently applied, as it is for Decals and BaseParts inside a player’s character. If your experience currently adds these effects to players’ characters and uses the default camera scripts, they will be hidden for that player when zooming into first-person.
If you have effects that you don’t want to be hidden when zooming into first-person, you can change them to be parented to a part that is welded to the character instead of directly parented to the character.
Click here for an example of adding effects which will be hidden in First Person:
local function setAblaze(character)
local fire = Instance.new("Fire")
fire.Size = 10
fire.Color = Color3.new(1, 0, 0)
fire.Parent = character:FindFirstChild("HumanoidRootPart")
Debris:AddItem(fire, 10)
end
Click here for an example of how to put effects outside the character so they aren't hidden in First Person:
local function setAblaze(character)
local hrp= character:FindFirstChild("HumanoidRootPart")
local attachmentPart = Instance.new("Part")
attachmentPart.CanQuery = false
attachmentPart.CanCollide = false
attachmentPart.Massless = true
attachmentPart.Transparency = 1
attachmentPart.CFrame = hrp.CFrame
attachmentPart.Parent = EffectsFolder
local weld = Instance.new("WeldConstraint")
weld.Part0 = attachmentPart
weld.Part1 = hrp
weld.Parent = attachmentPart
local fire = Instance.new("Fire")
fire.Size = 10
fire.Color = Color3.new(1, 0, 0)
fire.Parent = attachmentPart
Debris:AddItem(attachmentPart, 10)
end
Please let us know if you have any questions or feedback on this change.
Thank you!
What about current custom put in Accessories that are used for other things like a replacement for the Tool Instance, since it overrides the Cursor and won’t work with ClickDetector?
Actually some games Weld things as a Model onto the Character. I hope this is only going to affect the Character’s parts and accessories instead of the entire Model?
But these games, they have to actually turn these instances transparent manually. LocalTransparencyModifier for all these parts would be beneficial. I hope it will get made accessable when this change releases.
I implemented this in my RPG due to many effects in my game blinding players who preferred first person, and it was surprisingly harder to implement than you’d think. Glad this is going to be a built-in feature now!
This is a very welcome update, however maybe a type of toggle would be useful to turn this behaviour on and off inside the character even though you can do it the other way.
Does “parented to character” also mean Tools will lose particle effects in first person? EDIT: The replies were flying too fast that I missed the above post, my bad.
Yes yes yesss! This is such a game changer, thank you to anyone and everyone involved in this, might i add, if possible any instance where even if the player ISNT in first person say walking or running but also driving a vehicle, i know thats a function a developer should add but a lot of games sadly dont have it. So if possible maybe the user if seeing through a certain area close to the head it removes the particles. Etc etc