2014-11-17 5 views
0

임 Unity 또는 C# 또는 GUI에 연결되었지만 간단한 6 각형 그리드를 만들기 위해 상당히 새로 워진이 튜토리얼은 http://forum.unity3d.com/threads/procedural-hexagon-terrain-tutorial.233296/이고 멋진 덩어리를 만들었습니다. 이제 문제는 각 칸에 경계선을 만들고 싶습니다. 나는 ToonShader를 사용하려했지만 그러한 구조에서는 작동하지 않는 것 같습니다. 나는 또한 모든 헥스에 LineRenderer를 만들려고 노력했다. 가장자리의 좌표를 포함하고 있었지만 일부 숨어서 각 헥스마다 6 개의 LineRenderers를 사용해야한다는 것을 깨달았다. 여기 내 질문이 온다, 너무 많은 LineRenderers를 사용하여 어떤 의미가 있습니까? 거기에 더 이상 convinient (나는 거기) 또는 이것을 할 수있는 더 예뻐요 방법이 있습니까? 미리 감사드립니다. Unity3D C# : 육각형의 테두리 그리기

+0

타일 그래픽에 윤곽을 그립니다. – LearnCocos2D

답변

0

LineRenderer는 둘 이상의 행을 지원하므로 :) 한 행당 하나의 LineRenderer 만 있으면됩니다. 당신은 이것을 할 수 있습니다 :

LineRenderer lineRenderer = ... ; // Add or get LineRenderer component to game object 
lineRenderer.SetVertexCount(7); // 6+1 since vertex 6 has to connect to vertex 1 
for (int i = 0; i < 7; i++) { 
    Vector3 pos = ... ; // Positions of hex vertices 
    lineRenderer.SetPosition(i, pos); 
} 

당신은 얼마나 많은 타일을 가지고 있느냐에 따라 효율성이 떨어질 수도 있지만. 너무 많지만 많지 않은 경우 모든 타일에 대해 단일 LineRenderer를 만들 수 있습니다. 그리고 실제로 많이 가지고 있다면, 맵을 X x Y 타일을 포함하는 영역으로 세분화하고 영역마다 하나의 LineRenderer를 생성하십시오. 또한이 방법을 사용하면 인접한 헥스가 선을 공유 할 수 있습니다.

0

$ 20 정도를 쓰지 않는다면, Vectrosity은 선을 그릴 수있는 멋진 유니티 플러그인입니다. 노드간에 꼭짓점을 그리기 위해 Unity와 함께 만든 그래프 그리기 응용 프로그램에서 사용했습니다.

관련 문제