Can you make an invisible part cast a shadow?

I want to cast a shadow for a part that is invisible.

I’ve used the rope constraint as a simple visual for ropes on a bridge. RopeConstraints obviously don’t have collision or cast a shadow though, since they’re not a physical part. I created some simple parts that have a similar enough shape to the rope to creates a fairly believable collision, and then made them invisible. The problem is, parts don’t render shadows if their transparency is over 70%, so even though I have static ropes with mostly believable collision, they don’t cast shadows which looks a little wonky.

This is what it looks like when the parts for collision are invisible:

After I change the collision parts to 70% to enable shadows, the shadows from the parts look mostly reasonable too. But now I’ve got a semi-transparent blocks encasing my ropes.

Is it possible to make 100% transparent parts still cast a shadow? I haven’t found anything that shows it is.

3 Likes

Why don’t you just try using a rope mesh or Archimedes circle plugin or something similar to create the rope instead?

Example:
https://gyazo.com/0ff84ea4e65ef96a318049e3e6b43189

@gamerobotjimmy
I’d instead recommend RopeMaster, its like the updated version of oozle draw, pretty nice presets as well (Of course, it is in development, ignore plz, plugin is below)

2 Likes

There’s a plugin called oozle draw (not sure how to spell the oozle part, something spelled like that.) that creates ropes point a to point b with x amount of parts for detail.
lol, what a coincidence. The first part of the url is https://duckduckgo @3rdhoan123

2 Likes

Lol, accidently pasted wrong link, did search instead of actual link, ignore shh XD
https://www.roblox.com/library/3585926833/RopeMaster-In-Development
Actual Link ^

2 Likes

Mostly just laziness. A rope constraint was a super simple and fast way to create a long, thin cylindrical rope-like object with a slight curve, and I didn’t care about having super accurate collisions or being able to interact with it like it was an actual rope. I’m assuming by “rope mesh” you mean creating a mesh in an external program like blender and importing into roblox as a meshpart?

Yes but it is relativley easy to create a rope with archimedes circle plugin :man_shrugging:.

1 Like

I actually ended up deciding I didn’t like the rope design on my bridge much anyway and went for something different lol

1 Like

This is a little late, but just so people know, I found a solution.
You can set the part material to force field and set the part transparency to -100000000000. This should work.

1 Like

This doesn’t work. The part is visible when I set the transparency to a very low number.

Keep spamming negitive numbers. I figured out it needs to be WAY lower then the number I said.
Like this
-3583405804958034986093480698346803498603486093486903486

Edit: If it still doesn’t work then I will give you an example file

7 Likes

It seems that it does not work with characters. But it still works with normal parts.

1 Like

I tested this out and it doesn’t work for characters for some reason. I don’t know the reason you would need this to work on characters. But you could position a part into the character and make that cast a shadow. Or make multiple parts that look like arms. Not the most accurate way to do this but it still works.

1 Like

Bump

Regardless of a better implementation, is there any way of doing this? Still no solution as far as I can see.

I wonder if we can trick the engine by using alpha textures.

I figured out how to make it work for characters. The accessories just need to be in workspace for the transparency glitch to work. I’ve written a local script that goes in StarterCharacterScripts. Here’s the code to try.

local entirePlayer = game.Workspace:WaitForChild(script.Parent.Name):GetDescendants() -- gets every child of your character --
for i, v in pairs(entirePlayer) do -- cycles through your character for the handle parts used in accessories --
	if v.Name == "Handle" then 
		v.Material = "ForceField"
		v.Transparency = (-10^100) -- the crazy big negative number to make it cast a shadow but still be invisible --
		v.Parent = workspace -- it parents to workspace because the glitch doesn't work within the player object --
	end
end
script:Destroy() -- cya later --

Now we have first person head shadows.

3 Likes

Thank you so much for this!!! ive been waiting because i wanted to make my character head visible when in “realistic first person mode” so yeah.

1 Like

How about a mesh with only 1 face, the other face doesn’t appear. That way, it appears invisible when viewed from one face yet still shows a shadow due to the other face.

2 Likes

What about flipping the normal of another one that’s invisible? This would allow a more “customizable” double sided like effect wouldn’t it?

that works but its easier just to do the force-field trick

damn a negative googol, that is small

1 Like