Unity3d – pikaopas (in Finnish)

Colliderien optimointi

  • Poista turhat mesh colliderit scenestä.
  • Kevyin collider-tyyppi on sphere, koska niiden törmäystestaus onnistuu puhtaasti etäisyyksiä mittaamalla.

Materiaalit ja tekstuurit

  • Tekstuurit näyttävät röpöisiltä? Valitse asseteista kuva ja vaihda tyypiksi texturen sijaan “GUI” tai “Advanced” ja ota Mip mapit pois.
  • Pinta, jossa näyttää olevan muotoja: Materiaaliksi bumped. Tee normal map harmaakuvasta, jossa kirkkaat alueet ovat kohollaan ja tummat uponneita. Valitse tyypiksi Normal map. Unity osaa tehdä harmaakuvista normal mappeja suoraan.

Kehitys

  • Testaa uusia peliobjekteja erillisessä hiekkalaatikko-scenessä, jossa pidät kaikkia lelujasi.
  • Opettele ajattelemaan layereissä: Minimap ja esim. efektit, jotka näkyvät vain joillekin pelaajille. Kts. Alien vs. predatorin tutka ja erilaiset view modet.
  • Jos haluat tehdä 2D-pelin: valitse objektien rigidbody -> constraints -> liikkuminen z-akselilla ja pyöriminen x- ja y-akselilla estetty. Laita objektit samaan tasoon. Käytä y-akselia ylös-alas -akselina niin 3D- kuin 2D-peleissä.

Teksti ja graafinen käyttöliittymä

  • 3D Text / Text mesh – näyttääkö röpöiseltä? Vaihda inspectorista fonttikokoa isommaksi ja skaalaa kappaletta pienemmäksi. Näin saat tekstistä tarkempaa.
  • Renderöityykö 3D Text objektien päälle, vaikka et haluaisi? Vaihda Text Meshin shaderiksi tämä – (se käyttää z bufferia).

Mobiili

  • Tarkkaile statseja ja varmista, että piirtokutsujen (draw call) määrä on alle 50
  • Käytä unlit shaderia ja poista ylimääräiset valot scenestä mobiilibuildeihin, mikäli peli vaikuttaa raskaalta.

Skriptaus

  • Pyri tekemään skriptoista mm. julkisilla parametreillä ja polymorfismilla mahdollisimman yleiskäyttöisiä.
  • Update – käyttöliittymän piirtämiseen liittyvät toiminnot
  • Fixedupdate – Pelilogiikka ja fysiikka tänne – kaikki mikä tapahtuu tasaisin välein.
  • Klikattavat objektit ja trigger colliderit kuuntelevat mm. näitä funktioita: OnMouseOver, OnMouseDown, OnMouseUp, OnTriggerEnter, OnTriggerStay, OnTriggerExit

Ongelmat

  • Jos fontteja ei pysty lukemaan niitä ladatessa projektiin, olet luultavasti laittanut ääkkösiä (tai muita erikoismerkkejä – duh) hakemistopolkuun.