Conversión de estilos RailClone 2 para RailClone 3
Para la mayoría de los usuarios, los objetos creados en RailClone 2 deberían funcionar en RailClone 3 sin ningún problema, pero hay algunos cambios que pueden requerir que actualice sus estilos.
Cambios automáticos
Varios cambios necesarios para que los estilos funcionen en RailClone 3 se realizan automáticamente. Estos se enumeran a continuación para las raras ocasiones en que esto no sucede.
Cambios en la sintaxis de las expresiones
Retorno
Las expresiones ahora requieren que agregues un Devolver propiedad antes de la expresión y una punto y coma ;
al final de la línea.
-
En RailClone 2
Input1/Input2\*100
-
En RailClone 3
Return input1/Input2\*100;
Si declaraciones
Al probar la igualdad en la declaración If en RailClone 3, ahora es necesario usar un doble es igual ==
.
-
En RailClone 2
if(Input1=1,5,9)
-
En RailClone 3
return if(Input1 == 1,5,9);
Valores flotantes y enteros
En RailClone 3, la forma en que se escriben los números es importante. Por ejemplo 1/2
en RailClone 2 volverá 0.5
. Los números se reformulan como valores flotantes. En RailClone 3 tienes más control sobre los tipos de números que deseas usar en las expresiones. Los números sin decimales se consideran enteros y con decimales son valores flotantes. Como consecuencia Return 1/2;
en RailClone 3 volverá 0
.
-
En RailClone 2
1/2
Returns 0.5
-
En RailClone 3
return 1.0/2.0;
Returns 0.5
return 1/2;
Returns 0
Tanto Maxscript como Python evalúan números de esta manera y las expresiones de Max son la excepción. Por esta razón, elegimos este enfoque.
Cambios manuales
Hay algunos cambios entre RailClone 2 y RailClone 3 que pueden requerir que edites manualmente tus estilos. Estos se enumeran a continuación.
Orden de evaluación de tamaño fijo y rotación del operador de transformación
RailClone 3 corrige algunos comportamientos ilógicos presentes en el Transformar operador para versiones anteriores. En RailClone 3, Transformar->Tamaño fijo se calcula antes de aplicar otras transformaciones (como Rotar o Escalar). Esto significa que ahora puede rotar un segmento, por ejemplo 45 grados, y luego cambiar su tamaño usando Tamaño fijo sin problemas. En RailClone 2 esto causaría que el segmento se sesgue, lo cual rara vez es deseable.
RailClone 2 | El escalado se produce después de la rotación, lo que provoca un sesgo no deseado
RailClone 3 | El escalado se realiza antes de la rotación. Sin sesgo.
Desafortunadamente, algunos estilos se han diseñado para sortear esta limitación anterior y ahora no funcionan correctamente en RailClone 3. La solución suele ser relativamente fácil, simplemente intercambie los valores de tamaño fijo X e Y para la parte rotada para que los tamaños de cada eje se establecen antes el segmento se gira. Somos conscientes de que esto puede ser un inconveniente y estamos buscando la mejor manera de admitir estilos más antiguos sin causar confusión a los usuarios que podrían experimentar dos formas diferentes de calcular el tamaño fijo.
Desplazamiento Z e Y del generador A2S para matrices rotadas
En versiones anteriores de RailClone, si se rotaba una matriz A2S usando el valor de Rotación X, tanto el desplazamiento Y como el Z darían los mismos resultados. En RailClone 3, estos parámetros ahora están fijos y se comportan como se esperaba, pero esto puede afectar los estilos que anteriormente habían solucionado estas limitaciones. Si sus estilos ya no se comportan como se esperaba, puede que sea necesario intercambiar los valores de Desplazamiento X y Desplazamiento Y. Dependiendo del estilo, también puede ser necesario introducir un valor negativo en lugar de uno positivo o viceversa.
Configuraciones originales y configuraciones fijas para RailClone 3
Diferencias visuales
cambios UVW
Las funciones de mapeo automático de cajas de RailClone 3 se han reescrito por completo. Como consecuencia, es posible que veas algunas diferencias en los estilos creados con versiones anteriores
Propiedades aleatorias
Debido a cambios en el núcleo de RailClone 3, los valores aleatorios pueden ser diferentes al abrir un objeto RailClone 2 en RailClone 3.