Ano ang normal mapping?
Sa 3D computer graphics, hindi lahat ng detalye ng 3D model ay kailangang i-model o i-sculpt sa geometry ng object, salamat sa normal mapping. Ginagamit ang technique na ito para gumawa ng mga illusory na detalye ng surface para pagandahin ang pagkamakatotohanan ng mga digital na object nang hindi dinadagdagan ang geometric complexity.
Pag-unawa sa proseso ng normal mapping.
Sa 3D modeling, kinakatawan ang mga surface ng mga polygon. Ginagawa ang mga kalkulasyon ng lighting batay sa geometry ng mga polygon na ito sa parehong paraan na gagamit ang isang artist ng mga technique sa pag-shade para gayahin ang tatlong dimension. Gumagana nang husto ang pamamaraang ito; gayunpaman, pwedeng maging mabusisi ang computation, na maglilimita sa pangkalahatang antas ng detalye na posible. Nagbibigay ang normal mapping ng mahusay at lightweight na solusyon sa pamamagitan ng pagbabago sa paraan ng pag-i-interact ng liwanag sa isang surface nang hindi binabago ang batayang geometry.
Nagso-store ang mga normal map ng impormasyon tungkol sa isang surface sa anyo ng isang texture image. Sa pamamagitan ng pag-encode ng normal ng surface sa isang texture, magagaya ng mga normal map ang hitsura ng detalye ng surface, gaya ng mga umbok, gasgas, lukot, at marami pa, nang hindi nagdaragdag ng complexity sa geometry sa ibaba.
Kinakalkula ang mga normal map habang nagre-render gamit ang binagong normal ng surface mula sa normal map. Dahil hindi gaanong mabusisi ang computation ng mga kalkulasyong ito, pwedeng makamit ang matataas na antas ng detalye, kahit nang real-time, kaya popular na technique ang mga normal map na ginagamit ng mga developer ng video game.
Saan natin nakikita ang normal mapping ngayon.
Sa pangkalahatan, isang versatile na technique ang normal mapping, at dapat itong gamitin ng sinumang 3D artist at designer para pabilisin at pahusayin ang kanyang workflow.
Makikita mong ginagamit ang normal mapping hindi lang sa mga sitwasyon kung kailan napakahalaga ng mga limitasyon ng hardware gaya ng mga video game, na nangangailangang i-render ang mga scene nang real-time para sa naglalaro, kundi pati sa mga computer-animated na pelikula, architectural visualization, at design ng produkto.
Hindi nakakaapekto ang normal mapping sa pagkukulay ng isang object, kaya makikita mo itong pinakamadalas na ginagamit sa mga sitwasyon kung saan hindi ganap na flat o makinis ang surface ng object. Para maging patas, nangangahulugan ito na pwedeng gumamit ang halos lahat ng 3D model ng normal map para pagtibayin ang pagkamakatotohanan nito, mula sa lumang leather, mga bako-bakong wood grain, balat ng tao, tela, at iba pa.
May ilang mahahalagang tool at software na karaniwang ginagamit para sa normal mapping. Narito ang ilan sa mga ito:
1. 3D modeling software: Ginagamit ang mga tool gaya ng Blender, Maya, ZBrush, at {{substance-3d-modeler}} para gawin ang mga model na gagamitin para sa normal mapping. Maraming mahuhusay na software solution na lahat ay naghahatid ng mga sariling pamamaraan ng mga ito sa pag-model at pag-sculpt.
2. Texture painting software: Magagamit ang software gaya ng {{substance-3d-painter}} o maging Adobe Photoshop para gumawa at mag-edit ng mga texture map, kabilang ang mga normal map.
3. Mga normal map generator: Nakakatulong ang mga normal map generation software na gumawa ng mga normal map mula sa high-resolution na geometry o impormasyon ng texture. Nakakapag-generate ang mga tool gaya ng xNormal, CrazyBump, o Substance 3D Designer ng mga normal map batay sa iba't ibang input.
4. Mga Engine ng Laro: Ang mga engine ng laro gaya ng Unreal Engine at Unity ay may built-in na suporta para sa normal mapping. Nagbibigay ang mga engine na ito ng mga kinakailangang tool at kakayahan sa pag-render para masulit ang mga normal map. Mahusay rin ang mga ito para sa paggawa ng mga render habang gumagawa ang mga ito ng mga gaming experience.
5. Mga shader programming language: Ang pag-unawa sa mga shader programming language gaya ng HLSL (High-Level Shading Language) o GLSL (OpenGL Shading Language) ay makakatulong sa paggawa ng mga custom na shader na sumusulit sa normal mapping. Nagbibigay-daan ang mga language na ito sa mga developer na tukuyin kung paano nag-i-interact ang lighting sa normal at iba pang texture map para makamit ang mga kamangha-manghang visual effect.
Hindi man kumpleto ang listahang ito pero nagbibigay ito sa mga creator ng magandang pagsisimulan sa pagbuo ng pundasyong pag-unawa sa normal mapping at kung paano ipapatupad ang mga ito sa mga real-time na rendering environment.
Mga Image ng Playground Games.
Paano naiiba ang mga normal map sa bump map.
Nagso-store ang mga normal map ng malinaw na impormasyon ng normal ng surface gamit ang mga RGB na image kung saan kinakatawan ng bawat channel ng kulay ang mga X, Y, at Z na component ng normal vector ng surface sa bawat texel. Mas maraming impormasyon ang naipapakita ng mga normal map tungkol sa oryentasyon ng isang surface. Hindi nakakaapekto ang mga normal map sa geometry ng mismong model, pero binabago pa rin ng mga ito kung paano nag-i-interact ang liwanag sa paligid nito.
Kumpara sa mga bump map, nagbibigay ang mga normal map ng mga pinakatumpak na resulta, na nagpapakita ng mga detalye ng surface na higit pa sa mga variation lang ng taas.
Mga bentahe at disbentahe ng normal mapping.
1. Mga makatotohanang detalye ng surface: Nagbibigay-daan ang normal mapping sa pagdaragdag ng mga kumplikadong detalye ng surface nang hindi pinapataas ang complexity ng geometry.
2. Kahusayan: Ang normal mapping ay isang technique na mahusay sa computation, lalo na kung ikukumpara sa pagdaragdag ng bilang ng mga polygon ng mga model para makamit ang detalye ng surface.
3. Pagbaba ng kinakailangang memory: Nagso-store ang mga normal map ng impormasyon sa isang texture format, na karaniwang gumagamit ng mas mababang memory kumpara sa pag-store ng impormasyon ng geometry.
4. Reusability: Ang mga normal map ay madaling nailalagay sa iba't ibang model, na nagbibigay-daan sa mga artist at developer na gamitin ulit ang mga ito sa maraming asset. Nakakatipid ito ng oras, pagod, at pinal na sukat ng isang produkto.
5. Mga interactive na lighting effect: Pinapahusay ng normal mapping ang interaction ng liwanag sa isang model, na nagbibigay-daan sa mga dynamic na 3D lighting effect, gaya ng mga specular highlight, shading variation, at mas tumpak na reflection.
1. Limitadong pagbabago ng geometry: Naaapektuhan lang ng mga normal map ang hitsura ng mga detalye ng surface at hindi mababago ng mga ito ang geometry. Madalas na nakakatulong ang ilusyong ginagawa ng mga ito, bagama't kung minsan ay posibleng kinakailangan ng iba pang technique kapag kailangan ng aktwal na pagbabago ng geometry.
2. Paggawa at pag-edit: Ang paggawa ng mga de-kalidad na normal map ay posibleng mahirap at mangailangan ng specialized na kaalaman at software. Posibleng mahirap ang pag-edit ng mga normal map dahil sa kumplikadong katangian ng data.
3. Mga limitasyon sa texture space: Nangangailangan ang mga normal map ng karagdagang texture space dahil karaniwang sino-store ang mga ito bilang mga RGB na image. Pwede itong makaapekto sa pangkalahatang paggamit ng memory at posibleng mangailangan ng maingat na pag-optimize sa ilang sitwasyon.
4. Mga limitasyon sa tangent space: Karaniwang tinutukoy ang mga normal map sa tangent space, ibig sabihin, umaasa ang mga ito sa oryentasyon at mga coordinate ng UV ng isang model. Kung minsan ay pwede itong magdulot ng mga visual na artifact kapag inilalagay ang parehong normal map sa mga model na may ibang mga UV layout o oryentasyon.
Sa kabila ng ilang limitasyon, mga normal map ang pinakaepektibong technique para sa pagpapaganda ng visual na kalidad at pagkamakatotohanan ng mga 3D model nang real-time. Nagbibigay ang normal mapping ng mainam na balanse sa pagitan ng performance at visual fidelity, kaya isa itong hindi matutumbasang tool sa 3D texturing at rendering.
Alamin kung kailan gagamitin ang normal mapping.
Alamin pa ang tungkol sa normal mapping.
Mga Madalas Itanong
ANO ANG NORMAL MAP SA DESIGN NG LARO?
ILANG CHANNEL ANG NASA ISANG NORMAL MAP?
Ginagawa ang normal gamit ang isang RGB (red, green, at blue) na image, kung saan kinakatawan ng bawat channel ng kulay ang X, Y, at Z na component ng normal ng surface sa bawat texel ng map. Ibig sabihin nito, may tatlong channel ang isang normal map, at ang bawat isa ay may mga positibo o negatibong value.
- Tumutugma ang red na channel (R) sa X na component ng normal vector ng surface.
- Kinakatawan ng green na channel (G) ang Y na component ng normal vector ng surface.
- Kinakatawan ng blue na channel (B) ang Z na component ng normal vector ng surface.
Magkasamang ginagamit ang lahat ng tatlong channel para magbigay ng malinaw na data ng oryentasyon para sa bawat texel, na ginagamit habang nagre-render para pagandahin ang mga lighting at shading effect sa 3D model.
BAKIT ITO TINATAWAG NA NORMAL MAP?
Sa computer graphics, tumutukoy ang “normal” sa isang vector na perpendicular (o “normal”) sa isang surface sa isang partikular na punto. Kaya naman, tinatawag natin ang mga normal map na “mga normal map” dahil nagso-store ang mga ito ng impormasyon tungkol sa mga normal ng surface ng isang 3D model.
Sa pamamagitan ng paglalagay ng normal map habang nagre-render, nababago ang mga normal ng surface ng 3D model batay sa impormasyong naka-store sa map, na nagreresulta sa mga lighting at shading effect na gumagawa ng ilusyon ng mga kumplikadong detalye ng surface.