GMT Importer con soporte de nuevos shaders

Si quieres publicar algún manual o tutorial este es tu sitio.

Moderador: XRStaff

Responder
Avatar de Usuario
nomedigano
Poleman
Poleman
Mensajes: 1692
Registrado: 24 Dic 2006 01:00
Volante: Logitech DFP
Contactar:

GMT Importer con soporte de nuevos shaders

Mensaje por nomedigano »

He estado modificando el famoso script de importación de GMTs a 3dMax, para que permita cargar los nuevos shaders desarrollados por Some1. Además, he incluido un pequeño método chapucero para solucionar problemas si los materiales se asignan mal, como sucede a veces en algunas instalaciones.

Pincha para ir a la descarga GMT Importer 0.95
Como siempre, se debe copiar en la carpeta \Scripts\Startup del MAX.

Importante: es necesario copiar los nuevos shaders (que estarán en \Gamedata\Shared\), en la carpeta HardwareShaders del MAX.

Solución de problemas de asignación de materiales
A veces sucede que al importar, los materiales se asignan incorrectamente. El motivo es que el listado de materiales que obtiene el script no tiene el mismo orden que el que hace el MAX al cargar. En teoría los dos tendrían que hacerlo igual, cargando los shaders de forma alfabética pero no siempre es así, y esto provoca descuadres.
Por eso, en el nuevo script se muestra el orden de carga de los shaders y el archivo GFX que los contiene, para que podamos comparar y determinar si coinciden.

Supongamos que importamos un GMT, y nos encontramos con que los materiales no cuadran. Veamos qué hacer para solucionarlo:

Lo primero es abrir el Listener (F11 o la pestaña MAXScript->MAXScript Listener...). Volvemos a ejecutar el script, y nos encontraremos un listado parecido a este:

Código: Seleccionar todo

Welcome to MAXScript.

-------------Init script ---------------
Shader list 
Added shader "Bump Map T1" from bumpmap.gfx
Added shader "Bump Map T1 add T2" from bumpmap.gfx
Added shader "Bump Map T1 mul T2" from bumpmap.gfx
Added shader "Bump Map T1 lerp T2 Vertex Alpha" from bumpmap.gfx
.
.
.
Added shader "Two Tone Paint T1" from CARPAINT.GFX
Added shader "Bump Specular Map T1 (Custom)" from CBUMPSPEC.GFX
Added shader "Bump Map Specular T1 (Custom)" from CBUMPSPEC.GFX
Added shader "Specular Map T1 (Custom)" from CBUMPSPEC.GFX
Added shader "Cube Map T1" from cubemap.gfx
.
.
.
Added shader "Cube Map Specular Map Alpha Swap SpecMap T0" from cubemap.gfx
Added shader "T1" from diffuse.gfx
.
.
.
Added shader "Fresnel Cube Map Add Spec Map Add Alpha Reflect Tex1" from FRESNEL.GFX
Added shader "Fresnel Cube Map Specular Add T1" from FRESNEL.GFX
Added shader "Light Flare" from LIGHTFLARE.GFX
Added shader "Light Flare - Headlights" from LIGHTFLARE.GFX
Added shader "Specular T1" from specular.gfx
Added shader "Specular T1 add T2" from specular.gfx
.
.
.
Added shader "Specular Map T1 mul T2 mul T3" from specular.gfx
Added shader "Specular Map T1 mul T2 add T3 add T4" from specular.gfx
Added shader "Bump Specular Map T0 Lerp T1 Vertex Alpha Custom" from user.gfx
Added shader "T0 Mul (T1 Lerp T2) T3 Alpha Custom" from user.gfx
Ahi podemos ver que el primer shader que ha cargado el script es "Bump Map T1", y que lo ha hecho al leer bumpmap.gfx

A continuación miraremos en el Material Editor, el desplegable de shaders:
Imagen
y verificaremos donde está cambiado el orden (en esta captura en concreto coinciden claro... que es mi instalación y funciona bien :lengua: ). Comparando los dos listados, podemos determinar el orden de carga de los archivos GFX que contienen los shaders. Una vez sepamos el orden en que los carga el MAX, basta con editar el script e ir a la línea 48:

Código: Seleccionar todo

