Vai al contenuto
Erik

Script - Omino Lego

Recommended Posts

salve a tutti, posto un filmatino illustrativo del mio primo script: si tratta di una semplice interfaccia per il controllo di un omino lego. ditemi che ne pensate...c'è da aggiungere qualcosa? :blink2:

thnks to johnny27 per l'ottimo modello :Clap03:

Erik

FILMATO

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

ciao bello mi piace da morire.... ma per che nn scrivi un bel tutorial per fare quello script sono veramente interassato!!!!!!!!! si come anche io lavorando su uno script.. vedendo il tuo mi servirebbero alcune cose di quel script

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

eccoti il codice intanto, se non capisci qualcosa chiedi :)

global temp --variabile cestino

rollout OMINO "OMINO v0.1" width:232 height:520

(

groupBox grp_corpo "Corpo" pos:[8,64] width:218 height:224

groupBox grp_gamba "Gamba di appoggio" pos:[8,8] width:216 height:48

radioButtons scelta_gamba "" pos:[20,32] width:162 height:16 labels:#("dx", "sx", "entrambe") default:3 columns:3

groupBox grp_access "Accessori" pos:[8,432] width:112 height:80

checkbox casella_cappello "Cappello" pos:[17,449] width:88 height:16

checkbox casella_zaino "Zaino" pos:[17,469] width:88 height:16

checkbox casella_fucile "Fucile" pos:[17,489] width:88 height:16

button tasto_esci "ESCI" pos:[128,480] width:96 height:32

slider sld_corpo "Corpo" pos:[16,136] width:198 height:44 range:[-60,100,0]

slider sld_gamba "Gamba" pos:[16,184] width:200 height:44 range:[-80,80,0]

button tasto_reset "RESET" pos:[128,440] width:96 height:32

slider sld_rot "Rotazione" pos:[16,88] width:198 height:44 range:[-180,180,0]

slider sld_testa "Testa" pos:[16,232] width:198 height:44 range:[-100,100,0]

groupBox grp_braccia "Braccia" pos:[8,296] width:218 height:128

slider sld_manosx "M sx" pos:[64,320] width:24 height:99 range:[-180,180,0] orient:#vertical

slider sld_manodx "M dx" pos:[184,320] width:24 height:99 range:[-180,180,0] orient:#vertical

slider sld_bracciodx "B dx" pos:[144,320] width:24 height:99 range:[-100,100,0] orient:#vertical

slider sld_bracciosx "B sx" pos:[24,320] width:24 height:99 range:[-100,100,0] orient:#vertical

--inizio funzione impostazione gambe e corpo da valori sld_gamba e sld_corpo

function muovi_gambecorpo =

(

case scelta_gamba.state of

(

3: (

$corpo.rotation.controller.trasfo.controller.X_Rotation= sld_corpo.value

$gambasx.rotation.controller.trasfo.controller.X_Rotation= -sld_corpo.value

$gambadx.rotation.controller.trasfo.controller.X_Rotation= -sld_corpo.value

)

1: (

$corpo.rotation.controller.trasfo.controller.X_Rotation= sld_corpo.value

$gambasx.rotation.controller.trasfo.controller.X_Rotation= (-sld_gamba.value)

$gambadx.rotation.controller.trasfo.controller.X_Rotation= (-sld_corpo.value)

)

2: (

$corpo.rotation.controller.trasfo.controller.X_Rotation= sld_corpo.value

$gambadx.rotation.controller.trasfo.controller.X_Rotation= (-sld_gamba.value)

$gambasx.rotation.controller.trasfo.controller.X_Rotation= (-sld_corpo.value)

)

)

)

--fine funzione

--inizio aggiorna in apertura

on omino open do

(

casella_cappello.state=not($cappello.ishidden)

casella_zaino.state=not($zaino.ishidden)

casella_fucile.state=not($fucile.ishidden)

scelta_gamba.state=$corpo.Attributi_personalizzati.gamba

if scelta_gamba.state==3 --set enable slider gamba

then sld_gamba.enabled=false

else sld_gamba.enabled=true

sld_corpo.value=$corpo.rotation.controller.trasfo.controller.X_Rotation--set valore sld corpo

if scelta_gamba.state==1--set valore sld gamba

then sld_gamba.value=-$gambasx.rotation.controller.trasfo.controller.X_Rotation

else sld_gamba.value=-$gambadx.rotation.controller.trasfo.controller.X_Rotation

sld_rot.value=$pers.rotation.z_rotation

sld_testa.value=$testa.rotation.controller.trasfo.controller.z_Rotation

sld_manosx.value=$manosx.rotation.controller.trasfo.controller.y_Rotation

sld_manodx.value=$manodx.rotation.controller.trasfo.controller.y_Rotation

sld_bracciosx.value=$bracciosx.rotation.controller.trasfo.controller.z_Rotation

sld_bracciodx.value=$bracciodx.rotation.controller.trasfo.controller.z_Rotation

)

--fine aggiorna

--inizio reset

on tasto_reset pressed do

(

sld_gamba.enabled=false

casella_cappello.state=true

casella_zaino.state=true

casella_fucile.state=true

unhide $fucile

unhide $cappello

unhide $zaino

scelta_gamba.state=3

$corpo.Attributi_personalizzati.gamba=3

sld_corpo.value=0

sld_gamba.value=0

sld_rot.value=0

$pers.rotation.z_rotation=0

sld_testa.value=0

$testa.rotation.controller.trasfo.controller.z_Rotation=0

muovi_gambecorpo ()

sld_manosx.value=0

$manosx.rotation.controller.trasfo.controller.y_Rotation=0

sld_manodx.value=0

$manodx.rotation.controller.trasfo.controller.y_Rotation=0

sld_bracciosx.value=0

$bracciosx.rotation.controller.trasfo.controller.z_Rotation=0

sld_bracciodx.value=0

$bracciodx.rotation.controller.trasfo.controller.z_Rotation=0

)

--fine reset

on tasto_esci pressed do destroydialog omino --uscita

on casella_cappello changed temp do $cappello.ishidden=not(casella_cappello.state) --accessori

on casella_zaino changed temp do $zaino.ishidden=not(casella_zaino.state)

on casella_fucile changed temp do $fucile.ishidden=not(casella_fucile.state)

on scelta_gamba changed temp do --sld_gamba

(

$corpo.Attributi_personalizzati.gamba=temp

if temp==3 then sld_gamba.enabled=false else sld_gamba.enabled=true

muovi_gambecorpo ()

)

on sld_corpo changed temp do muovi_gambecorpo ()

on sld_gamba changed temp do muovi_gambecorpo ()

on sld_rot changed temp do $pers.rotation.z_rotation=temp

on sld_testa changed temp do $testa.rotation.controller.trasfo.controller.z_Rotation=temp

on sld_manosx changed temp do $manosx.rotation.controller.trasfo.controller.y_Rotation=temp

on sld_manodx changed temp do $manodx.rotation.controller.trasfo.controller.y_Rotation=temp

on sld_bracciosx changed temp do $bracciosx.rotation.controller.trasfo.controller.z_Rotation=temp

on sld_bracciodx changed temp do $bracciodx.rotation.controller.trasfo.controller.z_Rotation=temp

)

