Siirry suoraan sisältöön

Efektiohjelmointi (5 op)

Toteutuksen tunnus: LTD7016-3003

Toteutuksen perustiedot


Ilmoittautumisaika

01.04.2024 - 30.04.2024

Ajoitus

26.08.2024 - 27.10.2024

Opintopistemäärä

5 op

Toteutustapa

Lähiopetus

Yksikkö

Tradenomi / Tietojenkäsittely (DD)

Toimipiste

Wärtsilä-kampus Karjalankatu 3 (WÄR)

Opetuskielet

  • Suomi

Paikat

10 - 85

Koulutus

  • Tietojenkäsittelyn koulutus

Opettaja

  • Anssi Gröhn

Vastuuopettaja

Anssi Gröhn

Ryhmät

  • DTNS21
    Tradenomi (AMK), Tietojenkäsittely, päivä, syksy, 2021

Tavoitteet

Tavoitteena ottaa haltuun menetelmät pelituntuman/tunnelman ja ulkoasun kehittämiseen visuaalisten efektien avulla.

Sisältö

Varjostinohjelmointi ​
Tweenausmenetelmät​
Partikkelijärjestelmät ja niillä luotavat efektit​
Jälkikäsittelyefektit ​
Valaistus

Opetusmenetelmät

Hallitset renderöintiliukuhihnan toiminnan ja sen eri vaiheet
Hallitset renderöintiliukuhihnan ohjelmoinnin
Osaat hyödyntää ympäristöä ja valaistusta tehdäksesi jostakin efektistä vaikuttavamman pelaajalle
Osaat tehdä efektejä decaleja hyödyntäen
Osaat ohjelmoida tilakoneen, joka vaikuttaa actorin toimintaan
Osaat kiertää actoria ohjelmallisesti tiettyyn suuntaan
Osaat animoida actorin kierron ohjelmallisesti
Osaat tehdä actoreiden ominaisuudet helposti määritettäviksi editorista käsi
Osaat hyödyntää proseduraalisella mesh-komponenttia koodissasi
Osaat laskea dynaamisesti verteksien sijainnit pallopinnalle
Osaat laskea tasavälisen lieriöprojektiota vastaavat tekstuurikoordinaatit
Osaat luoda yhtenäisen pallomeshin kolmiopintojen ja tekstuurikoordinaattien avulla
Osaat tuottaa skyspherellä illuusion yhtenäisestä maailmasta
Osaat tehdä jatkuvasti toistettavan (alku- ja loppuruudut ovat samanlaiset) videotekstuurin Blenderillä ja kytkeä sen Unreal Enginen materiaaliin
Osaat ohjelmoida C++:lla Actorin, joka tuottaa dynaamisen tekstuurin
Osaat ohjelmoida koodin C++:lla, joka renderöi riveittäin muuttuvaa tekstimuotoista tietoa tekstuuriin
Osaat tehdä tekstin ominaisuuksista helposti editorista käsin muokattavaa
Osaat muokata 2D-kuvatietoa tekstuurissa varjostinohjelmilla / UE-materiaaleilla
Osaat tukea tai yksinkertaistaa varjostinohjelman toimintaa 3D-mallinnuksen avulla
Osaat modularisoida efektilogiikkaa materiaalifunktioihin,
Osaat hyödyntää materiaalifunktioita UE-materiaaleissasi
Osaat toteuttaa tilakoneen Actoriin
Osaat kytkeä efektin toiminnan tilakoneen tiloihin
Osaat hyödyntää trigonometrisia funktioita dynaamisesti laskettujen efektien luomisessa
Osaat toteuttaa heijastavan materiaalin UE4:llä
Osaat määrittää dynaamisesti muuttuvat ympäristökartat UE:ssä heijastaville materiaaleille
Osaat muokata materiaalin ominaisuuksia C++:lla
Osaat luoda partikkeliefektejä Cascade-järjestelmällä
Osaat koostaa useammasta partikkeliefektistä koostuvia efektejä
Osaat liittää materiaaleja partikkeleihin
Osaat animoida partikkelien ominaisuuksia Cascadella
Osaat sitoa partikkeliefektien alku- ja loppupisteitä actoreihin
Osaat toteuttaa satunnaisuutta partikkelien liikkeeseen
Osaat luoda partikkelinauhoja
Osaat toteuttaa jälkikäsittelymateriaaleja UE:ään
Osaat hyödyntää valmiita jälkikäsittelyefektejä UE:ssä
Osaat hyödyntää stencil-bufferia efektien luomisessa
Osaat hyödyntää syvyyspuskuria efektien luomisessa
Osaat toteuttaa reunantunnistuksen ja reunojen renderöinnin Actorin ympärille
Osaat rajata jälkikäsittelymateriaalissa käsiteltävät Actorit
Osaat luoda diegeettisiä käyttöliittymiä
Osaat luoda metakäyttöliittymiä
Osaat hyödyntää HUD-komponenttia
Osaat toteuttaa flipbook-animaation pelihahmon tekstuuriin
Osaat hallita flipbook-animaation toistamista blueprintistä
Osaat yhdistää samassa materiaalissa kaksi tekstuuria järkevästi
Osaat hyödyntää HUD-komponenttia 2D-tekstuurien ja tekstuureiden piirtämisessä
Osaat projisoida 3D-sijainnit 2D-tasoon ohjelmallisesti
Osaat muuntaa sijaintiarvot suhteelliselle arvovälille
Osaat muuntaa suhteelliset arvot halutulle arvovälille
Osaat toteuttaa logiikan joka korostaa piirrettäviä objekteja eri värein HUD-komponentissa

