|
????
HexMap????(?)——???????
HexMap????(?)——???????
HexMap????(?)——?????????
HexMap????(?)——????
HexMap????(?)——?????
HexMap????(?)——??
HexMap????(?)——??
HexMap????(?)——??
HexMap????(?)——????
HexMap????(?)——??
HexMap????(??)——????????
??
??????????????????,??????????????,?????????????????????????????????????????????????????????
????Meta42?300?????Minecraft(????)?????
???????Hex Map 4
??HexMap??????,???????????????????,??????????????????????????????
????????
1.??
??????????????????????????????????????????????????????????????????????????????????????
?????Perlin noise??????????????????????????????????????????????????????????????????????????????,????????????????????????
????????????Noise??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
1.1??????
????????????,????????Noise?????????????????????????
???????????
????????????????????????????????????0.5?????0?1?
????????????????????????????????????3D????????????????????????????????????????
?????????????????????RGB????????????????????????????????????????
????????
???????????
?NumberFlow?????????(?:??????)?Unity?????????(?:??????????????????)
????????????Unity?????,????????????????,?????????????Read/Write Enable,????????????????????C#?????????sRGB(Color Texture)??,???????Automatic?????????null?????????????????????????Generate Mip Maps?????,?????????
???????
????sRGB??????
????????????????????,????????????????????????????????????????????????????????????????????????????Unity?????????????
1.2????
?HexMetrics?????????,???????????,????HexMetrics???????????
?????????,???????????????????HexGrid????????HexGrid???????,?????Awake??????????????
???????????????????????????????Unity????????????????OnEnable?????????,??????????????
??HexMetrics????????,????????????????????????????????????4D???
?????????:?????????????????????????????????????????????????????X?Z?????UV?????????3D?????????Y????
???????????4D???????????????????????????????????????Vector4?
????????????
????Rendering 2,Shader Fundamentals??????????UV????????
2.????
?????????????????????,??????Peturb???HexMesh??????????????????????????????????????????
??????????X?Y?Z??????????????
???????HexMesh??????????????AddTriangle?AddQuad????????????????????
?????????????
????????????????????????????????????????????????????????????????????????????????????????????????????
????????
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????-1?1???
????????
2.1????
????????????,??????????????????????1??????????????????????????????????????????????10????????????
??????HexMetrics?????????,????????????????????5?????????????????????????????????
?HexMesh.Perturb???????????????
????
2.2??????
??????????,????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????????????????????????
10?10??????????????????????
??????????????????????????????HexMetrics????????????0.003????????????????
????????????????????????????????
???????
?????????????????????????????????????????????X???????????????????????????????????????????????????20??????????????????????????????
3.???????
????????????????????????,?????????????????????????????????????????????????????????????????????????????????
1\
????????
?????????????????????????HexMesh.Perturb????Y????
?????
?????????????????????????????????????????????????????????????????????XZ??????
????????????????????????????????????????????????????????????????????
3.1????????????
??????????????????????,????????????????????????????????????????????????????????????HexMetrics??????????1.5??????????????????????????
??HexCell.Elevation?set??,????????????
????????????????HexGrid.CreateCell??????????????????????????UI??????????
????????????????
3.2??????
??????????,???????????????????????????????HexCell?????????,????????????
????HexMesh.Triangulate???????????????????
??????????????????TriangulateConnection????????
??????????
4.???????
??????????????,?????????????????????????????????
???????????
??????????????????????????????????????????????????????????????????HexMesh.Triangulate????????????????
????????????
???????????????????????????????????????
????
4.1????????
??,?????????,???????????TriangulateConnection??
?TriangulateConnection????????,??????????
??????????????????????????????????????
????????????????????????????????????
?????
4.2??????
??????????????????,????????????????,???????????????????????????EdgeVertices???????????????????????
????????
?????????????????????????????????????????
?????????????????????????
???????????????HexMesh?????????????????????????
?????????????????????????
????????Triangulate???
??????TriangulateConnection???TriangulateEdgestrip?????????????????????????v1?????????e1.v1????????v2??e1.v4?v3???e2.v1,v4???e2.v4?
4.3????
????????????,??????????TriangulateEdgeTerraces??
?????TriangulateEdgeTerraces??????????????????????????????EdgeVertices?????????????,?????????TriangulateEdgeTerraces?????????????
EdgeVertices???????????????????????????
???????
5.??????????
??????????????????????????,????????????????-??-???CSS????-??-??(SCS)????
??????????????:????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????AddTriangle???
????TriangulateBoundaryTriangle????????????????????????????????
??????????????v2??????,????????????????????????????????????????
?????????
????????????????TriangulateCornerTerracesCliff????????????????????????????????????????????????????????????????????????????
??TriangulateCornerCliffTerraces?????????
??????
5.1???????????????
???????????????????????
????????????????
???????????TriangulateCornerTerracessCliff??????else?,?????????????????
TriangulateCornerCliffTerraces?????
??????????
6.????
??????????????????,???????????????????,?????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???????????
???????????5??????
???????????0?5???
??????4??????????????????????XZ?????????32?5.66?
???4????
??????????????????????????????????????????????????????????????????????????????
???????????0.75?0.95
??????????????0.8????????????
?????????0.8
??????????????????????????????????????????????????????????????3?
??????????3
???????????????????1.5,???????????????????
?????????????????????7?????,?????????????
????????????
????:Hex Map 5
??????tank1018702/Hex-Map-Learning
??????????????????http://levelpp.com/?
?????
????https://zhuanlan.zhihu.com/p/55518523
|
|