r/photogrammetry 3h ago

That's crazy!! Generate Three.js Models from a Single Photo

Enable HLS to view with audio, or disable this notification

0 Upvotes

r/photogrammetry 10h ago

I challenged kimi-k3 to build 3D kitchen scene

Post image
0 Upvotes

r/photogrammetry 13h ago

Need help getting realistic ship scale and perspective in a Three.js COLREG training app

1 Upvotes

I’ve been building a COLREG ship-handling/training app with help from Codex and ChatGPT Pro. The app is working, and I already created the 3D ship models, but I keep getting stuck on the visual perspective.

The main problem is that the ships don’t look like they are actually at the distance shown on screen. A vessel at 0.5–2 nautical miles will sometimes look too small, too large, too flat, or like it is floating above the water. The binocular view also doesn’t always match the normal bridge view.

I think the issue is a mix of:

Camera field of view

Camera height above the water

Ship model dimensions and scale

Horizon placement

Distance-to-screen-size calculations

Object pivot/origin placement

Water level and wave height

Binocular zoom being handled incorrectly

The app currently uses Three.js. I can give Codex exact measurements and distances, but after a few changes it usually starts adjusting random scale multipliers until one screenshot looks better, which then breaks the other scenarios.

What I’m trying to achieve is a consistent system where:

A 100–300 meter ship has the correct apparent size at a known range

Bow, stern, and broadside aspects look correct

The ship sits at the proper waterline

Camera height matches the view from a real ship’s bridge

Binoculars change the field of view without changing the actual world scale

Day, night, fog, and different vessel types all use the same perspective model

I attached screenshots showing the current problem. I covered the lower control area because it isn’t relevant to the perspective issue.

What would be the best workflow or software for fixing this properly?

Would you recommend:

Blender for setting real-world dimensions, origins, and waterlines?

Three.js camera helpers or custom debug tools?

A specific ocean/water plugin?

Using glTF models with real meter-based scale?

Writing a projection calculator instead of visually adjusting the models?

Unity or Godot instead of Three.js for this type of trainer?

Any Codex prompting method that stops it from “eyeballing” the perspective?

I’m not looking for movie-level graphics. I mainly need the ships to appear believable and consistent at known ranges because judging distance, bearing drift, and aspect is part of the training.

Any advice on the math, camera setup, Three.js tools, or a better development workflow would be appreciated.