Download

How to achieve a FPS Character which is just 0.5 cm high

Hi Forum,

sorry for this noob question, but I’m building a level in which at some point the player should be able to shrink himself and explore everything as if he would be only 0.5 cm tall. Kind of an ‘Alice-in-wonderland-effect’. I tried this by modifiing the character blueprint in the first person template. I opended the “mycharacter” blueprint and changed “CapsuleComponent” Skale in the Defaults Tab.

This worked until I scaled it down under 0.4. Under this value I kind of cliped into the white boxes in the level. Like the collision somehow dosen’t work properly anymore. When I scaled Capsule Component down to 0.001 and hit the play button I’m falling right through the floor. Perhaps someone has an idea what I’m doing wrong or if there is a better way to achieve this. Of course I could just scale up the whole level and leave the character at default, but this seemed not very practical to me.

Thanks for any advise!

For this type of thing, it would be better to scale everything up instead of scaling the character down. Collision (and the game engine in general) is designed to work around the default scales, making things too big or too small will cause issues.

Zac your saying, if someone is building a level with the landscape at max size which is 5km x 5km but if you want a larger landscape you can’t do it. Andtheand, what I would do is, if your only going to make the character smaller in a certain area, use a volume, and have onbeginoverlap, cast to character, Also it would be wise to make it a custom event and in the character blueprint get the root component and set scale.

Thanks to you both - I will scale the environment up for now. @ZacD: Are you the one from the video-tutorials? If so, thanks a lot for these awesome introductions in UE4. Last time I did some level-design was in the early 90ies with the level-editor from dukenukem 3d. Had quite a bit to catch up :wink:

Just out of curiosity, how do you scale the whole world up? This isn’t going to involve manually going through each actor and adjusting their scales in Blueprints is it?

You could probably group all the assets in the level then scale that uniformly, then ungroup.

In case anyone was wondering, there’s about a half of a UU’s worth of “give” around the capsule base to prevent it from sticking on things like mesh seams. If this wasn’t present then things like float errors in the position of two adjacent meshes would create edges the capsule couldn’t travel across without jumping.

So by scaling down to that size, you’re viewing the world from the perspective of that little gap that’s used for error tolerance, which is why you clip through things sometimes.

That was what I was afraid someone was going to say. If you just increase the size of the assets without moving their position then they’re all going to overlap. You will also need to update the position of every actor in the level.

I wonder if a scale conversion tool in the editor would be handy at some point.

I thought grouping kept size relative with the group rather than the individual asset…

Edit: nvm, I see what you’re saying.