Hola McKane
Al citar mis postes de teléfonos me has hecho recordar una "cosilla"...
Vaya por delante que a mi nunca me ha ocurrido lo que muestras en la captura, pero si otro efecto "raro" que consiste en que un objeto desaparece de repente ante nuestras narices sin motivo aparente. Después de darle vueltas encontré la solución a mi problema, que, aún no siendo el mismo que el tuyo, quizás sí tenga más relación de la que parece. Paso a explicarlo.
Para empezar he creado un objeto (un cubo) de 5 m de ancho, 5 m de alto y 20 m de largo, y lo he situado desplazado respecto a las coordenadas originales del editor. Luego situo el eje del objeto en el origen de coordenadas del editor para que se sitúe correctamente en el juego (mediante "Part > Center Axis > To Origin":
Obsérvese el objeto (en naranja), su eje (en azul) y el origen de coordenadas (líneas en blanco).
Ahora, tras generar los archivos para MSTS (Create TS Object File...), deberemos descomprimir el archivo .s a texto para seguir lo que comento (o generarlo desde TSM "sin" marcar la casilla "Convert to Binary"), y observar su contenido con un editor de texto (Notepad o equivalente).
He aquí las primeras líneas del contenido del mismo para este objeto:
- Código: Seleccionar todo
SIMISA@@@@@@@@@@JINX0s1t______
shape (
shape_header ( 00000000 00000000 )
volumes ( 1
vol_sphere (
vector ( 0 2.5 10 ) 2.5
)
)
...
Los archivos shape (.s) de MSTS tiene en su principio la línea esa que reza SIMISA... etc (es fija, no tocar) y a continuación empieza la definición del modelo, comando SHAPE. Dentro de esa definición, y antes de entrar en el detalle del mismo, el segundo comando que observamos, VOLUMES, define un parámetro importante para el juego. En efecto, ¿cómo sabe el motor gráfico si tiene que representar un objeto dentro del ángulo de visión de la cámara? En principio podemos pensar que porque el eje del objeto está dentro de dicho ángulo. Pero imaginemos un largo andén de 400 metros y que estemos situados en un extremo. Apenas nos entran dentro de la pantalla (ángulo de visión) unos 20 metros de andén y su centro se halla por tanto a unos 200 metros fuera del mismo. En este caso no se representaría el andén, y sin embargo si debiera hacerse.
MSTS se basa en el "volumen" que describe este parámetros para comprobar si tiene que dibujar el objeto o no (evidentemente lo que no hace es dibujar todos los objetos existentes, estén dentro del ángulo de visión o no, p.e. a nuestras espaldas). Dicho volumen lo define una esfera situada en el eje del objeto y con un radio lo suficientemente grande para que abarque todo el objeto.
En nuestro caso la esfera queda definida en:
- Código: Seleccionar todo
vol_sphere (
vector ( 0 2.5 10 ) 2.5
)
Donde VECTOR (el radio de la esfera) queda definido por una posición relativa del centro de dicha esfera
0 2.5 10 (las coordenadas de los tres ejes dentro del paréntesis) y un radio
2.5 (el parámetro fuera de los paréntesis). Observareis que el radio en este caso (2.5) es escesivamente pequeño para un objeto que mide 20 metros de largo.
Si el objeto lo hubiéramos centrado en los ejes del editor de esta froma:
el código del archivo shape (.s) hubiera sido este otro:
- Código: Seleccionar todo
SIMISA@@@@@@@@@@JINX0s1t______
shape (
shape_header ( 00000000 00000000 )
volumes ( 1
vol_sphere (
vector ( 0 2.5 0 ) 10.3078
)
)
Donde el radio
10.3078 esta vez sí contiene todo el objeto.
Es decir, TSM espera que el modelo esté centrado en los ejes de coordenadas del editor en el momento de generar el archivo shape para el juego, y si no es así, genera una esfera incorrecta.
Esto explica el porqué me desaparecían del juego los postes de repente, puesto que el eje del objeto está situado en un extremo para facilitar su montaje en el Route Editor.
El arreglo es sencillo. Una vez generado el shape (.s) del objeto lo descomprimo, busco la definición de la esfera de volumen y modifico el radio (último parámetro fuera de los paréntesis) dándole un valor ligeramente superior a la longitud total del objeto (en este caso algo más de 20 metros puesto que el eje está en un extremo y no en el centro). Por último vuelvo a comprimir el archivo shape y ... a jugar
McKane, quizás esto no arregle tu problema, pero está claro que igualmente al final tu modelo adolecería de esta falta. Y quizás el hecho de tener un objeto en pantalla pero fuera de la esfera de visión, añadiendo el tema de las transparencias, pueda provocar otro efectos rarillos como el que se te presenta. Por probar no se pierde nada
De pasado he aprovechado para explicar una cosilla más sobre el TSM y los archivos shape.
Ya nos dirás si te ha servido de algo.
Un saludo