C# SourceGenerator 源生成器初探
摘要:简介 注意: 坑极多。而且截至2023年,这个东西仅仅是半成品 利用SourceGenerator可以在编译结束前生成一些代码参与编译,比如编译时反射之类的,还有模板代码生成都很好用。 演示仓库传送门-Github-yueh0607 使用 1. 创建项目 我们需要两个项目,创建完如下 类库项目(用作
阅读全文
C++ easyx大一期末作业利器
摘要:yNodeGUI_v2.0 紧跟着1.0版本的完成,又到了激动人心的C++期末作业了。(上学期是C语言的),这学期,我仅仅改了一点点上学期的期末作业,然后很轻松的水…啊不,完成了这次的期末作业。 所以,大家一定要注重复用!!! 很快乐。 这个改一改就是你的…啊不是,我是说基于框架进行开发(滑稽) 定
阅读全文
Unity Shader 消融效果
摘要:消融效果 消融广泛运用于各种场合,例如 怪物击杀与道具时区(原神)燃烧 注意:根据噪声图的不同,效果有很大的差异, 第一步:创建着色器 我们要选择Unlit Shader创建 然后定义如下属性 Properties { //主贴图 _MainTex ("Texture", 2D) = "white"
阅读全文
Unity VisualScripting(Bolt)自定义Node(带详细注释)
摘要:效果:获取一个物体的全部子物体和孙物体等从属物体 //引用一些东西,这样才能用某些API using System.Collections; using System.Collections.Generic; using Unity.VisualScripting; using UnityEngin
阅读全文
Unity 2D 针对单个物体的空气墙(能指定物体的碰撞器)
摘要:笔者也是废了九牛二虎之力才发现这个API并选择一种相对效率高还简单的实现方法 克服了同层级空气墙的问题 这样可以实现只跟列表里的物体能发生碰撞 在使用之前请确保:空气墙 原本 可以与列表指定的物体发生碰撞 然后本脚本会自动取消列表外的全部碰撞,以实现指定的空气墙效果 using System.Lin
阅读全文
C# 根据角度获取颜色带
摘要:原理:HSL色盘 HSL的H是色相,色相按角度分布如下,我们只需要根据角度取HSLB然后转RGB即可 代码 使用了System.Drawing.Color /// <summary> /// 根据温度返回颜色 /// </summary> /// <param name="temp">传入的温度的权
阅读全文
C#线性插值,三角插值
摘要:什么是插值? 是什么?很简单! 已知两点,推断中间的每一点的过程。 有什么用? 很简单!位置从30到40耗时3秒求每一时刻的位置! 1.线性插值 设v是结果,start是开始,end是结尾,t是过去的时间,duration是总时间 v = start + (end - start) * (t / d
阅读全文
C# 动态字典(可以随机实时增删访问,保证先入先出的字典)
摘要:如果你有以下需求: 1. 需要对Dictionary进行遍历的同时移除或者添加元素 2. 需要按顺序遍历Dictionary并且保证先入先出 3. 需要即时的获取字典内的元素数量,即时增删 如果你觉得好,请给我的框架点一个免费的star,球球啦 Yueh0607 - AirFramework 动态字
阅读全文
C/C++ 水仙花数math.pow超时解决
摘要:在大一那些万年不变的破题里,实现某个需要整数N次方的算法时使用了pow会导致超时 原因是:浮点数的pow用来处理整数效果很烂!!!,有隐式类型转换和浮点计算消耗 我们实现一个整数pow即可解决 #include<stdio.h> int powint(int a,int b) { int r = 1
阅读全文
C/C++ 高效判断素数原理和代码实现
摘要:素数判断 素数是质数,指一个数的因数只有1和本身,1不是质数 所以需要在i = [2 , x-1] 内判断x%i 是否是0,如果存在整除的,就不是质数 在数据量大时,我们采用更高效的方式,求[2,sqrt(x)]即可 对于一个数x,如果存在一个因数i使得x可以被i整除,则一定存在另一个因数j,使得
阅读全文
C/C++ 进制转换算法-除K取余和按位加权求和
摘要:十进制转K进制 - 除K取余 十进制转N进制的转换步骤: 将给定的十进制数不断地整除N,直到商为0。将每步计算所得到的余数(从第一步起依次记录),倒序排列。根据余数的数位,以N为基数,组成N进制数。 将十进制数312转换为十六进制数的计算步骤: 312 ÷ 16 = 19 … 12(商19,余12)
阅读全文
C/C++ 辗转相除与更相减损求最大公约数公倍数
摘要:古人有两种求最大公约数的方法 最小公倍数 = (a * b) / 最大公约数 1.辗转相除(欧几里得-《几何原本》) 我认为辗转相除的的稳定性要强过更相减损,因为减法在数差距较大时效率会较低。 辗转相除注意考虑0的问题,0作为除数会出错。 假如需要求 1997 和 615 两个正整数的最大公约数,用
阅读全文
C语言 register关键字
摘要:1.作用: “建议”编译器把变量放到寄存器内,编译器不一定听你的(傲娇)!! 2.速度:寄存器>高速缓存>内存,寄存器空间很宝贵(非常非常少) 3.寄存器不支持取地址, 不支持静态 过度使用register可能会造成寄存器不足,反而降低程序效率,而且有些东西就算你不建议他也会自己做,不要小看现代编译
阅读全文
浮点数float、double的存储原理
摘要:浮点数在计算机内的存储分为三部分 符号位 (第1位) 指数部分 尾数部分(在二进制下保证在1-2之间,开头都是1可以截掉) 这种结构也导致浮点数之间的运算较慢,并提高了浮点型的范围 并不是位数越多越慢,在有些机器上double计算要快于float,这些并没有统一标准 1.运算时舍入误差 注意: 仅在
阅读全文
原码、反码、补码和Int整数的表示法
摘要:整数表示法 int整数的表示分成了两个部分 符号位 - 数值位 1000 0000 0000 0001 整数的第一位如果是1,那么这个整数就是负数,如果是0,则是正数。 后面的所有位,存储的都是该数的补码。 原码 将一个整数转换成二进制形式,就是其原码。例如short a = 6; a 的原码就是
阅读全文
位操作计算规则以及用途
摘要:位操作列表 符号中文名英文&按位与bitwise AND|按位或Bitwise OR^按位异或Bitwise XOR<<按位左移Shift Left>>按位右移Shift Right~按位取反Bitwise NOT 所有位运算的规则 低位:靠后的位 高位:靠前的位 低位对齐,高位补0, 对每一位分别
阅读全文
Unity LayerMask原理和判断包含关系
摘要:在本文之前,请先了解全部位操作的含义,否则继续下去会很困难。 本质:32位整数的每一位表示一个层 LayerMask本质上是一个32位的整数(Int32 ,int),每个位代表一个图层,因此LayerMask最多可以表示32个图层(0到31) LayerMask使用位操作来管理和检测包含在其中的图层
阅读全文
Unity URP 2D光照导入与配置
摘要:上面随时间变化的火烧云和晚霞,篝火的呼吸光照,都是URP的功劳。 1.什么是URP? URP 全称为 Universal Render Pipeline(通用渲染管线)。 它的特点是在手游和端游均能在保持性能的同时有良好的效果 也就说在多数情况下,在下面的平台使用是这样的情况.(不代表不能用,只是不
阅读全文
Unity 2DJoint 物理关节功能与总结
摘要:本文将以动图方式展示每个2D物理关节的效果,并解析部分重要参数的作用以及常见调配方式。 1.Distance Joint 2D(距离关节) 顾名思义是距离关节,以下为启用EnableCollision前后 关节使得两物体保持一定的距离,如果旋转了MaxDistanceOnly则可以小于但不能大于这个
阅读全文
Unity3D 自定义格式化创建模板+编辑器命名
摘要:[MenuItem("Assets/Create/Format/Unit Script", false, 0)] public static void CreateUnitScript() { FileCreateHelper.CreateScriptWithTitle(@$" using Syst
阅读全文
C# 对象UID分配
摘要:不多说,算法本身很简单,但是有一些要注意的地方,我写在注释里 using System.Collections.Generic; using System.Security.Cryptography; namespace AirFramework { //注意最大数量是int.MaxValue,而不
阅读全文
Unity 2D像素游戏序列帧动画制作规范
摘要:一、问题背景 笔者遇到了很多很多跟美术策划协作的问题。首先声明本文不考虑SpriteAltas,也不绝对正确,仅供参考,错误可以在评论区指出我进行修改以免误导。 我们可以清楚的看到跳跃后会出现角色跟碰撞器大小不一样的情况。这个时候如果我去碰右边的地形角就会出现穿"模"的现象。 找到原因是这样的,我们
阅读全文
Unity2D Custom RuleTile Script -可编程的RuleTile
摘要:Part1 - 找相关资料 首先可以看到这个时候相关的资料极少!!!极少 首先读者需要掌握方的TileMap,然后掌握RuleTile并且完全跑通之后再继续阅读,这是本文的前置基础内容,不再介绍。 截至2023年7月11日,笔者唯一找到的资料就是这几个,而且其中三个是英文文档,一个更是说的几乎不相关
阅读全文
Unity 2D骨骼动画+IK反向动力学
摘要:本文言简意赅的完成这个流程,废话不多说!干! 等等,先看看效果 第一步:导入2D Animation包 当前环境:Unity3D 2021(不需要完全一样也可以) 进入unity后点击Window->PackageManager打开如下界面 按Install导入,等待完成(此处已经完成) 注意: 左
阅读全文
Unity3D URP渲染管线下残影重影解决
摘要:笔者遇到了这样的情况,每次都是导入URP之后 方法一 经过查阅是URP和默认的SkyBox冲突了,只需要按下面步骤取消默认的天空盒即可解决残影问题 设置这个SkyBox为none即可消除残影问题 不知道对不对的方法二 Camera上有一个SkyBox的选项,换成别的。 如果需要SkyBox和URP一
阅读全文