Jump to content
Michele71

Problemi Con I Comandi Spinner

Recommended Posts

Ciao a tutti!

Non riesco a capire se questa sezione di discussione sia la più giusta per porvi il problema seguente, ma non ho trovato migliore posto per inserire il quesito.

Ho un piccolo-grande problema con 3dsmax2008.

Sono un novellino di max script e da qualche tempo mi sono cimentato nel suo studio.

Dopo molto provare, ho creato uno script che mi permette di simulare (in maniera molto approssimativa) il movimento del mare. Durante la fase di lavoro, ho avuto bisogno di collegare dei controller Spinner ai parametri di altezza, disturbo ecc, dei modificatori da me utilizzati (Noise,Wave).

Ora, dopo svariati tentativi sono riuscito in parte a completare lo script ma, ho creato qualche casino all'interno di Max!. TUTTI gli Spinner dell'interfaccia di Max, non rispondono più bene all'informazioni immesse, sopratutto, i comandi dei parametri dei modificatori.

I controlli si sono trasformati da Da Bezier_Float in integer! I valori bezier, sono immessi solo se mantengo premuto il tasto sinistro del mouse e opero dei cambi, altrimenti, il passo di cambio valore è di 1 a 1.

La cosa è tanto più strana in quanto per tutto il periodo di sviluppo lo script funzionava bene, ma una volta terminato e immesso nella ToolBars di max dopo il suo secondo utilizzo mi è apparso un messaggio di errore (il rollout aveva problemi) e gli Spinner hanno cominciato a lavorare male...

Avete suggerimenti in merito?

Grazie in anticipo

Michel71

Share this post


Link to post
Share on other sites

:eek: :eek: :eek: :eek:

sinceramente così su due piedi non ho idea di come sia potuto succedere....

l'unica cosa che mi viene in mente è che lo script crea il danno quando viene eseguito all'avvio di max e poi per questo non funziona più.

Hai provato a rimuoverlo dall'interfaccia e poi a cancellare anche il file col macroscript in modo da non farlo eseguire all'avvio di max?

Poi magari se posti lo script posso guardarlo per vedere se capisco dov'è il problema.

ciao!

Share this post


Link to post
Share on other sites

Grazie Coren per la tua risposta! Alla fine ho tagliato la testa al toro ricreando un nuovo fil .ini di max :crying:

Comunque io sono alle prime armi con MaxScript e uso spesso Macrosript per ovviare a questo problema. Di seguito invio lo script (sicuramente confuso)...dopo lo scotto, io non ho provato a vedere se esso adesso funziona.... Vedi cosa c'è che non va...

--Wave Ocean

--Version 0.1

--2008/10/28

--3DSMax2008e

--Idea by Michele71

--Create a virtual sea,

------------------------------------------------------------------

rollout Sea "Create Sea" width:176 height:120