shaderFiles=#("bumpmap.gfx","CARPAINT.GFX","CBUMPSPEC.GFX","cubemap.gfx","diffuse.gfx","FRESNEL.GFX","LIGHTFLARE.GFX","specular.gfx","user.gfx")

y modificarla reordenando los archivos GFX para que el script los cargue en el mismo orden que el MAX.

Evidentemente, ésto último también es válido para añadir nuevos shaders en caso de que aparezcan :wink:
tranqui67

Re: GMT Importer con soporte de nuevos shaders

Mensaje por tranqui67 »

Hola Nomedigano! He visto que entiendes de scripts y tengo una consulta que quizas me ayudes. Quiero utilizar este gmt importer para traerme una escena de rfactor pero necesito que los materiales queden seteados como standard, osea que no necesito gmotor materiales, con dejar seteado el T1 de DX7 en el difusse de un material es suficiente. Me explico?

Desde ya si me das una mano, agradecido!
Avatar de Usuario
nomedigano
Poleman
Poleman
Mensajes: 1692
Registrado: 24 Dic 2006 01:00
Volante: Logitech DFP
Contactar:

Re: GMT Importer con soporte de nuevos shaders

Mensaje por nomedigano »

Bueno, tanto como entender... De scripts de MAX no tengo casi ni idea, pero este en concreto no deja de ser una lectura de un fichero. Y en cuanto a lo que pides, no debería ser demasiado difícil: basta con modificar la parte que lee los materiales y los asigna al editor para que en lugar de que sean gMotor, sean los Blinn "detodalavida" con la textura del T1 del DX7. Si tengo tiempo le echo un ojo a ver si es fácil de implementar la modificación.

Por cierto, para escenas ¿los materiales van como en el rFactor? Es decir, se mantiene el Multimaterial o son materiales separados?
tranqui67

Re: GMT Importer con soporte de nuevos shaders

Mensaje por tranqui67 »

Para las escenas tambien usan multimaterial.

Yo intenté cambiar el script pero no logro nada interesante (tampoco entiendo mucho que digamos de max), cambie en donde generaba el multimaterial de gmotor por standar y anduvo bien, pero no logré asignar la textura T1 al diffuse...

Copio debajo en verde lo que modifique:

