Por que a sua captura chega deitada
Há apenas um punhado de convenções de eixos em uso, e cada ferramenta de captura ou de render escolheu uma diferente. COLMAP e OpenCV são RDF: x à direita, y para baixo, z para a frente. glTF, three.js e SPZ são RUB: x à direita, y para cima, z para trás. Unity é RUF e canhoto. Blender é RFU, com Z para cima. Unreal é FRU, Z para cima e canhoto.
Mova um arquivo entre dois deles sem converter e ele chega deitado, de cabeça para baixo ou espelhado.
O que quase todo conversor erra
Um splat não é um ponto. Converter uma captura corretamente significa girar três coisas:
- as posições — isso todo mundo faz
- o quatérnio de rotação de cada splat — quase todo mundo faz
- os harmônicos esféricos — quase ninguém faz
Pule o terceiro e a geometria parece certa enquanto o sombreado dependente do ponto de vista continua preso aos eixos antigos: um reflexo que antes deslizava pela superfície quando você passava agora desliza ao contrário. Esta ferramenta gira as bandas de harmônicos esféricos junto com a geometria, usando matrizes resolvidas a partir da mesma base com que a cor é avaliada.
Espelhos
Três das conversões possíveis invertem a quiralidade — a matriz tem determinante −1. Um espelho não é uma rotação e não pode ser escrito como o quatérnio de um splat. Posições e escalas saem exatas; a orientação de cada splat guarda apenas a parte rotacional. Quando isso acontece, a ferramenta avisa com destaque em vez de entregar uma cena que renderiza do avesso.
Também há aqui
- Escala uniforme — posições e tamanhos de splat juntos, para a captura manter a forma. De metros para centímetros, ou para uma captura treinada numa escala arbitrária.
- Centralizar na origem — a maioria dos motores importa um asset na origem gravada, e a origem de uma captura fica onde a reconstrução a deixou.
O antes e o depois aparecem lado a lado, então uma escolha errada salta aos olhos. Tudo roda no seu navegador.
Tiny Online Tools