(

spinner SideA "Length " pos:[32,32] width:110 height:16 range:[0,1000,0] type:#worldunits

spinner SideB "Width " pos:[37,56] width:105 height:16 range:[0,1000,0] type:#worldunits

button CreateSeaMesh "Create Sea Mesh" pos:[24,80] width:128 height:21

GroupBox GroupeWave "Create Sea Plane" pos:[8,8] width:160 height:104

-----------------------------------------------------------------------------------------------------------------

on CreateSeaMesh pressed do

(

MySpline = Rectangle length:SideA.value width:SideB.value pos:[0,0,0] isSelected:on

convertTo MySpline SplineShape

subobjectLevel = 1

setKnotSelection MySpline 1 #(1, 2, 3, 4)

splineOps.startBreak MySpline

updateShape MySpline

modPanel.setCurrentObject MySpline.baseObject

modPanel.addModToSelection (Garment_Maker ()) ui:on

MySpline.modifiers[#Garment_Maker].autoMesh = on

MySpline.modifiers[#Garment_Maker].outputType = 1

macros.run "Modifier Stack" "Convert_to_Mesh"

MySpline.material = meditMaterials[1]

meditMaterials[1].ambient = color 81 81 81

meditMaterials[1].Diffuse = color 81 81 81

meditMaterials[1].ambient = color 81 81 81

update MySpline

modPanel.setCurrentObject MySpline.baseObject

modPanel.addModToSelection (Wave ())

$.modifiers[#Wave].amplitude1 = 0.0

$.modifiers[#Wave].amplitude2 = 0.0

$.modifiers[#Wave].wavelength = 0.0

$.modifiers[#Wave].phase = 0.0

$.modifiers[#Wave].decay = 0.0

modPanel.setCurrentObject MySpline.modifiers[#Wave]

modPanel.addModToSelection (Noisemodifier ())

$.modifiers[#Noise].seed = 0

$.modifiers[#Noise].scale = 100

$.modifiers[#Noise].fractal

$.modifiers[#Noise].roughness = 0

$.modifiers[#Noise].iterations = 6

$.modifiers[#Noise].strength = [0,0,0]

$.modifiers[#Noise].animate

$.modifiers[#Noise].frequency = 0.25

$.modifiers[#Noise].phase = 0f

)

)

--------------------------------------------------------------------------------------------------

rollout CreateWave "Wave" width:184 height:152

(

spinner _Ampli1 "Wave Ampli 1 " type:#float animatable:true pos:[24,32] width:139 height:16

spinner _Ampli2 "Wave Ampli 2 " type:#float animatable:true pos:[24,53] width:139 height:16

spinner _WaveLeng "Wave Length " type:#float animatable:true pos:[25,74] width:138 height:16

spinner _Phase "Phase " type:#float animatable:true pos:[60,95] width:103 height:16

spinner _Decay "Decay " type:#float animatable:true pos:[59,116] width:104 height:16

GroupBox GroupCreateWave "Wave " pos:[8,8] width:160 height:136

on _Ampli1 changed val do

(

$.modifiers[#Wave].amplitude1= _Ampli1.value

)

on _Ampli2 changed val do

(

$.modifiers[#Wave].amplitude2= _Ampli2.value

)

on _WaveLeng changed val do

(

$.modifiers[#Wave].wavelength= _WaveLeng.value

)

on _Phase changed val do

(

$.modifiers[#Wave].Phase= _Phase.value

)

on _Decay changed val do

(

$.modifiers[#Wave].Decay= _Decay.value

)

)

-----------------------------------------------------------------------------------------------------------------

rollout createNoise "Wave Noise" width:184 height:304

(

local MyControllerA = Bezier_Float()

spinner _Seed "Seed " pos:[57,32] width:95 height:16 range:[0,1000,0] type:#integer controller:MyControllerA animatable:true

spinner _Scale "Scale " pos:[55,53] width:97 height:16 range:[0,100,100] type:#float animatable:true

checkbox _Fractal "Fractal " pos:[16,74] width:56 height:15

spinner _Roug "Roughness " pos:[28,94] width:124 height:16 range:[0,1,0] type:#float

spinner _Iterations "Iterations " pos:[39,115] width:113 height:16 range:[0,10,0]

spinner _Z "Z " pos:[75,168] width:77 height:16

checkbox _AnimateNoise "Animate Noise " checked:false pos:[16,224] width:92 height:15

spinner _Frequency "Frequency " pos:[32,248] width:120 height:16

spinner _Phase "Phase " type:#float animatable:true pos:[52,269] width:100 height:16

GroupBox GroupNoise "Wave Noise " pos:[8,8] width:160 height:128

GroupBox GroupStrength "Wave Strength " pos:[8,144] width:160 height:48

GroupBox GroupAnimation "Wave Animation " pos:[8,200] width:160 height:96

on _Seed changed val do

(

$.modifiers[#Noise].seed = _Seed.value

animate off at time 0 $.modifiers[#Noise].seed=MyControllerA.value

$.modifiers[#Noise].seed.controller=MyControllerA

)

on _Scale changed val do

(

$.modifiers[#Noise].scale= _Scale.value

)

on _Fractal changed theState do

(

if _Fractal.state == true then

(

$.modifiers[#Noise].fractal=on

)

else

(

$.modifiers[#Noise].fractal=off

)

)

on _Roug changed val do

(

$.modifiers[#Noise].roughness= _Roug.value

)

on _Iterations changed val do

(

$.modifiers[#Noise].iterations= _Iterations.value

)

on _Z changed val do

(

$.modifiers[#Noise].strength = [0,0,_Z.value]

)

on _AnimateNoise changed theState do

(

if _AnimateNoise.state == true then

(

$.modifiers[#Noise].animate=on

)

else

(

$.modifiers[#Noise].animate=off

)

)

on _Frequency changed val do

(

$.modifiers[#Noise].frequency = _Frequency.value

)

on _Phase changed val do

(

$.modifiers[#Noise].phase = _Phase.value

)

-----------------------------------------------------------------------------------------------------------------

rollout Info "About"

(

label lab1 "Wave Ocean 0.1"

label lab2 "Create by Michele71"

label la3 "Build on MaxScript 2008"

)

)

theFloater = newRolloutFloater "Wave Ocean 1.0" 190 210

addRollout Sea theFloater

addRollout CreateWave theFloater rolledup:true

addRollout CreateNoise theFloater rolledup:true

addRollout Info theFloater rolledup:true

Ciao

Michele71

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...