自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 资源 (6)
  • 收藏
  • 关注

原创 Unity使用PlayableAPI 动态播放动画

1.初始化animator,创建Playable图,创建动画Playable。

2024-02-26 14:41:15 509

原创 LUA 调用c#关于c#报错时lua调用堆栈的监听

/ 注意这里我们使用 lua_pushnumber 来推送整数。// 将两个参数压入栈顶(第一个参数 message,第二个参数 level)// 移除 ‘debug’ 表,现在 ‘traceback’ 函数位于栈顶。// 调用 traceback 函数,期望 1 个返回值。// 获取 ‘debug.traceback’ 函数。// 把返回的堆栈跟踪信息转换为 C# 字符串。// 将 ‘debug’ 表压入栈顶。// 弹出栈顶的堆栈跟踪信息。

2024-02-22 17:27:26 484

原创 emmyLua调试lua

2.vscode 安装emmylua插件。1.下载安装vscode。3.本地配置jdk环境。

2023-09-06 11:31:06 257

原创 Games101学习笔记 -光栅化

一个二位数组,数组中每个单位代表一个像素,如1920*1080,简单理解为一个一个的小方块,每个方块内颜色是一样的,是屏幕最小的单位。2.每个像素采样的时候拿到采样到的深度和当前像素记录的深度作比较,小的话覆盖之前存贮的。比如视口变换后,得到的是一个三角形,然后每个点判断是否在三角形内,在的话进行采样信息。简单做法我们可以遍历所有的像素点,然后判断点是否在我们得到的这个三角形内(叉乘)。一个是成品图,一个是每个像素对应的深度值。把构成物体的三角形或其他图形的所有点,离散的对应到屏幕的像素上。

2023-08-09 12:02:20 248

原创 Games101学习笔记 - MVP矩阵

经过MVP矩阵的后的物体会放置在一个-1到1的视口中,但是我们最终目的是显示到屏幕上,那么我们就需要根据屏幕大小,把我们的视口进行一个缩放矩阵和一个平移矩阵,来确保我们的视口中心点在屏幕中心点,我们视口的宽高和屏幕的宽高一致,这个就是视口变换。由于n,f是我们自己定义的相机的远近裁剪面,是已知的,所以我们可以得到该压缩的完整变换矩阵。我们把上面的那个egt的交点,当作相机位置,T为相机的上方向,g为相机正方向的。但是我们直接旋转很困难。1.正向旋转一个角度的矩阵等于,负向旋转一个角度的矩阵的逆矩阵。

2023-08-09 11:42:42 588

原创 Games101学习笔记 - 变换矩阵基础

上面说了ax + by 的方式都可以写成矩阵的形式,但是平移的操作的公式如下,不能写成矩阵的形式。注意:三维旋转都可以拆分为,绕X轴旋转,绕Y轴旋转和绕Z轴旋转,所以我们写出了这三种旋转变换矩阵。为了同意变换,让他们都写成一个矩阵和一个向量相乘的形式。我们引入了齐次坐标。注意:上图是默认二维旋转的是以远点为圆转重心,并且逆时针旋转。点会写成 (x,y,1)向量会写成(x,y,0)

2023-07-26 17:55:47 704

原创 Games101学习笔记 - 基础数学

方向和长度,没有起始位置:各个方向平方相加开方:向量除向量的长度。

2023-07-26 17:36:41 196

原创 Unity 使用顶点自定义的方式实现引导黑幕

【代码】Unity 使用顶点自定义的方式实现引导黑幕。

2023-06-30 14:26:48 404

原创 Unity 设置物体显隐快捷键

MenuItem(“Tools/设置物体 &~”)]

2023-06-14 10:56:44 160

原创 C# 查询svn提交记录

xxx

2023-01-05 14:22:51 494 4

原创 ILRuntime-CLR重定向数据类型

