旋转矩阵
摘要:using System.Collections; using System.Collections.Generic; using UnityEngine; public class TestGame : MonoBehaviour { public Vector2 p1; public Vecto
阅读全文
posted @
2020-08-13 15:40
tianjiuwan
阅读(313)
推荐(0)
[斜边的血条进度]
摘要:Shader "Sprites/SpriteShader" { Properties { [PerRendererData] _MainTex("Sprite Texture", 2D) = "white" {} _Color("Tint", Color) = (1,1,1,1) _FillAmou
阅读全文
posted @
2019-11-15 15:26
tianjiuwan
阅读(331)
推荐(0)
UI框架:ui节点控件的绑定方式
摘要:思路 1.使用拖拽,生成lua 2.find(path) 麻烦 3.声明就完事了 效率问题代码using UnityEngine; using System.Collections.Generic; using System.Reflection; using UnityEngine.UI; public class UIWidget { protected GameObj...
阅读全文
posted @
2019-08-12 11:54
tianjiuwan
阅读(436)
推荐(0)
【一种获取九宫格index的方式】
摘要:<1>由来: 在做一些需求的时候,我们可能需要把地图划分成均匀网格,随机找一个格子A,需要取到这个A格子九宫格内的所有格子索引 例如我们把地图划分成3x3网格(从左下开始 行向Y轴正方向延伸 列向X轴正方形延伸) 例如: 此时我们需要知道7(或者表示为2,2)的九宫格,均匀网格定义为:行=4 列=5
阅读全文
posted @
2019-05-09 20:36
tianjiuwan
阅读(404)
推荐(0)
【OBB碰撞】
摘要:<1>2D OBB碰撞算法(AABB算法对比最高 最低 最左 最右就完了) <2>思路 构造OBB盒子的时候,设置角度,半宽,半高以及中心位置 每次更改盒子旋转角度计算矩形2个单位检测轴(每条轴与矩形2条边平行2条边垂直,即2条轴把矩形划分成4个等大小矩形) 方法提供: updateAngle函数:
阅读全文
posted @
2019-05-08 10:33
tianjiuwan
阅读(534)
推荐(0)
【泡泡堂】格子管理等
摘要:<1>很多人都玩过炸弹人或者泡泡堂,之前做了这个玩法,记录一下关键实现 <2>直接上Lua代码 1.维护每个格子上的物体 比如:BUFF类,宝箱,草箱,木箱,铁箱,炸弹,小怪... 用一个结构维护一个格子31*31=961,进入场景创建,离开释放掉 每个结构里面声明一张map缓存格子里面所有的物体
阅读全文
posted @
2019-05-07 15:22
tianjiuwan
阅读(509)
推荐(0)
【吃鸡】毒圈展示
摘要:<1>2种圈,1个场景,1个UI <2>场景毒圈 美术制作圆柱形网格,上下剔除,圆柱侧面面越多越好(内存渲染会多占用点) shader实现:UV动画(写得不好) <3>UI毒圈 UI有一个毒圈范围和一个安全区范围显示在地图上 试了一些办法,还是用Shader实现 计算好半径,设置Shader属性
阅读全文
posted @
2019-05-07 15:09
tianjiuwan
阅读(688)
推荐(0)
【吃鸡】客户端视野管理,管理掉落物
摘要:<1>原因: 在吃鸡场景中,有很多掉落物(每种掉落物模型各不相同),服务器在进入场景的时候推送了所有掉落物,后面服务器只做更新掉落和删除掉落操作 客户端需要对这些掉落物做视野管理,模型太多手机内存开销太大,也很可能因为内存过高崩溃 <2>思路: 把地图划分成均匀网格,每个掉落物存在网格之中,玩家每次
阅读全文
posted @
2019-05-07 15:00
tianjiuwan
阅读(223)
推荐(0)
【自走棋】曲线箭头
摘要:<1>效果: <2>思路: 使用贝塞尔曲线和LineRender
阅读全文
posted @
2019-05-07 14:48
tianjiuwan
阅读(665)
推荐(0)
【自走棋】地图格子高亮效果
摘要:<1>效果: <2>思路: 需求把地图划分成均匀网格,放置玩家到任意一个网格,显示玩家可攻击范围所有网格高亮(放置) 1.如何划分网格? 定义行和列最大数量(自走棋row=8 col=8) 定义起始位置Vector3 startPos 从起始点 向X轴正方向延伸列 向Z轴正方向延伸行 为什么单独实例
阅读全文
posted @
2019-05-07 14:41
tianjiuwan
阅读(751)
推荐(0)
【八叉树:分割3D空间】
摘要:<1>目标:使用八叉树分割3D空间,实现创建函数和插入函数 <2>思路: <3>代码: 以下树实现相关代码 以下树创建测试代码 <4>核心 创建函数中,2种创建方式,最终我们选取第二种方式创建子节点,因为我们需要更高效的插入 1.红色代码计算8个节点中心 容易理解:8个节点在3D空间中分为2层,从上
阅读全文
posted @
2019-05-07 13:46
tianjiuwan
阅读(1570)
推荐(0)
[Unity资源打包加载管理]
摘要:《1》ab的打包5.X以上打包ab已经很方便了,打包方案:贴图,大图单独打包成一个ab,材质单独打,shader单独打,动画文件单独打,预设单独打,一个图集(1024*1024大小)打包成一个ab 《2》ab的加载与管理 1:ResMgr 游戏上层调用 member: getObj(name,obj
阅读全文
posted @
2018-04-27 16:55
tianjiuwan
阅读(1197)
推荐(0)
[Unity打包assetbundle]适用于5.x
摘要:<1> 先标记所有.prefab资源 当然 也可以标记.png 等等 <2>打包 <3>源码 using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;using Sys
阅读全文
posted @
2018-01-30 11:35
tianjiuwan
阅读(180)
推荐(0)
Unity导出所有UI预设Text文字
摘要:<1>源码直接翻到后面,丢到Unity里面,写个UI预设路径就可以用了 <2>效果图 导出图: 导入图: 坑:支持Text中空格 换行,导入文本中换行,到Text中也换行了;(空Text不导出,纯数字不导出) <源码> using System;using System.Collections.Ge
阅读全文
posted @
2018-01-18 16:38
tianjiuwan
阅读(2352)
推荐(0)
[Unity优化]-DrawCall
摘要:文章连接: http://gad.qq.com/article/detail/26927 在Unity中,Batch(批处理)一般是指进过打包之后的Draw call 绘制100万个物体,每个物体10个三角形 与 绘制10个物体,每个物体100万个三角形,那个效率更快;后者更快 每一次Btach都是
阅读全文
posted @
2017-11-30 11:05
tianjiuwan
阅读(450)
推荐(0)
[Unity编辑器]笔记
摘要:文章地址:http://gad.qq.com/article/detail/33934 1:[AddComponentMenu("参数1,参数2")] 参数1 Unity编辑器 Component菜单下面的菜单名字,参数2 继承Component的类 2:[RequireComponent(type
阅读全文
posted @
2017-11-30 10:23
tianjiuwan
阅读(174)
推荐(0)
[Shader]英雄联盟信号效果
摘要:<1>效果图 <2>思路:信号效果中心点不透明(这里做了渐变),外围扩散,alpha从内到外递增(差不多0.3-1的样子) <3>代码:计算半径的运动周期radius,计算uv坐标到圆心的距离dis,计算radius到dis的距离dis2(用作判断当前UV坐标于运动半径的距离做alpha剔除与渐变)
阅读全文
posted @
2017-08-13 19:01
tianjiuwan
阅读(682)
推荐(0)
Unity Draw Call 初研究
摘要:前言:百度了几个博客讲解unity draw call的文章,不明觉厉,我应该先自己去unity中试试先,不然看着一脸懵B,let‘s go! DC:Batches Draw Call,每一次dc都会调用图形API绘制图像,每次的调用都会消耗比较多性能,减少DC,优化项目 一:光照因素(光照可能增加
阅读全文
posted @
2016-08-30 20:31
tianjiuwan
阅读(347)
推荐(0)
判断点是否在一个任意多边形中
摘要:using UnityEngine;using System.Collections.Generic; public class JudgePoint : MonoBehaviour{ //多边形A 所有顶点 private float[,] dingdian = new float[4, 3] {
阅读全文
posted @
2016-08-26 10:50
tianjiuwan
阅读(1489)
推荐(0)