clearselection ()

createdialog omino 232 520

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

bravo erik! bel lavoro..

ora so cos'è uno script! :rolleyes:

grazie per i compl! :P

ciao!

un'altra cosetta...

quand'è che lo sheri con tutti noi? :D

(in un formato comprensibile...quel codice che hai postato sembra peggio di matrix! :wallbash: )

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

sei un grande!!!!! bravo... adesso ci provo subito!! poi nn mi sembra cosi dificile il setup dello scrip pero se ho qualche problema ti avviso ok

grazie di nuovo :D:Clap03:

ho un'altra domanda ma tu con il rigg!! come sei combinato? volevo sapere se magari te ne intendi con il rig e con i controller per 3d max

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

johnny27: non avrei postato la scena senza il tuo permesso, il modello è tuo :D

jesone: di rig me ne intendo gran poco, ma ho letto diversi tutorial, specie su 3dtotal, e ho imparato quella cosetta interessante dei controller lista nella rotazione, con assegnati 2 euleriani

questo ti permette, agendo sul secondo controller, di ruotare localmente l'oggetto (non chiedermi perchè, non l'ho ancora ben capito, ma funzia alla grande)

il problema grosso di sto script, oltre al primo impatto con il maxscript che tuttavia è stato direi felice, è stato trovare la maniera per accedere alla z del secondo controller nel controller lista nella rotazione :wallbash::wallbash::wacko:

terribile...

fra poco posto anche la scena..

scena

è caricata su rapidshare

eseguite lo script e ditemi se tutto funzia :D

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

ok mi piacerebbe avere anche la scena almeno cosi capisco + approfonditamente il tuo scipt!! ma questi tutorial da qui hai imparato a scrivere lo script dove gli posso trovare?

per che come ti ho detto voglio fare uno script, per magari + avanti scrivere un tutorial tipo quello di character rig con maya ( quello di andrea).. pero per 3d max studio!!!

quindi vorrei impare bene come usare ad esempio la tecnica del (slider,groupBox ecc) vorrei capirli un po meglio per scriver un bel tutorial caput grazie!!!!!!!

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

ciao erik!

scusami ma sono un completo ignorante in materia..... come posso utilizzare anche io lo script che hai creato? (sempre che tu lo voglia condividere!) :hello::hello:

ciao

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

jesone: la scena l'ho postata sopra, basta che la scarichi (max 6)

i tutorial che ho usato sono solo i videotut della lezione di philix, il resto l'ho studiato sulla guida (f1!!)

johnny:tendina maxscript - apri script

poi file - evaluate all (valuta tutto)

oppure, più figo B) , trascini il testo su una toolbar e ti comparirà un pulsante che eseguirà lo script

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

ok ti ringrazio adesso me mi metto al lavoro!!!! voglio creare un picollo script..... :Clap03:

un'altra domanda come si fa a mettere uno sofondo bitmap su visual maxscipt.... :wallbash::blink2:

e questa a cui si riferisce la mia domanda

:hello:

post-10210-1137060894_thumb.jpg

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

script e modello grandiosi....

però secondo me c'è un piccolo bug...

non puoi alzare contemporaneamente le gambe....per esempio per fare una posizione seduta....

....in ogni caso uno script da paura!!

:w00t:

Condividi questo messaggio


Link al messaggio
Condividi su altri siti
script e modello grandiosi....

però secondo me c'è un piccolo bug...

non puoi alzare contemporaneamente le gambe....per esempio per fare una posizione seduta....

....in ogni caso uno script da paura!!

:w00t:

si, ma più che bug è stato pensato così

al limite si potrebbe aggiungere, facendolo anche appoggiare a terra..

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora

  • Navigazione recente   0 utenti

    Non ci sono utenti registrati da visualizzare in questa pagina.

×