Unity用GL接口实现画格子
生活随笔
收集整理的這篇文章主要介紹了
Unity用GL接口实现画格子
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
玩過(guò)COC的知道,地表上有格子顯示。以下是用GL的畫(huà)線(xiàn)接口實(shí)現(xiàn)。
效果如下
shder代碼參考我另篇文章?Unity用GL接口實(shí)現(xiàn)畫(huà)圓
以下c#代碼。提醒下,調(diào)用腳本依然是掛在相機(jī)上。
using System.Collections; using System.Collections.Generic; using UnityEngine;class GL_Grid {Vector3 center;Color color;float cellSize;int gridSize;float size;Vector3 deltaZ, deltaX;Vector3 dirZ, dirX, orgDir;public void Init(Vector3 center, float cellSize, int gridSize, Color color){this.center = center;this.cellSize = cellSize;this.gridSize = gridSize;this.color = color;size = cellSize * gridSize;float halfSize = size * 0.5f;deltaZ = Vector3.right * cellSize;deltaX = Vector3.forward * cellSize;dirZ = center;dirZ.z -= halfSize;dirZ.x -= halfSize;dirX = dirZ;orgDir = dirZ;}public void RenderLines(){GL.Begin(GL.LINES);GL.Color(color);dirZ = orgDir;dirX = orgDir;for (int i = 0; i <= gridSize; i++){GL.Vertex(dirZ);GL.Vertex(dirZ + Vector3.forward * size);dirZ += deltaZ;GL.Vertex(dirX);GL.Vertex(dirX + Vector3.right * size);dirX += deltaX;}GL.End();}}?
總結(jié)
以上是生活随笔為你收集整理的Unity用GL接口实现画格子的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 聊聊HTTPS环境DNS优化:美图App
- 下一篇: 悟空问答将停止运营