- 博客(14)
- 收藏
- 关注
原创 帧同步--定点数
浮点数运算有误差,把浮点数扩大倍数转化为整数进行,保证不同设备上的结果一致。负数是用补码表示 右移位操作有误差:将负数转正数移位后再转负数。放大1024倍:方便使用移位运算放大 缩小。缺点:做乘法 or 除法的时候容易溢出。(1)如果符号为正,则在高位插入0;(2)如果符号为负,则在高位插入1;乘法:运算结果需要除放大倍数。除法:运算结果需要乘放大倍数。
2024-02-28 12:13:51
479
原创 3D数学入门
投影向量的计算过程,是一个向量分解的过程,这种向量分解的思路在后面推导其他内容时很有帮助,例如求解后面的物体旋转矩阵时会派上用场。2.计算行列式逆矩阵:1.计算M辅助因子 2.伴随是辅助因子的转置3.经典伴随/行列式。惯性坐标系:每条轴都与世界坐标系平行,原点与物体坐标原点重合。使用多坐标系的原因是某些信息只能在特定的上下文环境中获得。用4个代数分量表示3D几何概念的方式是一种齐次坐标表示。任意一个点都能够用从原点开始的向量来表达。4D -> 3D 生成透视投影矩阵。v平行的模与v的模关系。
2024-02-21 10:43:31
338
1
原创 Shader
渲染流程二维坐标旋转旋转坐标系,坐标不变,获取坐(x,y)标在新坐标下的坐标(x,y)。二维旋转矩阵原先坐标系通过矩阵拉伸获取新的坐标系,新坐标系的基向量x(3,1),y(1,2) , 新坐标系中的的向量(-1,2)在原坐标系中值为(-1,3)。(-1,2)为新坐标系中的向量,与新坐标的基向量相乘,获得原坐标系该向量的坐标。矩阵相当于对原坐标进行缩放得到旋转坐标系 = 反向旋转物体phong光照模型环境光:UNITY_LIGHTMODEL_AMB
2024-02-21 10:22:24
1116
1
原创 Timer
using System;//计时任务抽象namespace Timer{ public abstract class Timer { public Action<string> LogFunc; public Action<string> WarnFunc; public Action<string> ErrorFunc; //创建定时任务 public abstrac
2021-12-28 14:21:02
248
原创 Unity与Android交互
Unity调用 Android代码Unity版本:2019.4.301.将unity class.jar文件放入libs文件夹中2.UnityPlayerActivity.java3.UnityPlayerActivity.java里引入两个包import com.unity3d.player.IUnityPlayerLifecycleEvents;import com.unity3d.player.UnityPlayer;4.AndroidManifest.xml 文件加入以下代码&l
2021-12-28 13:59:02
5073
原创 EventManager
using UnityEngine;using System.Collections;using System;public interface IRelease { void Release();}public abstract class FEventRegisterBase{ protected Delegate _delegate; public abstract FEventRegister CastDown(); protected virtu
2021-11-04 14:41:51
222
原创 Unity接入TopOn超详细!
Unity接入TopOn注意:该文档以Unity2019为例。1.下载SDK进入官方文档:集成说明 - TopOn Document (toponad.com)如上图来到3.1 。 点击SDK打包系统目前集成国外版, 选择否。如上图选择需要的广告平台。如上图点击Integrate , 点击下载。解压文件,获得这几个包。可以看到各个广告的适配包和topon核心包AnyThinkCore。2.Unity集成TopOn(1)将SDK导入Unity将这几个包一个个拖入项目Asset
2021-06-18 10:42:18
4126
4
原创 Unity访问Android
AndroidManifest.xml<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.xingame.bottlefilp3d"> <application android:allowBackup="true" android:ic..
2021-05-20 16:27:24
418
原创 数据结构 散列表
散列表(Hash Table)散列表定义:根据给定的关键字来计算出关键字在表中的地址的数据结构。也就是说,散列表建立了关键字和存储地址之间的直接映射关系。(通过关键字访问地址,从而得到地址所存储的值)散列表函数定义:一个把查找表中的关键字映射成该关键字对应的地址的函数,记为Hash(key)=Addr。(将关键字带入散列函数中计算,就能得到对应存储地址)** 散列函数可能会把两个或两个以上的不同关键字映射到同一地址,这种情况称为“冲突”,发生碰撞的不同关键字称为同义词。**构造散列函数的tips:
2021-01-25 20:21:56
592
原创 C#连接数据库
连接数据库需要引入MySql.Data.dll数据库查询:class Program { static void Main(string[] args) { string connStr = "Database=test;Data Source=127.0.0.1;port=3306;User Id = root;"; MySqlConnection conn = new MySqlConnection(connSt
2020-12-03 19:18:42
417
原创 C#网络编程(一)
Sokect在计算机通信领域,Socket被翻译为“套接字”,他是计算机之间进行通信的一种约定或者是一种方式。通过Socket这种约定,一台计算机可以接受到其他计算机的数据,也可以向其他计算机发送数据。TCP和UDPTCP是面向连接的,保证可靠的数据传输,每次建立连接都需要经历三次握手,数据传输完成都需要经历4次挥手断开连接,由于TCP是面向连接的所以只能用于端到端的通信。UDP是面向无连接的通讯协议,每次发送数据不需要建立连接,因此可以用于广播发送并不局限于端到端。TCP和UDP区别UDP:
2020-12-01 17:59:08
597
原创 Unity Shader学习总结(二)
漫反射漫反射根据就算位置不同分为逐顶点漫反射和逐像素漫反射。(1)在顶点着色器中计算。 此方法称为 逐顶点光照 或 高洛德着色(Gouraud shading), 在每个顶点上计算光照,然后在渲染图元内部进行线性插值,输出成像素颜色。而顶点数目通常会远小于像素数目,所以逐顶点光照的计算量往往更小(2)在片元着色器中计算。此方法称为 逐像素光照 或 Phong着色(Phong shading),以每个像素为基础,得到它的法线(可以对顶点法线插值得到,也可以从法线纹理中采样得到)漫反射计算公式:漫反射颜
2020-11-27 22:06:36
257
原创 Unity Shader学习总结(一)
最简单的ShaderShader "MyShader/FirstShader"{ SubShader{ pass { CGPROGRAM //顶点函数 这里只是声明了定点函数的函数名 //把模型空间坐标转换到 剪裁空间 #pragma vertex vert //片元函数 //返回模型在屏幕中每个像素的颜色值 #pragma fragment frag float4 vert(float4 v : POSITION) : sv_POSITION
2020-11-25 12:29:34
340
原创 xLua热更新学习总结
xLua 学习总结一.xLua配置1.GitHub 下载xLua压缩包 地址: xLua. 点击Code下载压缩包。2.解压后,将Assets中四个文件复制到Unity项目Assets文件夹下。3.将Tool文件复制到Assets同级目录下。4.点击Build Settings.点击Player SettingsOtherSettings的Scripting Define Symbols设置为HOTFIX_ENABLE然后回车5.找到Unity安装位置,将Editor\Data\Mana
2020-11-20 09:45:51
171
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人