Topic: Geluidsgolven animeren  (gelezen 10393 keer)


Offline amurre

  • Member
  • *
  • Berichten: 10
    • Bekijk profiel
« Reactie #15 Gepost op: 23 oktober 2015, 15:48:13 pm »
Nick,

Je hebt me geweldig geholpen!

Ik heb de animatie nu veel smoother gekregen! Heb nu getest om de geluidsgolven beter zichtbaar te laten worden met een kleur-water, alleen lijkt een lichte transparante kleur beter.

Alleen het uitbreiden van de kleur in een mix shader heb ik nog niet voor elkaar gekregen. Zijn daar tutorials van?

Dit had je geschreven:Zorg er nadien voor dat de schijf binnenin het materiaal heeft dat je wil en buiten transparant is via een mixshader gekoppeld aan ofwel een texture, ofwel de afstand tot de oorsprong (via een beetje wiskunde). Nadien animeer je die texture of afstand zodat er steeds meer van de schijf zichtbaar wordt. Zo zou ik het proberen.

Deze optie is perfect voor wat het moet worden, zo kan ik de camera via een path vanaf te zijkant naar de bovenkant laten bewegen.

Nu heb ik het vanaf boven met een losse circle net boven de geluidsgolven, die schalend groter word, het effect gecreëerd dan is het niet mogelijk om vanaf de zijkant, zonder dat de witte cirkel zichtbaar is.



Offline Nick Van den Broeck

  • Member
  • *
  • Berichten: 216
    • Bekijk profiel
    • Blender Education
« Reactie #16 Gepost op: 24 oktober 2015, 14:43:33 pm »
Dit is hoe ik het zou doen:


Het idee is als volgt: we maken een mixshader die mixt tussen het gewenste materiaal voor de geluidsgolf (rozige) en een transparant materiaal (geel). De factor van de mix is dan onze controle om te bepalen welk van de twee materialen waar wordt getoond.
Deze factor maken we positieafhankelijk door die te koppelen aan een texture. Zodoende beginnen we met een texture (blauwe stuk), in dit geval een gradient. Daar we vanuit de oorsprong van het object willen vervagen kiezen we voor sferisch en nemen we 'object' als de bron van onze coördinaten. Ik heb de mapping-node toe gevoegd en daarin de schaal van z op 0 gezet om de afhankelijkheid van de z-as weg te nemen. Met ander woorden: in de z-richting wordt nu steeds de waarde voor 0 gebruikt. Het texture heeft dus enkel nog invloed op x en y. (pas op, al deze coördinaten hangen af van het assenstelsel van je object, dus als je dingen begint te draaien in edit mode, dan kan het wel eens anders uitvallen.)
Ten slotte is de sferische gradient voor ons te zacht. Die begint immers met 1 in het centrum en 0 op de rand. Wij willen veel langer 1, dan een korte overgang naar 0 en dan nog wat langer 0. Dit doen we door de 'colorramp' node. Het makkelijkste is een harde overgang, dan zet je de methode op 'constant' in plaats van linear. Door dan de sliders te manipuleren zal je meer of minder van je mesh zien. Speel hier wat mee tot je de gewenste afstanden hebt gevonden. Voor een harde rand is er 1 slider die je moet manipuleren om van niets naar alles te gaan (in mijn geval de middelste op het prentje).
Om nu nog de animatie in de tijd te krijgen gaan wie op die slider een keyframe toevoegen d.m.v. de knop i. Zet een keyframe in het begin en 1 keyframe op het einde van je animatie. Spring naar de graph editor en daarin kan je perfect voor elke frame van je animatie beslissen hoeveel van je mesh zichtbaar is.
Wil je een zachte overgang, dan zal je meerdere sliders synchroon moeten laten bewegen. Maar dat werkt in essentie exact hetzelfde als 1 slider.

Pas op, verwijder nu de animatie op de schaal van het object. Die hebben we niet meer nodig (gaat niet in conflict gaan, maar hebben we hier gewoon niet nodig).
Wat we in essentie gedaan hebben is het object met golf gemaakt. Dat is echt de mesh die we animeren. En dan hebben we de zichtbaarheid via een materiaal in orde gebracht. Op die manier hebben we de golf volledig onafhankelijk gemaakt van de zichtbaarheid en verandert de golflengte niet aangezien het object nooit groter of kleiner wordt. Voor blender staat gewoon de hele schijf de hele tijd stil, maar hij toont slechts een stukje ervan.
Dit wil ook zeggen dat je de transparantie enkel gaat zien als je rendert (of in rendered viewport). In wireframe of solid mode gaat er niets veranderen.

In dit voorbeeld heb ik cycles gebruikt, maar voor zover ik kan inzien zou dit in BI even goed moeten werken.

Nog een tip, en iets dat weinig mensen echt beseffen, maar hier wel belangrijk is: Denk aan je schaduwen. Als je mesh te evenredig belicht is, dan krijgt alles dezelfde kleur en zie je niets van de golfjes. Die golfjes zijn immers enkel zichtbaar als ze schaduwen werpen. Belicht dus niet egaal van boven, want dat gaat weinig zin hebben.

Hopelijk helpt dit.