unity
逐·風
这个作者很懒,什么都没留下…
展开
-
unity动态生成预制体
unity动态生成预制体原创 2022-12-15 16:25:42 · 1293 阅读 · 1 评论 -
unity---lua闭包
lua中存在一种方法叫闭包它与lua元表有写相似处,有兴趣可以看一下我之前发布的文章lua元表。首先,我们要清楚lua闭包的定义方法,首先看下面的一个函数方法。print("**********函数嵌套************")function F8() return function() print(123); endendf9 = F8()f9()--闭包function F9(x) --改变传入参数的生命周期 return function(y) return x原创 2022-01-14 15:12:36 · 2487 阅读 · 0 评论 -
unity性能优化——Updata
unity中的Updata会在每一帧都执行,如果项目中Updata不用每帧都执行,可以试一下该方法,将Updata使用频率降低。using System;using System.Collections;using System.Collections.Generic;using UnityEngine;public class demo : MonoBehaviour{ // Start is called before the first frame update void原创 2022-01-12 13:52:02 · 2720 阅读 · 0 评论 -
unity Google-protobuf简单方法与操作
谷歌Google-protobuf源码地址。首先我们看一下官方给出的介绍:protocol buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等。Protocol Buffers 是一种灵活,高效,自动化机制的结构数据序列化方法-可类比 XML,但是比 XML 更小(3 ~ 10倍)、更快(20 ~ 100倍)、更为简单。你可以定义数据的结构,然后使用特殊生成的源代码轻松的在各种数据流中使用各种语言进行编写和读取结构数据。你甚至可以更新数据结原创 2022-01-06 17:58:42 · 2288 阅读 · 0 评论 -
Unity实现自适应屏幕大小——九宫格
我们在切换分辨率的时候图片不会随着分辨率进行缩放,或者想要缩放的位置和我们想象的位置不一样,这个时候就可以用屏幕自适应,会根据我们设置的位置进行缩放,也就是九宫格缩放。首先用到九宫格缩放,先要下载一个unity自带的插件(2D Spirte),下图就是对下再进行一个详细步骤,点击Install之后等待就可以了。下载完之后选中要自适应的图片,按下图的步骤点开Sprite Editor。进去之后会看到图片四个边界有小绿点,点击拖拽就可以设置,也可以在红框标记的地方输入具体数字,都可以达到最终效果。(首原创 2022-01-01 18:50:12 · 7128 阅读 · 0 评论 -
unityShader入门了解
我之前的写过一个关于渲染流水线,接下来聊聊shader。shader的数据类型和c#是有一些相似的,我下面的Properties里面写了几个类型(这个函数里面写的类型都会在unity里面以显示的形式展现出来,下面一个图片就是在unity界面里面所展示的一个效果),只是列举了几个常用的类型。然后它还有一些其他的类型,我写在Pass函数里面,因为这些类型是不去显示的。首先在unity里面定义一个shader,在Proect中右键选择Shader下的StandardSurfaceShader这个shader是原创 2021-12-30 20:29:34 · 1565 阅读 · 0 评论 -
unity渲染流水线
渲染流水线的工作其实就是将CPU的工作,传递给GPU去执行然后实现,最终让电脑屏幕显示出来,具体的流程分三个步骤,应用阶段、几何阶段、光栅化阶段。我们依次进行梳理,首先是应用阶段。应用阶段是CPU进行执行的一个阶段,首先它要先准备好场景里面的数据,比如相机位置,视椎体、模型、光源等等。然后就是粗粒度剔除的工作,会将一些相机看不到的物体提出出去,可以有效的提高渲染效率。最后就渲染状态,这个状态就是将几何阶段所需要的信息(点、线、三角面等)。然后就进入到下一个阶段——几何阶段。几何阶段就已经到了G原创 2021-12-29 12:57:20 · 766 阅读 · 0 评论 -
unity后期优化——LOD多细节层次
LOD多细节层次原创 2021-12-25 11:00:58 · 1527 阅读 · 0 评论 -
unity默认渲染管线切换到URP渲染管线并切换材质
unity渲染管线URP原创 2021-12-20 20:15:16 · 20716 阅读 · 6 评论 -
unity在没有灯光的作用下实现物体的发光以及去除天空球
首先在左上角找到Window在里面找到Rendering然后再找到Lighting Settings按钮,进去之后按照下图进行一些设置,则可以实现上面就是进行一些操作,就可以了。这个地方就是删除天空球地方,删除天空球可以减少以下就是最终的效果。...原创 2021-12-04 09:12:56 · 3590 阅读 · 0 评论 -
unity2D抛物线以及刚体加力进行弧度投射
unity中2D的刚体也是存在向下的重力效果,在添加一定的力量的作用下就可以形成一个弧度的投射,然后在通过定义一个集合存放一个图片,将集合中的图片在力量所经过的路径上一次赋值,就会形成一个有弧度的抛物线,通过鼠标的拉扯,可以形成不同的力,显示出不同的抛物线弧度效果,下图则是效果的一个展现。此效果的实现则是刚体加力后将力进行计算一次赋值给存放集合中的每一个物体后形成的效果。以下则是我使用的代码: public Rigidbody2D rg; public void zuoyongli(Ve原创 2021-12-03 15:35:27 · 3145 阅读 · 1 评论 -
unity协同程序带参数并延迟执行
using System.Collections;using System.Collections.Generic;using UnityEngine;public class DaiCanShu : MonoBehaviour{ void Start() { StartCoroutine(CanShu(2f)); } IEnumerator CanShu(float arr) { yield return new WaitFo原创 2021-11-26 09:42:04 · 2699 阅读 · 0 评论 -
unity生成图集以及查看UI加载顺序
unity中一个图片就会产生一个Draw Call,过多的ui内容与图片就会生成大量Draw Call使得占用内存过多,而对于图片减少Draw Call的办法就是生成图集,生成图集有两个办法一个是使用局外工具TexturePacker:https://www.codeandweb.com/texturepacker这个是此工具的官方网址。还有一个办法就是利用unity自带的生成图集办法首先要Edit下的Project Settings下的Editor栏找到下图我标记的这个并切换成我框选的。然后将图原创 2021-11-25 10:52:54 · 2393 阅读 · 0 评论 -
c#垃圾回收机制三代基本原理介绍
三代内存管理第0代:256K第1代:2M第2代:10M当产生垃圾的时候会优先调用第0代,等第0代的垃圾以及存储满后会进行清理,但不会将全部的垃圾全部清理完,因为每一代都有自己可清理与无法清理对象,下图就是一个简单的第0代介绍。当第0代无法清理的时候则会调用第1代进行垃圾清理,会将第0代无法清理的垃圾存入第1代。这个时候第1代的垃圾回收不会触发,然后继续就行垃圾存储。第0代继续就行垃圾回收。这个时候第1代存储满后就会实现垃圾处理。但第1代也会有无法处理的垃圾就会调用第2代进行垃圾收原创 2021-11-18 10:30:18 · 463 阅读 · 0 评论 -
DoTween实现动态从0到1数据
float value=0f;DOTween.To(() => value, (len) => value = len, 1, 10).OnUpdate(() => { print(value); }).SetLoops(-1, LoopType.Restart);//-1表示一直執行定义变量从变量的初始数据开始增加到后面变量1,10是需要的时间,具体数据看你需要到什么程度到什么时间都可以随时改变,value的值会随着改变。...原创 2021-11-17 10:01:02 · 1311 阅读 · 0 评论 -
unity工具类调用csv文件并实例化生成c#代码
这个是显示出来的工具类该栏写生成c#文件名称public class ReflectConfigToCS : MonoBehaviour{[MenuItem(“Tool/ReflectConfigToCS—(将配置文件数据反射成C#代码)”)]public static void ConfigToCS(){ReflectConfigToCS_Windows rW = EditorWindow.GetWindow<ReflectConfigToCS_Windows>(“配 置文件转原创 2021-11-17 09:21:54 · 486 阅读 · 0 评论 -
unity加载文件夹下的所有预制体
unity加载文件夹下的所有预制体原创 2021-09-29 11:12:32 · 3179 阅读 · 1 评论 -
unity运行中使用代码删除文件夹
public static void DesObjects(string name)//name是Assets后面的文件夹路径{Directory.Delete(Application.dataPath+ “/”+name,true);}调用该方法则可以在运行中删除文件夹原创 2021-09-29 11:07:16 · 728 阅读 · 0 评论 -
unity计算与目的时间倒计时
System.DateTime pauseT = new DateTime(2021, 08, 19, 11, 00, 00); System.DateTime resumeT = System.DateTime.Now; TimeSpan arr = pauseT - resumeT; Debug.Log(arr.Days+"aa"+arr.Hours+"bb"+arr.Minutes);输出:0aa18bb58原创 2021-08-18 16:07:04 · 221 阅读 · 0 评论 -
unity人物添加动作进行播放
首先导入一套人物和动作的素材包,然后在里面找到自己想要的动作将这个包整体拖到场景中,再讲下面Take 001的动作素材拖到人物上,即可实现简单的动作播放,然后在场景中切换到Animator界面,进行动作设置,然后再找一个自己想要切换的动作,拖到Animator中(只需要拖Take 001即可),点击Make之后会出来一条箭头,再点击下面那个灰色的动作,即可实现连接,这样就出来可以连接两个动作的条件点击箭头将右面的数据按照这样进行设置,动作的基本数据就可以做好了,剩下的就是代码的实现了在这里插原创 2021-07-22 08:47:01 · 3809 阅读 · 0 评论 -
unity3D改变物体颜色
transform.GetComponent().material.color = Color.red;将这行代码赋值给物体即可更改颜色原创 2021-03-08 14:38:12 · 2721 阅读 · 0 评论