pateikė Emi
Kartais, kai import modelį į 3DCoat, normal map peržiūros srities atvaizdavimo priemonėje rodomas netinkamai. Bet tai prasideda nuo to, kaip eksportuojate savo modelį bet kurioje kitoje programinėje įrangoje.
Įprastas žemėlapis gali šiek tiek išspręsti šešėlio problemas, susijusias su tuo, kaip įprastus žemėlapius nuskaito programinė įranga, ir dėl to problema gali būti šiek tiek mažiau pastebima, tačiau problema vis tiek išlieka. Turite laikytis tam tikrų taisyklių, kurios padėtų išspręsti tikrąją problemą, kad palengvintumėte darbą ir gyvenimą, kepant geresnius įprastus žemėlapius.
Netaikant šių taisyklių, dažniausiai dauguma normalių dalykų buvo vidutiniški, o kai kurie – sunkūs, o tai buvo keista. Tačiau tai neabejotinai yra pagrindinė problemų priežastis – kaip vyksta modelio išlyginimo grupių eksportavimas ir kaip jos nuskaitomos kitoje programinėje įrangoje.
Pirma, dėžutės negali būti minkštų kraštų ar vidutinių, jos yra 90° kampu ir, kad ir ką darytumėte, jos visada turės šią apšvietimo problemą, jei jos nenustatytos į kietus kraštus. Anksčiau, kol atrodė, kad sudėtingesnės kepimo programos, tokios kaip „Marmoset“, palengvindavo kepimo procesą, visada reikėdavo gaminti narvą, o narvelis būdavo tas, kurio viršūnių normaliosios vertės būdavo vidutinės, taigi narvas būdavo naudojamas vidurkiui gaminti. didelio polinkio paieška, nesukeliant klaidų kepant, nes dėžutė primintų kietus kraštus. Žinoma, dabar Marmoset turi žymimąjį langelį „smooth cage“, kuris daro tą patį, ir dabar jums nereikia narvelio, nebent jums tikrai reikia narvelio.
Taigi čia yra dvi „taisyklės“, kurios taip pat yra susietos:
1. kai darote modelius su 90° kampais, jie visada turi būti kieti. Žinoma, taip pat galite šiek tiek pasvirinti ir išvengti 90° kampų kraštų. Tai ne tik tiksliai atitiks didelės raiškos modelio formą, bet ir galėsite naudoti minkštus dėžutės kraštus, kad ji atrodytų gražiau ir su mažiau problemų, suapvalinta, gražesnė ir visa kita.
2. Kietieji kraštai (kurie turėtų būti 90° kampai) visada turi būti padalyti ant UV , kad taip pat nekiltų problemų. Galbūt to tikrai nepastebėsite savo modelyje, bet jis yra ir tai susiję su tuo, kaip pikseliai susilieja 90° kampu ir kaip pikseliai gali susimaišyti, ir jie tiesiog skiriasi, todėl nėra pakankamai vietos, kaip paminkštinimui, kad būtų išspręstos nedidelės galimos problemos. Taip, tai priklauso nuo skiriamosios gebos ir UVs spindulių ir viso to ir dėl ko jis gali būti labiau pastebimas nei kiti, bet taip, tokiu atveju, kai darai dėžutes, tektų padalinti visus tuos 90° kraštus, ir taip, tai reiškia, kad 6 dėžutės šonai = 6 salos, kad būtų išvengta problemų.
Kalbame apie 3DCoat ir kaip jis veikia su išankstiniais nustatymais ir visa kita. Suprantu, kad naudodami išankstinius nustatymus, pvz., „Blender “ arba „Unity“, jūs iš tikrųjų naudojate iš anksto nustatytą failą, ne tik kaip jis apdoros įprastą žemėlapį, bet ir bus apverstas žaliai arba ne. Bet taip pat Tangent Space, trianguliacija ir tai, kaip ji eksportuoja normalius parametrus ir kai kurias kitas parinktis. Jei naudosite parinktį Nežinoma, galėsite naudoti pasirinktus, kuriuos nustatėte.
Jei eisite į C:Program Files 3DCoat-VXXXToolsPresetsExtTools, pamatysite XML failus ir kaip Unity skiriasi nuo Blender, nes Blender išankstinis nustatymas naudoja MikkTSpace, o unity nustatyta į LengyelAreaAngleWeightedSpace. Tai vienintelis skirtumas. bet matyt pakankamai, kad pamatytum, nes jie interpretuojami skirtingai. Techniškai jie neturėtų turėti įtakos daug kam, o tik tai, kaip jis skaito normal map , jei jis yra „DirectX“ arba „OpenGL“, tačiau šešėliavimo problemos šaknys yra ne apie normal map, o apie modelį ir tai padarys. visada būk modeliu.
Neskaitant UVs taisyklių, problemų, kurias ji sukelia, yra minimalios, jei tai žinote, tada jūs pasirenkate sutaupyti šiek tiek UV vietos ir nepaisyti kraštų bei problemos, kuri gali kilti, o ne tai padaryti teisingai, nes tektų priartėti per arti. pastebėti problemas. kartais yra didelis tarpas tarp kraštų, man taip nutiko.
Jei negalite turėti langelių kaip vidutinių viršūnių normalių arba minkštų, jie turi atrodyti kaip dėžės su kietomis briaunomis, nes jų kraštai yra 90° kampu. Jei norite naudoti minkštus kraštus, turite sukurti nuožulnų kampą.
Bokseriai turi būti 100% kietų kraštų, cilindrų viršus ir apačia kieti, o šonai – minkšti.
Mažo polietileno modeliams siūlau gaminti nuožulnius kampus, nes tik nedidelis kampelis daugeliu atvejų turės didelį skirtumą, ypač šiandien, kai nėra jokio pasiteisinimo turėti dėžutę be kampo.
3DCoat išankstiniai nustatymai yra tik nedideli variantai, kuriuos netgi galite pasirinkti rankiniu būdu naudodami nežinomą, jums nereikia išankstinių nustatymų, jie tik padeda 3DCoat interpretuoti normal map ir modelį, bet aš niekada nepasitikiu išankstiniais nustatymais, nes, kaip sakote, Unity išankstinis nustatymas turėtų nustatyti į MikkTSpace. Bet aš noriu pasakyti, kad tai ne tik OpenGL ir DirectX normal map.
Taigi, kai naudoju 3DCoat , kuris paprastai yra skirtas dažymui, viskas veikia gerai, bet taip yra todėl, kad aš įsitikinu, kad viskas mano žemoje polietilenoje taip pat yra gerai, turiu galvoje, kad sukurčiau gerus įprastus žemėlapius ir kad jie veiktų visur, kur reikia gero žemo lygio. polius, kuris gali sugauti bet kokias aukštas polietileno detales. Nėra jokios magijos, ji tiesiog veikia, nes aš viską užtikrinu, pavyzdžiui, išlyginamąsias grupes, UVs ir visa kita.
Turiu omenyje tai, kad modelis su 90° kraštais turėtų būti automatiškai nustatytas į kietą kraštą, kitaip nėra ir viskas. nesvarbu, ar kubas turi 6 puses, kaip šiuo atveju, ar 1000 padalinių Plotis, Aukštis ir Gylis. Jei nenustatote dėžutės 90° kampo kaip kieto krašto, jis visada turės keistą atspalvį tuose kraštuose, kurie yra 90°, bet yra nustatyti į minkštą ar bet ką.
Jei taikote vieną išlyginimo grupę visam objektų rinkiniui… tai negerai, nes negalite padaryti minkštų dėžių kraštų, ypač jei jie yra tik kubeliai su 6 paviršiais.
Jūs negalite nieko panašaus „išlyginti“, ypač jei turite paprastą 6 daugiakampių dėžutę, jei norite naudoti dėžutę, nustatykite visas puses į „Hard Edges“. Arba vienintelis būdas yra pridėti nuožulnų kampą aplink kraštus, kad 90° kampas būtų atšiaurus, ir tada nustatyti, kad jis būtų minkštas. normal map Baking siekiant paslėpti problemą nėra sprendimas, jis gali atrodyti šiek tiek geriau, tačiau modelyje vis tiek yra šešėlio klaida. Netgi cilindrų šonuose turi būti minkšti kraštai, o viršutiniai ir apatiniai jų kraštai turi būti nustatyti į kietus kraštus, nebent pridėsite nuožulnų kampą.
Taigi kyla klausimas: ar vis tiek norite viską išlaikyti kaip vieną išlyginimo grupę? nebent tinkamai dirbsite su juo ir nenustatysite dalykų, kurie turėtų būti kieti, o minkšti – minkšti, arba pridėsite nuožulnų kampą ant kiekvieno 90° kampo, niekas neišspręs jūsų problemos, o jūs turite tiesiog paslėpti problemą naudodami normal map ir apsimesti, kad problemų nėra. egzistuoja.
Tikiuosi, kad padoriai paaiškinau, kokios čia problemos, todėl tai gali padėti jums ateities normal map .
Sėkmės ir geros dienos!