官方案例:http://ourpalm.github.io/ILRuntime/public/v1/guide/redirection.html布尔类型:ILRuntime.Runtime.Enviorment.AppDomain domain = intp.AppDomain;StackObject* ptr_of_this_method;ptr_of_this_method = ILIntepreter.Minus(esp,1);System.Boolean boolType = ptr_of

2022-03-09 10:25:54 371

原创 Unity-网络TCP

https://www.jianshu.com/p/d610d352e1f0

2022-02-08 11:43:42 2637

原创 Unity-自定义顶点

1.继承MaskableGraohic 类2.重写 OnPopukateMesh3. 实时更新 调用SetAllDirty()

2022-02-08 11:09:06 1879

原创 UnityShader笔记第三课-MVP矩阵原理-M矩阵

本节课开始,从大佬开口第二秒,全程处于懵逼状态。由于高等数学课上没有经住王者荣耀的诱惑,所以矩阵的知识一直处于贫乏状态,到课程结束也就懵懵懂懂的记住了大概,所以本笔记纯属个人记录。观点错误请指出,阿里嘎多阔塞以马斯。tranform的位移矩阵: //tranform 的位移矩阵 public void LMatri() { Matrix4x4 localP = Matrix4x4.Translate(transform.localPosition); D

2021-10-15 15:30:22 2094

原创 UnityShdaer笔记第二课笔记-贴花

