Jump to content

johnwhile

Members
  • Content Count

    216
  • Joined

  • Last visited

  • Days Won

    1

johnwhile last won the day on May 15 2010

johnwhile had the most liked content!

About johnwhile

  • Rank
    Treddista

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. ad esempio con la funzione "openFile mode:"w" ecc... ovvio no.
  2. La domanda è semplice: Con 3dstudio max i file che creo tramite script non si sbloccano dal programma, se provo a eliminarli o modificarli mi dice che il file è in uso da max, premetto che i file vengono chiusi correttamente dallo script tramite le funzioni fclose() & close(). Inoltre anche la verifica della chiusura del file tramite script mi dà risultato positivo ma niente, devo usare unlocker...
  3. thumb
    Allora io ho un problema a riguardo di come posso gestire una mappa, ho estratto via maxscript i dati di un modello 3d di un gioco solo che il gioco utilizza un modo strano di comporre le texture: Ogni unità è formata da due texture che io ho chiamato Figure e Attachment di dimensioni con rapporto 1:1 (nel mio caso sono di 1024x1024 pixel). per utilizzarle il gioco crea una nuova texture formata dall'unione delle due per formarne una di rapporto 1:2. Di conseguenza le coordinate UVW dell'unità vengono dimezzate lungo l'asse U affinche tutta la texture ci stia. Il mio problema è che nel con
  4. Allora ho ridotto all'osso lo script nel senso che adesso chiunque capisce subito quello che ho fatto: A parte i due script chimati class che servono ad altro, la semplice funzione di "skinOps.addbone" non mi fà errore ma se clicco su un oggetto a cui è applicato max crasha ! Sapreste aiutarmi a trovare l'errore... io ho provato di tutto ma nada. MeshEditor - essential.zip
  5. è facile fare un funzione che seleziona a random, supponi di aver selezionato una serie di oggetti, fai partire questo codice: select selection[random 1 selection.count] e lui ti restituisce una selezione a caso tra gli oggetti scelti: oggetti = selection oggetti è l'array dei nodi selezionati num = oggetti.count è la quantità di oggetti presenti indice = random 1 num indice è un numero scelto a caso trà uno e la quantità di oggetti select oggetti[indice] seleziona l'"indic-esimo" oggetto poi ci puoi fare quello che vuoi ma il concetto è semplice
  6. thumb
    la cosa sembra banale ma mi sono accorto che il problema era dovuto alla progress bar, non quella del rollout ma quella che appare in basso a destra, si attiva con progressStart "", progressEnd(), progressUpdate(). Ho dovuto toglierle perchè mi fanno casino, ad esempio se per errore non esegue progressEnd(), l'interfaccia di max và in letargo... Praticamente nel mio script ho messo due progressStart "" solo per cambiare il testo visualizzato ma questo mi incasinava il max-modify-mode che a sua volta non mi permetteva la selezione del modificatore aggiunto, solo con resumeEditing() sbloccavo
  7. per risolvere ho dovuto forzare un secondo tentativo di selezione da perte dello script del pannello modificatore: select obj resumeEditing() addModifier obj theskin max modify mode modPanel.setCurrentObject theskin --format "ENABLE IN VIEW = %\nENABLED = %\n" theskin.enabledInViews theskin.enabled checkmod = modPanel.getCurrentObject() format "CURRENT: %\t" checkmod if checkmod==undefined do ( format "\tERROR, TRY TO RESUME\t" resumeEditing() select obj max modify mode modPanel.setCurrentObject theskin checkmod = modPanel.getCurrentObject() format "CURRENT: %\t" che
  8. FOR LOOP ... theskin = Skin() theskin.rigid_vertices = false select obj addModifier obj theskin max modify mode checkmod = modPanel.getCurrentObject() format "CURRENT: %\n" checkmod if checkmod==undefined then error.e skinops.buttonInclude theskin ... Listener: CURRENT: Skin:Skin --loop1 CURRENT: undefined --loop2 il problema stà proprio quà, al secondo loop il pannello dei modificatore và in crash e non mi inserisce più niente... modPanel.getCurrentObject() mi restituisce undefined ma non è possibile...
  9. miracolo, ho sostituito i Bone con i Point e non dà errore, quindi adesso mi sà che i bone come li ho creati io serviranno a poco...
  10. ok, mi sembrano molto validi come script, forse riesco ad estarre quanche preziosa informazione perchè alla fine è sempre un copia-incolla :-) Questo è quello che ho fatto oggi, sto imparando come funziona il modifier plugin, credo proprio che alla fine sia in termini di semplicità che di velocità di elaborazione sarà meglio di quello originale. plugin modifier myMod name:"0 SkinMod" classID:#(685326,452281) replaceUI:true version:1 ( --- Parametri del modificatore parameters main rollout:params ( BoneList type:#nodeTab tabSize:1 tabSizeVariable:true ) -- variabili locali
  11. thumb
    a questo punto mi sono rotto... se non và non và, preferisco farmi un nuovo modificatore plugin modifier "mySkin" e me lo gestisco io...
  12. ah ecco... io stupidamente avevo messo "Global Struct (....". Infatti adesso non dovrebbe aver problemi. Il casino è dovuto al fatto che l'unica funzione che mi restituisce la path dello script è "ScriptDir =sysInfo.currentdir", mi tocca fare così perchè non sempre corrisponde, ad esempio se apro un file di un'altra cartella allora windows cambia il sysInfo.currentdir, quindi se non fai "run script" ma fai "evaluate" può provocare una lista vuota o un errore in FileIn. Comunque io provo e riprovo ma niente... adesso mi importa tutte le ossa nel modificatore (verifico il numero di ossa), lo
  13. for igroup = 1 to numgroups do ( themesh = mesh_array[igroup] numverts = themesh.numverts -- qua di seguito è solo l'indice del bone1 bone2 e rispettive percentuali pIdarr = grpprimId_array[igroup] sIdarr = grpsecoId_array[igroup] pwtarr = grpprimwt_array[igroup] swtarr = grpsecowt_array[igroup] update themesh geometry:true normals:true -- quà inizia il bello. da come ho capito seleziona praticamente tutto theskin
  14. ok, capito, grazie. L'utilizzo del bitArray anche se non preinizializzato per l'utilizzo che serve e cioè evitare di fare append di un array, togliere i dopioni con deleteItem e poi usare findItem per trovare "l'indice dell'indice", sembra non comporti niente in termini di spesa di calcoli. Per il problema delle variabili globali è strano, io ho messo proprio all'inizio come globale, prima di importare con FileIn(), non capisco perchè non riesce a trovare la struct al primo avvio... mi sembra illogico che anche la struct sia globale.... Per il problema della drop list è un problema che n
  15. thumb
    NIENTE DA FARE... ad una prima versione dove importava tutti i bone funzionava, adesso l'ho modificata facendo in modo che aggiunga solo i bone necessari e continua con questo undefined error... $%£&@#* !!!! PS: guarda che figata l'utilizzo di un BitArray come "cercatore di indici" ! un'amara consolazione... fn AssignWeight wdata obj= ( SetCommandPanelTaskMode mode:#modify skinMod = skin() select obj addModifier obj skinMod ModPanel.SetCurrentObject obj.skin filter_Index = #{} -- di usare il findItem() ... for i=1 to obj.numverts do ( print wdata[i]
×
×
  • Create New...

Important Information

Per garantire la migliore esperienza di navigazione possibile questo sito utilizza cookie tecnici, statistici e di terze parti. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all'uso dei cookie. Privacy Policy - Cookie Policy