En löydä toimivaa unwrap funktiota unitylle, enkä oikein tiedä miten tämä tehdään. Minulla on kaksiulotteisesta kuviosta tehty kolmiulotteinen versio, jokainen sivun palanen, kansi ja pohja ovat tiedossa. Miten teen uv kartan yhdelle tekstuurille?
Esimerkki kuviosta: Koodille annetaan neljä kaksiulotteista pistettä joiden etäisyys toisistaan on sama kuin korkeus. Tuloksena on kuutio.
Täältä näkyi löytyvän aika kattava vastaus.
Se voi olla kuutio mutta korkeus ja muoto voi vaihdella. Esimerkiksi jos se olisi T:n muotoinen, miten se pitäisi kartoittaa samalla koodilla kuin jos se olisi kuutio?
Kysymyksesi on hieman omituinen. Voithan tehdä juuri sellaisen UV-kartan, kuin itse haluat. Onko siis UV-kartan suhteen joitain erityisiä vaatimuksia tai rajoituksia?
Yksi tapa tuollaisen kuvion levittämiseen on, että ympäri menevä sivusuikale on yhtenä palana keskellä tekstuuria ja etuseinä ja takaseinä sen vieressä. Toinen tapa on laittaa sivusuikale kahteen osaan.
Kuutio:
1) 4×3 .Y.. | yläosa SSSS | sivut .A.. | alaosa 2) 3×4 .Y. | yläosa .SS | etupuolen sivut .A. | alaosa SS. | takapuolen sivut
T-pala:
1) 12×7 .Y.......... .Y.......... YYY......... SSSSSSSSSSSS | sivut T:n ympäri asti AAA......... .A.......... .A.......... 2) 7×8 ...Y... ...Y... ..YYY.. SSSSSSS | sivut T:n yläviivan osalta, 7 neliötä ..AAA.. ...A... ...A... .SSSSS. | sivut T:n varren osalta, 5 neliötä
Metabolix kirjoitti:
Onko siis UV-kartan suhteen joitain erityisiä vaatimuksia tai rajoituksia?
Haluan että tekstuuri on saman kokoinen suhteessa maailmaan niin että mallin koko ei vaikuta siihen.
Lisään pisteitä niin että voin asettaa UV:t ilman että haluttu koko ylittyy. Vai onko jokin muu tapa?
TVdata kirjoitti:
Lisään pisteitä niin että voin asettaa UV:t ilman että haluttu koko ylittyy.
En ymmärrä, mitä tarkoitat. Jos nyt pelkäät koordinaattien menemistä alle nollan tai yli ykkösen, oikea ratkaisu on asettaa tekstuuri toistuvaksi (Unityn dokumentaation mukaan TextureWrapMode.Repeat).
Ups. Tuo auttaa. Olen missanut juttuja dokumentaatiossa välillä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.