大致原理:如图所示:A为设置的显示眉毛纹理区域,当渲染A区域的时候片元着色器的输出是把主UV(B)纹理和A纹理的混合。大约分为两步骤:1.根据主UV坐标拿到眉毛的纹理2.如果主UV在胡子区域内根据拿到的眉毛纹理和主纹理混合,不在区域不用处理代码如下Shader "MyTest/Test_2"{ Properties { _MainTex("Texture", 2D) = "white" {} //主纹理 _HuziTex("Huzi Tex"

2021-09-24 17:12:35 276

原创 Unity 减少垃圾收集 (GC) 的影响

Unity 使用 Boehm-Demers-Weiser 垃圾收集器,它会停止运行程序代码,并且仅在其完成所有工作后才恢复正常执行。要注意某些不必要的堆分配,这可能会导致 GC 尖峰 :1.字符串 :在 C# 中,字符串是引用类型,而不是值类型。减少不必要的字符串创建或操作。避免解析基于字符串的数据文件,例如 JSON 和 XML ;改用 ScriptableObject 或 MessagePack、Protobuf 等格式存储数据。如果需要在运行时构建字符串,请使用 StringBuilder 类。

2021-09-18 11:08:43 340

原创 Unity 基本的内存节省方法

可使用一些相对简单的技术来减少托管堆分配。1.集合和数组重用使用 C# 的集合类或数组时,尽可能考虑重用或汇集已分配的集合或数组。集合类开放了一个 Clear 方法,该方法会消除集合内的值,但不会释放分配给集合的内存。2.闭包和匿名方法使用闭包和匿名方法时需要注意两点。首先,C# 中的所有方法引用都是引用类型,因此在堆上进行分配。通过将方法引用作为参数传递,可以轻松分配临时内存。无论传递的方法是匿名方法还是预定义的方法,都会发生此分配。其次,将匿名方法转换为闭包后,为了将闭包传递给接收闭包的方法

2021-09-18 10:57:55 813

原创 Unityshader第一课笔记

应用阶段 – 几何运算 – 光栅化 – 像素运算应用阶段CPU进行,一般包括用户输入,碰撞检测,物理模拟,动画,全局加速,调用Draw Call渲染向优化-各种剔除算法 Cull Off,Back,Front结束后传递下阶段数据:几何元素:POSITION纹理:uv-TEXCOORD0参数POSITION 和TEXCOORD0是unityshadr 内置代码变量struct appdata_base { float4 vertex : POSITION;//顶点位置 fl

2021-09-04 15:37:06 102

原创 Unity渲染展示(二)相机适配

using System.Collections;using System.Collections.Generic;using UnityEngine;public class CameControl : MonoBehaviour{ [Tooltip("Camera的全屏Quad背景")] private CameraBackground _cameraBackground; [Tooltip("Camera的filedOfView")] private fl

2021-08-30 14:51:27 231

原创 Unity渲染展示(一) 相机渲染背景

using System.Collections;using System.Collections.Generic;using UnityEngine;[RequireComponent(typeof(MeshFilter))][RequireComponent(typeof(MeshRenderer))][ExecuteInEditMode]public class CameraBackground : MonoBehaviour{ public enum QuadMatchMod

2021-06-07 14:39:31 847 1

原创 lua 敏感字匹配

--聊天敏感字检测local chat_dictlocal chat_leaves = {}--构造字典树local function Init_chat_dict() chat_dict = {} local record = Config_FraudWords for i = 1, #record do local word = record[i] local t = chat_dict for j = 1, #word

2021-03-31 20:11:53 131

原创 排序算发---计数排序

前面已经记录过插入排序,归并排序,快速排序,堆排序等四种排序。它们都有个共性,就是通过多次比较来得出前后顺序,这种叫做比较排序,当然除此之外也有非比较排序。今天记录的计数排序就是一种非比较排序。算发思想: 有一串数据,如果我们知道每一个元素升序在数组中的第几个,那么我们就知道了升序的结果。而对于如何知道每个元素在数组中的第几个,可以创建一个cout为数组中最大元素值得数组a,初始化都为0,然后遍历数组,没碰到一个元素,以此元素为下标对应的a[元素]++;然后遍历数组a输出对应的索引值,多个就输出多次

2021-03-05 10:45:48 104 2

原创 排序算法--堆排序

堆排序: 与归并排序一样,但不同于插入排序的的是,堆排序时间复杂度为Θ(nlgn)。与插入排序一样但不同于归并排序的是堆排序同样具有空间原址性,任何时候都只需要常数个额外的元素空间存储临时数据。所以堆排序是集合了归并排序和插入排序优点的排序算法。(二叉)堆: 在学习堆排序之前需要了解下堆。此处的堆不是“垃圾收集存储机制”。而是一种堆数据结构。它是一个数组,可以近似的堪称完全二叉树,树上每个节点对应数组中的一个元素。二叉堆又可以分为两种形式:最大堆和最小堆。最大堆(大顶堆)中结点的都要满足:A[P

2021-03-02 11:34:03 98

原创 排序算法--快速排序

思想: 和归并排序一样,快速排序也使用了分治的思想,首先拿到一个基准值,把数组中大于基准值的放在一边,小于基准值的放在一边,然后接着把左右两边重复上述操作,直到要排序的子数组中只有一个元素时,此时的数组既是已经排好序的数组。和归并排序区别: 快排和归并排序同时都是使用了分治的想法,并且时间复杂度都是Θ(nlgn)。但是在归并排序,左右两边的数组是排好序的,然后合并,而快排省略了合并的过程,在左右分组的递归的同时进行了合并操作。时间复杂度: Θ(nlgn)C++实现:// test_1.cpp : 此

2021-02-25 14:48:14 94

原创 排序算法--归并排序

思想:把一组数组等分,然后把等分后的左右数组都进行排序(同样等分,使用递归知道左右都为一个元素,然后归并一起),然后进行归并在一起。时间复杂度: Θ(nlgn)C++实现:// test_1.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//#include <iostream>#include<vector>using namespace std;//归并排序void Merge(vector<int>& list

2021-02-24 14:41:08 82

原创 排序算发--插入排序

思想:对于给定的数组,从索引1开始遍历到结束,对于遍历的元素,使用临时变量保存,并且把该元素以前的元素挨个和该元素比较。如果以前的元素数值较大,则该以前的元素位置后移。如果以前元素数值较小,结束比较遍历,并把临时变量的值放入结束位置后一位。**时间复杂度:**Θ(n^2)c++实现:#include <iostream>#include<vector>using namespace std;int main(){ vector<int> intp

2021-02-24 11:29:02 66

原创 吭吭唧唧写shader--呼吸效果(我也不知道叫啥)

效果图:Shader "Unlit/test_2"{ Properties { _MainTex ("Texture", 2D) = "white" {} _OutColer("OutColor",Color)=(1,0,0,1) //振幅颜色 _OutDis("OutDis",Float)=0.100 //振幅幅度 _OutTime("OutTime",Float) =0.5 //振幅一次的时间

2021-02-04 15:41:56 489

原创 吭吭唧唧写shader--实现一个模型在屏幕指定区域的渲染

功能:实现一个模型在指定屏幕坐标中的渲染,不在的裁剪掉效果:GroudX和GroudY都为0时:调整数值后:原理,得到模型在屏幕中的坐标传入片面着色器时,判断下如果在指定区域的不着色直接裁剪掉源码:Shader "Unlit/NewUnlitShader"{ Properties { _MainTex ("Texture", 2D) = "white" {} _GroudX("GroudX",Range(0,0.5))=0 //X方向距

2021-02-03 17:41:21 452

原创 ILRuntime学习---3

跨域委托:主工程调用dll中的委托对于dll中调用主程序域的方法以及委托,并不需要做任何多余的操作,正常调用即可。但是反之,(1)如果主程序域中的一个委托(事件)注册了dll域的实现,如果此委托(事件)仅仅再dll域中调用也不需要多余操作。(2)但是如果如果主程序域中的一个委托(事件)注册了dll域的实现,又需要再主程序域中调用此委托,那么此委托需要注册委托适配器。注册委托适配器可分为<注册适配器><自定义转换器>两步。因为再ILRuntime内部是使用Action和Func这

2021-01-08 12:21:04 442

原创 ILRuntime学习---2

主程序集对dll程序集操作读取加载dll步骤在上一篇文章:https://blog.csdn.net/qq_30058057/article/details/112248788调用方法:静态方法:获取类的类型获取方法调用方法实例方法:获取类的类型创建实例获取方法调用方法获取类型的方式: IType type = appdomain.LoadedTypes["HotFix_Project.InstanceClass"];获取方法的方式: IMethod method

2021-01-05 18:37:13 261

原创 ILRuntime学习---1

ILRuntime调用DLL流程1.创建ILRuntime的入口AppDomain,并且在一个协程里面实例化 //AppDomain是ILRuntime的入口,最好是在一个单例类中保存,整个游戏全局就一个,这里为了示例方便,每个例子里面都单独做了一个 //大家在正式项目中请全局只创建一个AppDomainAppDomain appdomain;加载热更程序集由于加载需要时间,为不耽误主线程运行,最好加载时开启一段协程//首先实例化ILRuntime的AppDomain,AppDomain是一个

2021-01-05 17:58:00 455

原创 Class数据转成文档

using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using System;using System.Collections;using System.Collections.Generic;using System.IO;using System.Linq;using System.Reflection;using UnityEngine; public class ExcelHelp { private

2020-12-25 16:24:14 227

原创 ET框架学习链接

ET框架交流论坛:https://et-framework.cn/d/25-et40基于ET5.0的网络斗地主案例:https://www.taikr.com/login

2020-09-21 15:22:24 661

原创 Unity UI适配文章收藏

博客园-等风来7299

2020-07-31 16:16:44 114

原创 使用ADB 查看模拟器得日志,unity得日志 以及保存

一.安装ADB以及配置环境下载adb下载完成后解压到任意路径,记住此路径如我解压到桌面:我的adb路径即为: C:\Users\admin\Desktop\adb配置环境变量我的电脑-属性-高级系统设置-高级-环境变量-系统变量-找到Path点击编辑-点击新建把上面得解压路径粘贴进去,一路确定返回测试是否配置成功打开cmd,输入adb 如果不提示adb不是内部命令等等,,,,即配置成功二 链接模拟器并打印Log1.电脑运行模拟器2.模拟器启动后,打开cmd窗体3.输入

2020-07-29 14:43:13 4642

原创 UGUI-关于UI中含有特效时的层级处理

引用文档:https://www.cnblogs.com/Bright-King/p/9205534.html

2020-07-16 10:51:13 400

原创 Unity-Editor复制预设体以及相关文件到另一个工程

最近一直在考虑关于客户端和关卡编译器之间资源同步的问题,需要让两个工程里面用到的模型以及数据都得相同,应策划要求只能整个工具供他们使用(明明可以复制粘贴,这策划就知道偷懒)。废话就到这,下面是主要源码,可以实现固定文件夹里面所有的预设体,以及预设相关联的FBX文件,材质球文件,材质球使用的图片文件的同步移动```csharp /// <summary> /// 拷贝预设 /// </summary> private static void CopyIt

2020-05-14 14:13:39 2089

原创 UnityShader学习(二)标签和状态,以及pass

标签 —在每个pass里面也可以设置标签,但是此标签与pass里面的不一样(我也不知道那儿不一样)标签一般用键值对表示,键和值都是字符串类型得写法:Tas{“Key”=“value” “Key”=“value” }标签类别:Queue ->设置渲染顺序,可以通过此标签让所有透明物体在不透明物体之后被渲染数值越小越优先渲染BackGround 1000 -&g...

2020-04-20 16:12:25 508

原创 Shader学习随笔-顶点函数和判断函数的语义绑定 2020.4.17

曾多次向图形学这个山峰发起过挑战,然后都放弃在半路上,这是第三次重新鼓起勇气,加油,骚年!!语义绑定:语义词,表示输入图元的数据含义(是位置信息,还是法向量信息),也表明这些图元数据存放的硬件资源寄存器或者纹理缓冲区)。顶点着色程序和片段着色程序中 Varying inputs 类型的输入,必须和一个语义词相绑定,这称之为绑定语义(binding semantics)。自己理解:语...

2020-04-17 11:47:04 191

原创 shader 学习书籍

Unity Shader入门精要GPU编程与CG语言之阳春白雪下里巴人链接: https://pan.baidu.com/s/1K0V7XAobpEUnXrbaF7B1zw 提取码: b4as

2020-04-15 18:07:21 634

ADB window链接安卓工具

ADB window链接安卓工具

2023-03-23

uishowText.unitypackage

unity展示在ui上展示物品,可自适配

2021-08-30

ADB window链接安卓工具

ADB window链接安卓工具

2020-07-29

Shader Forge v1.28 -Unity最欢迎的着色编辑器

↓↓↓↓↓↓插件仅用于学习,禁止商用,为了维护您的个人权益,请支持正版↓↓↓↓↓↓

2019-04-22

UGUISuperScrollView

无限滚动列表 UGUI Super ScrollView gives easily-customizable ScrollView, based on UGUI ScrollRect. It is a set of C# scripts to help you create ScrollView that you need. It's very powerful and highly optimized for performance. UGUI超级ScrollView基于UGUI ScrollRect提供了易于定制的ScrollView。它是一组c#脚本,帮助您创建所需的ScrollView。它非常强大,并且对性能进行了高度优化。

2019-02-12

《Unity3d游戏开发(第二版)》宣鱼松

鱼松MOMO的游戏开发第二版,手机原书拍摄版,不是电子版但是足够清楚,不需要解压码,放心下载。

2018-12-13

EasyRoads3D Pro v3 v3.0.2 and v3.1beta2道路制作插件

unity道路制作插件 V5版本的 Road infrastructures and Parametric Modeling inside Unity Create unique road networks directly in Unity with built-in and mesh based crossings based on your own models. Bring your scenes alive with additional side objects: bridges, guard rails, fences, walls, power lines, tree lines or any other type of geometry following a path. EasyRoads3D v3 includes various tools to create other infrastructures such as railroads and rivers with the riverbed carved in the terrain.

2018-11-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除