Unity用GL接口实现画格子
玩过COC的知道,地表上有格子显示。以下是用GL的画线接口实现。
效果如下
shder代码参考我另篇文章 Unity用GL接口实现画圆
以下c#代码。提醒下,调用脚本依然是挂在相机上。
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();}}
Unity用GL接口实现画格子相关推荐
- CSS重复线性渐变之画格子
正式开始文章前,先看图,看到以下图片你会想到什么呢?是不是程序员的标配来了,格子衫.没错,今天的内容就是用CSS画格子. 前言 看到上面各种各样的格子,你会用什么方式实现呢?由于格子的大小间隙及方向多 ...
- Unity实用案例之——屏幕画线和线框渲染
游戏里经常会遇到各种画线的需求,今天我们利用GL来实现其中的两个画线功能. 一.屏幕画线 屏幕画线是一种很好的用户交互方式,通过屏幕画线可以控制游戏中的各种元素,Unity提供了UnityEnige. ...
- Unity调用安卓接口——实现复制粘贴功能
一.知识点学习 Unity 项目中一些需要访问安卓操作系统的功能,比如获取电量,wifi 状态等,需要 Unity 启动安卓系统的 BroadcastReceiver 监听状态,并在状态更新后通知到 ...
- Unity | 连线题_画直线的方法
工程在:unity连线题画直线的工程-C#文档类资源-CSDN下载 一.弄一个自己喜欢的直线 我发现如果需要一些小元素,PPT是一个很好的素材库. 调好颜色,长度,透明度,宽度等,右键另存为就可以得到 ...
- Unity中在Game窗口画线
在Unity中画线有几种方式: Debug.DrawLine() 函数画线,在Game窗口不开启 Gizmos 时,只在Scene窗口显示,多用于调试. 通过 LineRenderer 来画线, ...
- Unity关于GL绘制和Gizmos绘制的Matrix问题。
不管是在GL下绘图还是在Gizmos下绘制,使用世界坐标确定点的位置很多时候是很麻烦的,通常使用物体自身的坐标会比较简单,但是GL和Gizmos都是针对世界坐标绘制,这就需要把自身坐标转换成世界坐标. ...
- unity 如何在画布上画网格
在 Unity 中,你可以通过使用 LineRenderer 组件来在画布上画网格.首先,你需要创建一个新的游戏对象,并为它添加 LineRenderer 组件.接着,你可以使用 LineRender ...
- Unity Navigation寻路系统并画出指引线
前言 寻路系统是游戏中很常用的一个功能,角色要达到某一点,需要系统给出一个路径,这样可以帮助玩家规划出路径,提示玩家到达,这种功能在各种类型的游戏中都有大量的应用 本案例通过Navigation实现寻 ...
- 【Unity】解决aseprite像素画导入到Unity中显示模糊问题
一.问题 在aseprite这个软件中画好了像素画导入到unity中显示却是模糊的. 变成了这个样子... 二.解决方法 三.效果展示 变得清晰起来了.
最新文章
- redis服务器索引文件删除,Redis基本命令整理
- Vue:Elementui中的Tag与页面其它元素相互交互的两三事
- LoadRunner函数学习--lr_convert_string_encoding
- 百度地图-矩形编辑的模拟实现
- CORS 请求未能成功_CORS攻击概述
- oracle删除实体,oracle 按条件删除、查询表
- 我的世界服务器修改数据,我的世界常用指令大全,轻松调整服务器数值状态
- 二度云抢先成为首批中国工信部(.vip/.xyz/.club)域名注册管理机构
- 简单的图论问题【湖南省赛】
- webpack html自动引入,开发必备的webpack4
- 编译OpenJDK12:atomic.hpp: fatal error C1189: size_t is not WORD_SIZE(换了VS2017编译)
- java 高级api_Java常用API-高级
- 短视频服务大PK,阿里云、腾讯云、又拍云、七牛云、金山云5强横向对比
- 本科计算机软件类毕业论文写作那些事
- jstl标签中的fn与fmt标签的用法
- “神棍节”背后的故事
- access open 知乎_必备技能!国际汇款SCI Open Access费用
- 打破国外垄断 数字音频国家标准DRA颁布
- [转贴]请珍惜你身边爱你的人
- 《筱静观察》第三季第2期丨区块链在金融开放与监管中的作用
热门文章
- 使用阿里云接口实现证件照制作
- JAVA入门第二季 第一章 类和对象
- Android Studio 3.5.2 入门教程(浓缩版)
- 自然语言和计算机语言二义性,二级C++精品课程第一章第一节计算机语言及其发展...
- Web前端如何快速的兼容手机
- Windows 32位下cocos2d-x2.2.0Android环境搭建
- Linux测试主机之间连通性和端口是否开放的方法
- java微信公众号开发一:服务器信息配置
- openwrt pptpd start 报错validation filed
- wow7.1 xd 新手教程