Make the camera more realistic in the first-person view.
Supported versions: 1.20-1.21 Fabric & NeoForge.
Download the mod from Releases, Modrinth or CurseForge
Snapshots are here
- Bind the camera to a specific part of the body.
- Customize the position and rotation of the camera.
- Render player model in first-person perspective.
- Use F6 to toggle the feature on or off and other hotkeys to adjust the camera.
- Configure these features in the config screen (Cloth Config required).
- Theoretically, most mod models are supported, but need to be configured manually:
- First, set the key binding for
Open Model View Screen
. - Open the model view screen and left click with left Alt held to select the corresponding face of the model, scroll with left Alt held to switch between the different layers of the model.
- By clicking the
Selecting
button on the left, switch between the three to select theForward Vector
,Upward Vector
, andTarget Plane
. - Enter the
Preview
section, where you can see the relative relationship between the camera and the model and make certain adjustments (you can also adjust through key bindings). - Enter a name and save (if needed, other settings such as priority can be changed).
- Fabric:
- Both:
- (Optional but recommended) Cloth Config API
- A part of the model (e.g. hair) is always in the way, how to make it invisible?
-
Incompatible:
- OptiFine
- Armourer's Workshop
- Armors based on GeckoLib
-
Compatible:
- most camera mods
- most player model mods
-
Model Mod Compatibility Requirements with
Real Camera
(Based on Official Mappings): -
Render Timing Compatibility
Real Camera
rendersMinecraft.getCameraEntity
through the public methodEntityRenderDispatcher.render
- The invocation timing has been moved to occur before the
Camera.setup
phase within theGameRenderer.renderLevel
workflow - Therefore, mod implementations should ensure that the overall rendering behavior remains unaffected by this timing adjustment
-
Vertex Data Acquisition
Real Camera
obtains vertex data by overriding theMultiBufferSource multiBufferSource
parameter in theEntityRenderDispatcher.render
method- Therefore, mod implementations need to:
- Use only the provided
multiBufferSource
parameter when renderingMinecraft.getCameraEntity
- Avoid alternative approaches for obtaining or creating
MultiBufferSource
instances - Ensure all vertex data ultimately passes through
VertexConsumer
objects acquired viaMultiBufferSource.getBuffer
- Use only the provided