I’m following the official tutorial “Code a First-Person Adventure Game”, specifically the section “Add a First-Person Camera, Mesh, and Animation,” and I ran into an issue.
I have confirmed that my C++ code is copied exactly as in the tutorial, and the character can move and rotate correctly. However, I noticed a strange phenomenon in-game: When I move the mouse downward to look at my own body, the character’s torso becomes transparent — I can only see the legs and arms.
Here is a comparison:
My BP_AdventureCharacter (based on my C++ class): the torso becomes transparent.
The engine’s default BP_FirstPersonCharacter (official template): displays correctly, no transparency.
I want to ask: Why does the default template character render correctly, while my custom character appears partially transparent?
Did I miss a step or setting somewhere?
The following image shows my BP_AdventureCharacter configuration.
This effect (the dissapearing) is called “backface culling”. In essence it makes any surface invisible when viewed from the inside out. It’s an optimization thing.
You can combat that by using 2-sided materials but the issue is not that. Your camera is actually inside the model and there is no way to make it look good even if rendered. (it will look like an empty sack)
To fix this, move the camera position a bit forward in the character so when looking down you are looking from somewhere around the nose instead of down the neck of the character.
Thank you for your guidance, but I still have a question: In the official template BP_FirstPersonCharacter, the camera position is the same as mine, yet it can display normally without the need for a forward offset. Why is this the case? Does everyone encounter the same issue, or is it just me?
have you got “do collision test” enabled on camera? perhaps it is hiding the mesh because of your collision channel and the collision from camera test?