RealityCapture is a great software. It’s perfect for working with photos and scans in real life, but it’s much more complicated for working with 3D renderings, even though the camera positions are known. This could be very useful for radiance fields, such as Gaussian splatting. Could we hope to be able to import camera positions into FBX, for example? Either multiple cameras in the file, or a camera animation? I tested it with flight plans, but it’s not very user-friendly and a bit limited.
Hi @StephaneAgullo
This is not possible, but you can import COLMAP files or BUNDLER with the wanted alignment into RealityCapture.
As you wrote, that it is perfect for working with photos and scans, this is the main purpose of the app - to create a models which can be used in some other application.
I suppose there are only 2D renders available: Rendering Images from Camera Positions | Tutorial
Hi @OndrejTrhan ! Thanks for your reply, indeed, the software is not called Virtuality Capture, but with the advances in radience fields, it would be super practical, because it’s really a shame to have to align known positions in 3D! However, I think I’ll find with the flight logs, I’m writing a 3ds max script, which works on positions, but not yet on rotations! Here is the script, if someone can help me I’m interested, GPT can’t do it! It would be really super practical to process the renderings & the point cloud, to then export that to Postshot & co! While waiting for Reality Capture to offer gaussians splats of course! Thanks again!
An example of aligned rendering in Reality Capture,
And integrated with drones, but that’s simpler,
And here’s the code for my script, just in case:
(
local sframe = animationRange.start.frame as integer
local eframe = animationRange.end.frame as integer
local path = getSaveFileName caption:"Exporter Camera CSV" filename:"camera_export.csv" types:"CSV (*.csv)|*.csv|"
if path == undefined then return false
local file = createFile path
format "image_name,x,y,z,rot_x,rot_y,rot_z,focal_length\n" to:file
for cam in cameras where (isProperty cam #rotation and classof cam != TargetObject) do
(
for t = sframe to eframe do at time t (
local pos = cam.position
-- ✅ Récupération des angles du contrôleur Euler_XYZ, en DEGRÉS
local rot_x = cam.rotation.controller.x_rotation
local rot_y = cam.rotation.controller.y_rotation
local rot_z = -cam.rotation.controller.z_rotation -- RC: inverser le Z
local focal = try(cam.focalLength as float) catch(35.0)
local frameName = "RENDER_" + (formattedPrint t format:"04d") + ".png"
local line = frameName + "," +
pos.x as string + "," +
pos.y as string + "," +
pos.z as string + "," +
rot_x as string + "," +
rot_y as string + "," +
rot_z as string + "," +
focal as string + "\n"
format line to:file
)
)
close file
messageBox ("✅ Export terminé avec angles en degrés affichés dans Max \n" + path)
)
I am sorry, but this won’t work in RealityCapture for now. As it is a photogrammetry software, the captures need to follow the basic photogrammetry principles. 6 images for such object is too few. Also, if those will be aligned properly (you ca try it without the rotation’s usage), as their pose is forced, there couldn’t be any features to create the model.
Also, you need to be careful with the rotations, as there are Yaw/Pitch/Roll used and there are some issue importing those.
Yes, I know, but it’s for testing, if I can get the 6 cameras, it will work for the rest! The rotation processing is different between 3ds & RC, I can’t find the correspondence, but I’ll find it eventually! RC is really great for reality, but if one day you can make it compatible with 3D rendering, it will make a lot of sense with gaussian splatting! I don’t think importing camera positions in 3D is that complicated, with any 3D format, and it would be really super practical! Thanks again!
I suppose just importing the cameras to 3D position is available also now. To do so, you need to use the flightlog, as you wrote and with proper values, or you can use XMPs (RealityCapture Help), but there are used rotation matrices.
Good idea! I’ll try it if I can’t do it, I’m really bad at development, and GPT helps me as much as it can, don’t you have more information on these matrices? It could help us! The only information I found is this document. Thanks again!