Avatar billede kmkr03 Nybegynder
30. november 2005 - 15:02 Der er 13 kommentarer og
2 løsninger

Animation af lys?

Hejsa

Hvordan laver jeg en animation af blinkende lys? F.eks. som paa en landingsbane, hvor ét lys taender, hvorefter det slukker i og med at det naeste lys taender osv. (lidt domino agtigt, hvis i forstaar) Er der nogen der kan fortaelle mig hvordan man goer det?
Avatar billede osborne Nybegynder
10. december 2005 - 22:13 #1
Det nemmeste vil nok være at scripte det vha. Maxscript. Grundlæggende ville lade scriptet køre igennem alle keyframes og for hver keyframe gennemløbe alle lys og stille hver lampes lysstyrke. Hvis du ikke kender til scripting vil det være en fin opgave at lære det på .. og samtidig noget du kan bruge mange andre steder.
Avatar billede osborne Nybegynder
10. december 2005 - 22:18 #2
.. og før du går i gang er det altid en god ide at være helt klar på hvordan du ville gøre det hvis du skulle gøre det med håndkraft, dvs. hvordan virker sådanne lys i virkligheden. Som der engang var en der sagde til mig, at først når man kan definere hvad man vil have i 3d kan man lave det :-)

Hvilen en af følgende måder vil du sige er den rigtige (eller måske en helt anden)?
1. Et lys er tændt og alle andre slukkede, lidt efter det næste tændt og alle andre slukkede osv.
2. Et lys er 100% tændt, næste er 90% tændt, næste er 80% tændt osv. ...
3. En række lys er tændt, og resten slukket. Næste øjeblik er "rækken af tændte" rykket.
4. ... ?
Avatar billede kmkr03 Nybegynder
12. december 2005 - 09:48 #3
Hejsa

Den maade jeg forestiller mig det ske paa er som jeg har beskrevet i det foerste indlaeg! Altssa at ét lys taendes, hvoerfter et andet lys taendes samtidig med at det foerste lys slukkes (fade ind og ud)! Ligesom paa en landings bane, hvor lysen loeber fra den ene ende til den anden. Haaber det er til at forstaa!
Avatar billede osborne Nybegynder
12. december 2005 - 18:47 #4
Ok, altså en blanding mellem 1. to 2. .. f.eks.
- første lys tændt 100%, andre lys slukkede
- første lys tændt 50%, andet lys tændt 50%, andre lys slukkkede
- første lys slukket, andet lys tændt 100%, andre lys slukkede
- osv.

Det er efter min mening oplagt at lave sådan noget med max scripting. Du kan naturligvis også håndanimere det (men så synes jeg det er lidt sjovere at bruge tiden på at programmere et script end at sidde og skrue op og ned for lysstyrken på en masse lys). Kender du til maxscript eller programmering i forvejen? Er det noget du har mod på?
Avatar billede osborne Nybegynder
12. december 2005 - 22:06 #5
Her et lille script som gør nogenlunde som du skriver (det starter med at oprette en række lys og derefter animerer den det). Prøv at køre scriptet og derefter animere det ud til en .avi og se om det er sådan noget lignende du er ude efter. Hvis du selv har en række lys i din scene kan du udelade første del af scriptet (hvor der laves en plane og nogle lys). Den virker på een række lys (navngivet så de stiger i nummer f.eks. Omni01, Omni02 osv.). Hvis du vil have to rækker lys tager du blot og kopierer/cloner dine lys efter at du har kørt scriptet. Håber det kan hjælpe dig igang:



-- En plane og nogle lys
Plane length:60 width:120 pos:[60,0,0] wirecolor:(color 8 8 136)
for p = 1 to 10 do
    Omnilight rgb:(color 255 255 255) multiplier:0 pos:[p*10,0,10];


-- Animerer lysene
lystabel = for j in lights collect j.name
sort lystabel
antal_lys = lystabel.count
antal_keys = 100
taendt_lys_nr = 1
with animate on
(
    for k = 1 to antal_keys do
    (
        at time k
        (
            for i = 1 to antal_lys do
            (
                lys = getNodeByName lystabel[i]
                lys.multiplier = 0.2
            )--end i loop       
       
            lys = getNodeByName lystabel[taendt_lys_nr]
            lys.multiplier = 1.0
           
            if taendt_lys_nr == antal_lys then
                taendt_lys_nr = 1;
            else
                taendt_lys_nr = taendt_lys_nr + 1;
        )--end at time k
    )--end k loop
)--end animate
Avatar billede osborne Nybegynder
12. december 2005 - 22:12 #6
Hvis du er ny til scripting så åben din 3ds max (jeg bruger Max 8). Vælg menuen MaxScript > New Script, og cut/paste koden ovenfor. Vælg File > Evaluate All. Nu skal du blot rendere frame 1 to 100 ud i en .avi og afspille den for at se hvorden denne lille test ser ud. Den skal selvfølgelig justeres til, men håber det giver dig en ide om mulighederne.
Avatar billede kmkr03 Nybegynder
13. december 2005 - 16:47 #7
Damn, du virker til at ha styr paa det har program. Det er cool!

Der er lige en lille ting jeg har glemt! Jeg sidder med 3D VIz 3i og ikke max :-( sorry! Anyway, jeg kan godt koere scriptet, og den laver godt nok ogsaa senen med en plade og nogle lys! Men, der sker bare ikke noget med lysene! Det skyldes sikkert at det er 3D Viz jeg sidder med, tror du ik?
Avatar billede osborne Nybegynder
13. december 2005 - 17:44 #8
Ah, ok.. jeg er ikke 100% sikker på hvor kompatible MaxScripts fra Max 8 er med din 3D Viz 3i, men det at den kan oprette plade med lysene lyder lovende. Har du prøvet at rendere det ud som en animation, hvor man kan se pladen?

Ellers må jeg lige undersøge lidt på scripting med Viz ..
Avatar billede kmkr03 Nybegynder
14. december 2005 - 10:12 #9
Hejsa! Ja, jeg har proevet at render den ud til en film, eller bare nogle still billeder, men der er ingen ting at se! Der er bare helt sort!
Avatar billede osborne Nybegynder
19. december 2005 - 00:53 #10
Så du får kun oprettet banen og lyset - men ingen animation?
Ovenstående virker i 3ds max 8 (har lige testet det igen), men skal muligvis justeres for at fungere i Viz. Har du evt. en hjælpefil eller noget fra Viz hvor der står noget om scripting, som du kunne sende til mig så skal jeg se om jeg kan knække den?
osborne2210@yahoo.dk
Avatar billede osborne Nybegynder
19. december 2005 - 00:57 #11
Får du forresten nogen fejlmeddelelser når du kører ovenstående script i Viz?
Kan du se om der er dannet nogle keys på de enkelte lys?

Et dumt spørgsmål .. du siger at din render er helt sort.. har du sørget for at sætte kameraet så man ser på banen med lysene (sorry men jeg prøver blot at indkredse problemet :-)
Avatar billede osborne Nybegynder
07. marts 2006 - 22:26 #12
Lykkedes det?
Avatar billede kmkr03 Nybegynder
09. marts 2006 - 13:12 #13
Hejsa, Det lykkedes ikke med scriptet! Saa jeg placerede bare det hele manuelt! Men 1000 tak for din hjaelp!
Avatar billede kmkr03 Nybegynder
09. marts 2006 - 13:13 #14
Har du faaet dine points?
Avatar billede osborne Nybegynder
09. marts 2006 - 23:33 #15
Ok, det var ærgeligt det ikke kørte med scriptet (fungerer fint i max ellers) .. men mange tak for pointene.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester