- 博客(29)
- 收藏
- 关注
原创 批处理GPU Instancing使用降低Draw Calls
我们用的是同一个材质,在材质中把GPU Instancing打勾 然后看效果 预制体的静态也打勾。废话不多说直接讲使用,首先我们创建100个Cube 让它旋转 Draw Calls达到了300多。效果 很直观的可以看到 批次降低到9次。
2023-08-07 09:42:40
189
原创 AB包管理器
/如果没有这个依赖包包名就加载并且存入字典。//特点:AB包不能重复加载,重复加载会报错。//加载固定的依赖配置文件。/// AB包存放路径 方便修改。//如果没有这个包名就加载。#if UNITY_IOS//宏指令。//让外部更方便的进行资源加载。//获取依赖包相关信息。//AB包管理器 目的是。
2023-06-26 18:52:30
124
原创 unity摄像机范围内显示,范围外不显示(可用于血条显示隐藏出现的问题,比如血条跟随的时候,你看反方向依然会显示血条)OnBecameVisible,OnBecameInvisible
解决血条跟随出现的问题
2023-05-15 09:19:38
506
原创 排序方法(常用基础的排序)
if (arr_0[j] > arr_0[j + 1])//判断 如果第一个数大于第二个数就进行交换以此类推 从小到大 从大到小就反过来。//List集合排序。
2023-04-27 16:10:47
52
原创 接口的声明与使用
/C# 是单继承,接口是解决 C# 里面类可以同时继承多个基类的问题。public interface JK//接口默认是Public(公开)的。Debug.Log("实现接口A");
2023-04-27 14:30:42
48
原创 抽象类(它一般是做为被继承的类)
以下是代码=================================================================4,从抽象类派生的非抽象类必须包括继承的所有抽象方法和抽象访问器的实际实现。Debug.Log("抽象类的虚函数C");Debug.Log("实现抽象类的方法");//实现抽象类的A方法。//重写抽象类C方法。2,抽象类可以包含抽象方法和抽象访问器。//抽象方法只能写在抽象类中。//抽象类是可以写普通方法的。//抽象类是可以写虚方法。//抽象类只能继承抽象类。
2023-04-27 14:00:28
53
原创 虚函数的使用
而如果有virtual关键字,那么它就不会立刻执行该函数了,而是检查对象的实例类 ,实例类里,他会检查这个实例类的定义中是否有重新实现的虚函数(通过override关键字),如果有,则马上执行该实例类中的这个重新实现的函数。代码如下====================================================C继承B 也可以重写A的虚函数 并且因为继承关系,可以使用父类继承的方法(C可以用A的方法)//也可以写一些需要添加的东西,实现了移动,而且实现了子类独有的移动后的效果。
2023-04-27 13:16:34
197
原创 2D轮转图选角色换衣服
, moveAng, moveAng - AlignAng, time).OnComplete(() =>//此处是换装可无视。//一个方向是顺时针另一个方向是逆时针 所以一个是正另一个一定是负。sortList.Sort((a, b) =>//排序。//需要旋转的弧度=与中间偏差的弧度+间隔的弧度。//通过需要旋转的弧度计算需要旋转的距离。//选择两个方向中间间隔较小的一方旋转。//通过需要旋转的距离计算旋转的时间。//计算另一个旋转方向需要的间隔。float ang;//周长=(宽+间距)*个数。
2023-04-26 08:30:00
77
原创 鼠标到屏幕边缘相机移动滚轮滚动可上下查看
if (Input.mousePosition.y > Screen.height && Input.mousePosition.y < Screen.height + 100) //判断鼠标位置。需要Cinemachine相机,选CM FreeLook。
2023-04-25 21:45:00
113
原创 Cinemachine 震动效果(保姆级别)
/找到对应的虚拟相机。//等待timer后调用。if (collision.gameObject.tag == "Monster")//设置标签。//虚拟相机命名空间。
2023-04-25 08:45:00
530
原创 通过预制体生成图片
/IO流文件写入;//资产预览,获取资产预制体的纹理。//应用程序类点出路径 写入路径 路径名字自己起 必须点 png ,因为后面设置图片格式为Png (EncodeToPNG)//编辑器工具 设置脏函数 传入预制体。//图一效果 图二使用方法 拖入即可 或者给指定目录下对应预制体。
2023-04-24 20:15:00
237
原创 柏林噪声算法制作地图+小地图
/玩家移动代码 (此处为瞬移)transform.eulerAngles += transform.up * 130 * Time.deltaTime * Input.GetAxis("Horizontal");if (map.transform.localScale.x - 1 > 0)//防止缩小超过最大值导致地图反转。//缩小image小地图。
2023-04-24 08:30:00
1593
原创 通过图片制作地图(使用灰度值计算高)
/补缝用(补缝原因是一张大地图不能超过65000,本图 1024*1024的,所以需要分割每小块地图是128*128 因为每小块绘制都会留下最后一格没有绘制所以需要补(最后一格缺少顶点),不然出来的效果会每个块都留一个缝隙)//GetPixel 获取像素。//纹理尽力取2的次方。
2023-04-23 20:00:00
259
原创 3D轮转图选角色+2D雷达图
radarMap.texts[2].text = "防御\n"+data.datas[num].defense;radarMap.texts[1].text = "攻击\n"+data.datas[num].attack;radarMap.texts[3].text = "速度\n"+data.datas[num].speed;radarMap.texts[4].text = "血量\n"+data.datas[num].hp;//计算半径 =周长/圆的弧度弧度。//计算移动弧度=距离/半径。
2023-04-23 10:21:46
103
原创 雷达图(五边形战士)
//效果//制作雷达图using System.Collections;using System.Collections.Generic;using System.Linq;using UnityEngine;using UnityEngine.UI;public class RadarMapDown : MaskableGraphic{public float[] arr;//边数数组protected override void OnPopulateMesh(VertexHelper vh
2023-04-21 12:15:00
335
原创 手写摇杆(简单版)
/求摇杆相对遥感底座的位置。//防止拉出摇杆底座。//求遥感与遥感底座的比值 比值-1 到 1;//角色需要用的位置。//清零 不然角色会一直移动。
2023-04-21 07:45:00
53
原创 静态批处理
/此代码就是静态批处理代码。//柏林噪声算法,传入两个坐标返回一个0-1的值(传入两个相同的值,返回结果一定相同)public Texture2D texture;没有加批处理绘制次数很高 FPS 81。//顶点是有个数限制的最多65000个。加批处理绘制次数降低 FPS 94。//gameObject得是静态的。//纹理尽力取2的次方。
2023-04-20 20:30:00
67
原创 根据图片生成地形
/grayscale灰度值 0-1 differenceValue 数越大 凸起越明显。//GetPixel 获取像素。注意事项: 图片中需要允许设置读写 不打勾会报错。
2023-04-20 12:45:00
98
原创 合并网格(多个物体合在一起比如Cube)
/合并网格,后面加false图片就不会给子网格绘制。//合并网格 (合并实例的数组,是否合并子网格,是否使用矩阵) //使用矩阵为false就不会和你摆的一样了。//获取矩阵并赋值给合并实例(transform是4*4矩阵类型)//合并后的网格赋值给网格过滤器。//把材质球集合赋值给材质球数组。//获取材质球并存入材质球集合。//获取网格并赋值给合并实例。//创建合并实例的集合。//把合并实例存入集合。
2023-04-20 08:15:00
492
原创 雷达图(五边形战士,角色属性)
/判断矩形是宽长还是高长 哪个短就用哪个以防超出矩形边界。//值1:画圆的位置,值2:颜色,值3:对应渲染的UV坐标。//半径除最大值获得比例,主要是防止出圈。//求平均每个角的值。//上面是制作多边形最少3个 //两个脚本 底图用上面的代码,内图全部复制即可。if (num >= 3)//画圆必须大于或等于3条边。
2023-04-19 20:30:00
284
原创 网格制作圆柱
/前面上盖已经用过Num+1个顶点了不能再用了。//添加完一圈再补充两个,让边闭合。//上盖和下盖用过的不能再用。//计算每个角的弧度。//存储上盖顶点坐标。//存储下盖顶点坐标。
2023-04-19 12:30:00
82
原创 网格制作圆形
using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class Round : MonoBehaviour{public MeshFilter meshFilter;public MeshRenderer meshRenderer;public Texture texture;public int num;//角的数量public flo
2023-04-19 07:30:00
207
1
原创 网格制作方形
protected override void OnPopulateMesh(VertexHelper vh)//开始填充网格。public class Rectangular : Graphic//这个类加上后自动添加渲染和网格组件。//获取当前载体位置。vh.Clear();
2023-04-18 22:45:00
100
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人