Round shadow under character

I know about switching to GLSL to make ordinary shadows. They’re a little too ‘on the realistic side’ for the game I had in mind though. I’m looking to make something along the lines of this:

I’m guessing I’d use the same method to create this kind of shadow, but IN CASE there’s an alternate way, I’d like to know. Perhaps like having a black plane under the character or something, if such a way exists.

Thank you! :smiley:

In GLSL mode you can make a black spot-light, and maybe make it only react with a ground material, or ground light group (that way the character isn’t shadowed on the legs). There’s probably a better way tho.

Hmm, not bad…
Just tried it out, works quite well. All I did was make a cube and attach the camera to it, though.

Sucks GLSL makes my laptop extremely slow, I’ll probably only integrate it later on. (near the end of development)
Until then, I’m open to other potential methods!

i think there is a way you could have an invisible sphere or disc or something parented to your player and make it cast only…and have your character cast no shadow

If you have a flat ground you can use a shadow mesh. You can set the Face Orientation mode of the Material Panel to “Shadow”.

Make sure the faces are a little bit above the origin, otherwise you might get Z-Buffer fighting.

Pretty sure Blender has “blob” shadows ability built in! I have an example somewhere on my pc… When I get a chance later today I will have to see how it is set up… Pretty much a circular shadow disc parented to your character and you have to enable some button somewhere. Basically a ray gets cast from below the player and your shadow disc gets moved to where the ground is…At least I think that was how it worked!

EDIT…think Monster just beat me to it…:slight_smile: Think that was how you set it up…will still have a look later anyways!

So Moster was right. Just parent your Alpha shadow plane to your character and sellect the "Shadow "Face Orientation mode in the Materials Panel, under the Game Settings sction. That should do it!

I’ll try it out tonight!
Pretty easy setup, what could possibly go wrong?

… the alignment of your mesh ;).

Don’t forget that Blender got light textures added some time ago, so you can also do it like I imagine Unity and other engines do it. You would create a spotlight, and give it a texture of a black gradient circle. You’d place the main character on another layer, and then set the “shadow” lamp to only illuminate the same layer. Then, you would parent the light to the main character, and it should work alright.

EDIT: Oops, forgot that you’re trying to avoid using GLSL (which this method requires). Never mind, then.

I use a simple plane with a gradient alpha.

It works for me because I have a flat floor, but if you’ve got bumpy floors or will have your character moving around on furniture or running on top of cars or whatever, then you’ll need monsters idea of the shadow type object.

In my case I have a simple script to make the shadows point towards the nearest light source, making them look more 3d.


One nice thing about this is you can use animated textures too. My shadows flutter and move like they are being affected by torchlight.

Sorry for not replying, I hadn’t forgotten about the thread.
I ended up making a disk, parenting it and a spotlight to the player and it works great…

The ONLY problem now is making the disk invisible means it no longer has a shadow.
I tried making it transparent, and checking off “Receive Transparent” but it didn’t work.

EDIT: Made it transparency Alpha 0.001, practically invisible AND still casts a shadow.
Thank you everyone for the help!

That’s fine, but you shouldn’t rely on that. Different cards will round that transparency value to different amounts (i.e. 0.01 might be rounded to 0 on one card, or not be rounded at all on another.)

If you want to make something invisible cast a shadow, grab a new build of Blender and set the “Cast Only” option to true. However, note that FFMpeg image loading is kinda broken with the newer builds, as far as I know.

What version would that be?
The ‘cast only’ option is in the one I’m using (.64)

What else should be toggled for it to work?

I think that’s it; it has to be a really recent version for it to work, as you can see. Post 2.7a, perhaps. Try a buildbot build.

I’m extremely hesitant to update, therefore I’ll stick with the 0.001 transparency Alpha.
Though maybe I should consider updating…

Edit: So, leaving it at 0.001 could result in some objects not receiving shadows?