--create new gMat if it wasn't found
if (newMatID==0) then
(
if ((classof meditMaterials[1].materialList[numSubs])==standardMaterial)
then (newMatID=numSubs+1)
else (newMatID=numSubs)
mat=meditMaterials[1].materialList[newMatID]=standardMaterial()
mat.name=matName


Y luego quise "inventar" un poco pero con el resultado conocido, poniendo esto:

textureName=ReadString file --exactly that
shortName=getFileNameFile textureName

mat.diffuseMap = Bitmaptexture filename: shortname (y aca la chingo!)



Espero que tengas mas suerte que yo! :aplausoup:
tranqui67

Re: GMT Importer con soporte de nuevos shaders

Mensaje por tranqui67 »

Sigo sin lograr nada... Alguna novedad por tu lado Nomedigano? :scratchchin:
Avatar de Usuario
Vojvoda
Organización
Organización
Mensajes: 4367
Registrado: 12 Oct 2009 18:34
Volante: Fanatec CSW V2 + CSP V2
Contactar:

Re: GMT Importer con soporte de nuevos shaders

Mensaje por Vojvoda »

Lo siento por rescatar este hilo...
Estoy empezando a darle un poco al 3DS Max y tengo el problema que comentas en el primer post, estoy usando el plugin que has posteado y he probado con el conjunto de shaders por defecto de rfactor y con el paquete de SimRacing PL y siempre me carga mal los shaders, entiendo que es por lo que comentas, que seguro que los shaders que tengo no aparecen en el plugin o viceversa, ¿sería mucho pedir que colgaras los shaders que usas con ese plugin?
Saludos!!!
Avatar de Usuario
nomedigano
Poleman
Poleman
Mensajes: 1692
Registrado: 24 Dic 2006 01:00
Volante: Logitech DFP
Contactar:

Re: GMT Importer con soporte de nuevos shaders

Mensaje por nomedigano »

Yo los shaders que utilizo son los del ejemplo: los de ISI y el de Flares de Some1, nada más. De todos modos siguiendo mi método te debería funcionar con cualquier cantidad de shaders que añadas. Lo único que debes tener en cuenta es que para que el MAX te cargue un paquete de shaders, debes incluir el nombre del archivo GFX correspondiente. Como ejemplo, para los shaders de Some1 tuve que añadir en la línea 48 2 GFX: FRESNEL.GFX y FLARE.GFX. Y naturalmente incluir los shaders nuevos junto a los otros en el MAX :wink:
Avatar de Usuario
Kenzo
Poleman
Poleman
Mensajes: 1620
Registrado: 27 Sep 2009 19:19
Volante: Logitech G27
Ubicación: Alcalá de Henares

Re: GMT Importer con soporte de nuevos shaders

Mensaje por Kenzo »

Bueno, yo tengo un par de dudas y preguntas.

Para añadir nuevos shaders ¿basta con ponerlos en la carpeta y ponerlos por orden en la linea 48 y en el MAXScript Listener salen solos?
¿O en MAXScript Listener ayque añadirlos también?
También consultar si sabéis de mas shaders etc, yo actualmente lo que haga es fijarme en nuevos mods y tracks, se veo que los lleva nuevos los extraigo, pero me falta saber añadirlos bien.

Aparte, trato de resolver problemas a la hora de guardar los gmt con el importer ya que aun no he podido hacerlo sanamente.
- El segundo, es el primero de los perdedores (by Ayrton Senna)
ImagenImagenImagen
Avatar de Usuario
willynovi
Piloto Histórico
Piloto Histórico
Mensajes: 1177
Registrado: 17 Mar 2009 01:00
Volante: 100% DIY, prox. con FFB
Ubicación: Argentina
Contactar:

Re: GMT Importer con soporte de nuevos shaders

Mensaje por willynovi »

Kenzo escribió:También consultar si sabéis de mas shaders etc, yo actualmente lo que haga es fijarme en nuevos mods y tracks, se veo que los lleva nuevos los extraigo, pero me falta saber añadirlos bien.
no manejo mucho el tema de los shader en el 3ds, tendria que ponerme porque creo necesitarlos
pero te cuento de algunos mods de los que se que llevan shaders, quizas algunos ya los tienes registrados

SimRacingPL, ya se hablo de esos en este hilo
Un mod de los V8 australianos, aunque no recuerdo bien ahora cual es, despues en casa te digo
Un mod de FIA GT3 que es una conversión y rejunte de 9 o 10 autos hecha por Sandrox
Y creo tambien un mod de los Toyota AE86
Avatar de Usuario
Vojvoda
Organización
Organización
Mensajes: 4367
Registrado: 12 Oct 2009 18:34
Volante: Fanatec CSW V2 + CSP V2
Contactar:

Re: GMT Importer con soporte de nuevos shaders

Mensaje por Vojvoda »

Todos esos mods usan el empaquetado de SimRacingPL.
Avatar de Usuario
Kenzo
Poleman
Poleman
Mensajes: 1620
Registrado: 27 Sep 2009 19:19
Volante: Logitech G27
Ubicación: Alcalá de Henares

Re: GMT Importer con soporte de nuevos shaders

Mensaje por Kenzo »

Pues tendré que buscar el empaquetado dicho y añadirlos a la lista, claro esta también hay que saberlos usar , eso se investiga :)
- El segundo, es el primero de los perdedores (by Ayrton Senna)
ImagenImagenImagen
Avatar de Usuario
willynovi
Piloto Histórico
Piloto Histórico
Mensajes: 1177
Registrado: 17 Mar 2009 01:00
Volante: 100% DIY, prox. con FFB
Ubicación: Argentina
Contactar:

Re: GMT Importer con soporte de nuevos shaders

Mensaje por willynovi »

Avatar de Usuario
Kenzo
Poleman
Poleman
Mensajes: 1620
Registrado: 27 Sep 2009 19:19
Volante: Logitech G27
Ubicación: Alcalá de Henares

Re: GMT Importer con soporte de nuevos shaders

Mensaje por Kenzo »

Gracias willy, que diferencia hay entre users y modders? si se puede preguntar hehe, aun que de rfactorcentral me bajado este SRPLShaderPackSetup_v0.92 posiblemente este más actualizado... no?
este es el link
http://www.rfactorcentral.com/detail.cf ... der%20Pack
- El segundo, es el primero de los perdedores (by Ayrton Senna)
ImagenImagenImagen
Responder