Real Camera

Real Camera

365k Downloads

Real Camera

Make the camera more realistic in the first-person view.
Supported versions: 1.18.2-1.20.4 Forge, 1.18.2-1.21.8 Fabric, 1.21-1.21.8 NeoForge.
Download the mod from Releases, Modrinth or CurseForge
Snapshots are here

Features

  • 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) and the Model View Screen (0.6+).

Configuration (0.6+)

  • Theoretically, most mod models are supported, but need to be configured manually:
  • First, set the key binding for Open Model View Screen.
    • gui_configs
  • 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 the Forward Vector, Upward Vector, and Target Plane.
  • From the top right button, 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).
    • gui_preview
  • Enter a name and save.

Tips

  • Configs can have their priority adjusted - higher priority configs appear higher in the right-side list
  • Disable depth in Preview section to hide models blocking the view
  • About Disable section (current version still rough, complex operations):
    • When texture ID field is empty, use Left Alt+Left Click to select texture
    • Model parts contained by blue boxes won't be rendered
    • Left-click drag to select in texture view, other keys cancel selection
    • Left Alt+Left Click quickly selects hovered parts
    • In All mode, entire texture's model won't render (blue box containing the texture in left panel indicates this)
    • gui_disable

Dependencies

FAQ

  • A part of the model (e.g. hair) is always in the way, how to make it invisible?
    • Increasing this value may help, or use Disable section
      disable_depth
  • What key to press can open Model View Screen?
    • Set the key binding by yourself
  • Why can't i open the Config Screen?
  • Why does it show binding failed when use YSM models?
    • Snapshot 0.6.15 "try" to fix problems, but it didn't fix completely
    • If Minecraft version is 1.20.1, then bind upward vector to head left (or right) side, and set roll angle to 90 (or -90) in preview section
  • Why does the head of YSM model disappear when in the Model View Screen?
    • You downloaded Better Combat, just put it away

Compatibility

  • Incompatible:

    • OptiFine
    • Armourer's Workshop (Mod version 0.6+)
    • Armors based on GeckoLib
    • Customizable Player Models
    • Epic Fight (Mod version 0.6-)
    • Timeless and Classics Zero,version 1.1.4+
  • Compatible:

    • most camera mods
    • most player model mods
    • Armourer's Workshop (Mod version 0.6-)
    • Epic Fight (Mod version 0.6+)
    • First-person Model
    • Not Enough Animations
    • ParCool!
    • Pehkui
    • Player Animation Lib
    • Timeless and Classics Zero,version 1.0.3-
    • Yes Steve Model (Not stably compatible)
  • Model Mod Compatibility Requirements with Real Camera (Based on Official Mappings):

  • Render Timing Compatibility

    • Real Camera renders Minecraft.getCameraEntity through the public method EntityRenderDispatcher.render
    • The invocation timing has been moved to occur before the Camera.setup phase within the GameRenderer.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 the MultiBufferSource multiBufferSource parameter in the EntityRenderDispatcher.render method
    • Therefore, mod implementations need to:
      • Use only the provided multiBufferSource parameter when rendering Minecraft.getCameraEntity
      • Avoid alternative approaches for obtaining or creating MultiBufferSource instances
      • Ensure all vertex data ultimately passes through VertexConsumer objects acquired via MultiBufferSource.getBuffer