Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: [Over] en 12 de Junio de 2006, 01:05:07 PM

Título: Max: Cuantos nodos hay segun un nombre
Publicado por: [Over] en 12 de Junio de 2006, 01:05:07 PM
Hola amigos.

Estoy intentando obtener del max cuantos "lo que sea" hay creados segun un nombre.

Me explico, cuando creas un objeto y se llama "pelota" y clonas este objeto te lo llama "pelota01" y asi sucesivamente, osea, te lleva la cuenta de cuantos "pelota" hay creados.

Me gustaria acceder a esta función del SDK. ¿alguién sabe cual es?

Se que puedo cargar la escena y ver cuantos "pelota" hay creados y tal, pero  para el uso que necesito me gustaria una funcion directa que le diga "cuantos pelota hay" y el max me lo diga, sino se puediera pues ya lo haré yo....
Título: Max: Cuantos nodos hay segun un nombre
Publicado por: zupervaca en 12 de Junio de 2006, 01:20:13 PM
Una cosa, que exista la pelota100 no significa que haya 100 pelotas, el 3dsmax lleva un contador que se autoincrementa, si tienes pelota00, pelota01 y pelota02 y borras la pelota01 y creas una pelota nueva, esta, se llamara pelota03

El nombre de la funcion ni idea.
Título: Max: Cuantos nodos hay segun un nombre
Publicado por: [Over] en 12 de Junio de 2006, 01:21:49 PM
Ya encontre algo parecido

Interface->NewNameMaker("...");

le pasas un nombre y el te un crea uno unico y valido añadiendo el 01,02,etc..
Título: Max: Cuantos nodos hay segun un nombre
Publicado por: ethernet en 12 de Junio de 2006, 02:05:49 PM
Cita de: "[Over"]Ya encontre algo parecido

Interface->NewNameMaker("...");

le pasas un nombre y el te un crea uno unico y valido añadiendo el 01,02,etc..

cutrevil en 3 segundos

char* NewNameMaker(const char* s)
{
static char c[256];
static int i;
sprintf(c,"%s%d",s,i++);
return c;
}


o incluso dependiendo del nombre

char* NewNameMaker(const char* s)
{
static char c[256];
static std::hash_map<const char*,int> m;
if(m.find(s) == m.end())
  m[s] = 0;
sprintf(c,"%s%d",s,m[s]++);
return c;
}