Tenttien ajankohdat ja uusintamahdollisuudet

Toteutuksessa ei ole tenttiä, vaan suoritus tapahtuu oppimistehtävien avulla. Toteutukseen liittyy kaksi uusintakertaa, jotka järjestetään varsinaisen suorituksen jälkeen. Uusintoihin on ilmoitttauduttava erikseen työtilassa määrätyllä tavalla.

Opiskelijan ajankäyttö ja kuormitus

Kokonaisajankäyttö 133h

Arviointiasteikko

H-5

Arviointimenetelmät ja arvioinnin perusteet

Suoritusten arviointi tapahtuu oppimistehtäviestä saatavien pisteiden perusteella. Oppimistehtävän pisteet muodostuvat osaamisen esittelyn perusteella, ja ne arvioidaan kumulatiivisesti Bloomin taksonomian perusteella, jolloin aiempien tasojen on täytyttävä ennen kuin seuraaviin voi päästä.

Yksittäiseen oppimistehtävään liittyvä osaamisen esittely on julkaistava sille määritellylle Moodle-työtilan keskustelualueelle joko
a) videolla, jossa käytät ääntäsi TAI
b) opinnäytetyöohjeen mukaisesti muotoiltuna ja viitattuna PDF-tekstidokumenttina, johon on upotettu kuvakaappauksia.

Lopullinen arvosana = oppimistehtävistä saadut pisteet / maksimipisteet * 5.

Hylätty (0)

Perustaso ei täyty.

Arviointikriteerit, tyydyttävä (1-2)

Perustaso: (1)

Osoita, että tiedät ja ymmärrät miten oppimistavoitteissa mainitut asiat toimivat.

Arviointikriteerit, hyvä (3-4)

Edistynyt taso: (3)

Osoita, että osaat soveltaa oppimistavoitteissa mainittuja asioita yhdessä tai useammassa eri tapauksessa kuin mitä moodle-työtilassa julkaistuissa materiaaleissa on esitetty.

Arviointikriteerit, kiitettävä (5)

Tavoiteltava taso: (5)

Osoita, että osaat luoda yhden tai useamman täysin uuden ratkaisun oppimistavoitteissa mainittujen asioiden avulla tai soveltaa niitä yhdessä tai useammassa täysin erilaisessa tilanteessa moodle-työtilassa julkaistuihin materiaaleihin nähden.

Osoita, että osaat arvioida ja perustella miksi mitäkin voi ja kannattaa soveltaa tekemälläsi tavalla uusissa tilanteissa.

Esitietovaatimukset

Syventävä pelikehitys
C++-ohjelmointi
Matematiikkaa ohjelmoijille

Tai vastaavat tiedot ja taidot.