数据表 手记unity3d笔记

数据库连接池

数据库连接行为 redis好就好在他是单进程单线程IO多路复用的,所以连接一直不关闭也不会有什么大的影响。 Mysql是多线程的,线程开多了不关,问题肯定还是比较严重的。 连接池技术 那有没有办法可以弄一个来管理这些长连接的,让他一直不要关闭,答案就是连接池。 原理: 连接池基本的思想是在系统初始化 ......
数据库 数据

【笔记】C++缺省源

C++竞赛使用缺省源(包括几次迭代的多个功能) 点击查看代码 /* Author: Sean_xzx Right Output! & Accepted! 本题核心: 1. 本题步骤: 1. */ #include <bits/stdc++.h> #define rep(i, a, b) for(in ......
笔记

上课用数据库

/* Navicat MySQL Data Transfer Source Server : kuyu Source Server Version : 50622 Source Host : localhost:3306 Source Database : wgj Target Server Typ ......
数据库 数据

后缀数组SA学习笔记

洛谷模板题 题意:读入一个长度为 $ n $ 的由大小写英文字母或数字组成的字符串,请把这个字符串的所有非空后缀按字典序(用 ASCII 数值比较)从小到大排序,然后按顺序输出后缀的第一个字符在原串中的位置。位置编号为 $ 1 $ 到 $ n $。其中$1\le n \le 10^6$ 讲解清楚,码 ......
数组 后缀 笔记

将数据转换为树形结构格式

addarrdata (data) { if (!Array.isArray(data)) {//验证data是不是数组类型 return [] } data.forEach(item => { item.parentId = item.fid item.label = item.typeName ......
树形 结构 格式 数据

MySQL只有data文件夹(数据库同名)数据恢复

第一步,查看环境,有没有可运行的数据库服务,如果有,进行第三步,如果没有,进行第二步; 第二步,安装一个数据库服务,进行第三步; 第三步,创建一个要恢复数据同名的DB; 第四步,创建一个要恢复的数据表,比如Table1; 第五步,执行语句:ALTER TABLE Table1 DISCARD TAB ......

消息 7347,级别 16, 链接服务器 'XXX' 的 OLE DB 访问接口 'MSDASQL' 返回的数据与列 '[MSDASQL].ext' 所需的数据长度不匹配。所需的(最大)数据长度为 510,但返回的数据长度为 5570。

消息 7347,级别 16,状态 1,第 174 行链接服务器 'XXX' 的 OLE DB 访问接口 'MSDASQL' 返回的数据与列 '[MSDASQL].ext' 所需的数据长度不匹配。所需的(最大)数据长度为 510,但返回的数据长度为 5570。 ......
数据 长度 39 MSDASQL 接口

学习记录:第一周day01笔记

linux系统简单介绍: BCPL->New B->C->Unix->Minix->Linux->gcc为了编译LInux内核产生 美国贝尔实验室 1.cd命令: cd 文件路径:进入某个目录 / :根目录,所有文件都存储在该目录下 ~:用户主目录,linux提供一个快捷方式cd可以直接回到用户主目 ......
笔记 day 01

学习记录:第一周day02笔记

vim文本编辑器: 可以直接在终端下采用纯键盘操作的一款文本编辑器(号称编辑器之神,可以升级、可以扩展) 基础用法: 1、进入vim: 输入 vim file.c 文件存在则打开,否则新建并打开 2、输入i: 进入编辑模式,编写代码 3、保存并退出 按Esc,输入ZZ保存并退出 vim三大模式: 正 ......
笔记 day 02

学习记录:第一周day03笔记

一、数据类型 为什么要对数据进行分类? 1、现实中的数据就是自带类别属性的 2、对数据进行分类可以节约内存存储空间、提高运行速度 存储空间的单位: Bit 比特 存储1个二进制位,只能存储0或1,是计算机存储数据的最小单位 Byte 字节 存储8个二进制位,是计算机存储数据的基本单位 KB(Kb) ......
笔记 day 03

学习记录:第一周day04笔记

一、for循环语句 循环:就是一种让代码反复执行的方式,从而达到想要的效果 for循环一般会使用一个变量来引导循环的进行,这一变量叫做该循环的循环变量 i index for循环的变化很灵活,但也很危险 for循环的括号问题: 1、for循环内只有一行代码时,大括号可以省略 但是这样不利于后期代码扩 ......
笔记 day 04

学习记录:第一周day05笔记

一、数组 什么是数组:变量的组合,是一种批量定义相同类型变量的方式 定义: 类型名 数组名[数量]; int arr[5]; 注意:数组的内存空间是连续分配的,且数组的长度一旦确定就无法改变 使用:数组名[下标]; 下标:从0开始,范围:0~数量-1 可以是任意整型表达式,包括整型变量和整型常量 遍 ......
笔记 day 05

学习记录:第二周day01笔记

一、Window下获取方向键 1、导入头文件 #include<conio.h> 2、通过getch()获取键盘上的键值 上:72 下:80 左:75 右:77 二、Linux下获取方向键: 1、在Window中把getch.h文件放入共享文件夹中 2、在Linux的共享文件夹下执行 mv getc ......
笔记 day 01

学习记录:第二周day02笔记

进制转换 1、为什么使用二进制、八进制、十六进制? 因为目前CPU只能识别高低两种电平,只能对二进制数据进行计算 二进制虽然能够直接别计算机识别但是不方便人去书写和记录,因此就把二进制数据转换成八进制,方便记录到文档中 随着CPU的位数的不断增加(目前已经到64位),八进制不再能够用满足需求,因此发 ......
笔记 day 02

【Unity3D】基于模板测试和顶点膨胀的描边方法

1 前言 ​ 选中物体描边特效 中介绍了基于模板纹理模糊膨胀的描边方法,该方法实现了软描边,效果较好,但是为了得到模糊纹理,对屏幕像素进行了多次渲染,效率欠佳。本文将介绍另一种描边方法:基于模板测试和顶点膨胀的描边方法,该方法绘制的是硬描边,但效率较高。 ​ 基于顶点膨胀的描边方法都会遇到以下问题: ......
顶点 模板 Unity3D 方法 Unity3

【Unity3D】水波特效

1 水波特效原理 ​ 水波特效属于 Unity3D 后处理特效,其原理是:对渲染后的纹理进行局部挤压和拉升变换,即对局部 uv 坐标进行周期性的偏移运动,实现波纹效果。 ​ 1)波形方程 ​ 为简化水波模型,我们假设水波以机械波(正弦或余弦)传播,并且 0 时刻的水面波形函数为: ​ 其中,r 是质 ......
水波 特效 Unity3D Unity3 Unity

【Unity3D】卷轴特效

1 原理 ​ 当一个圆在地面上沿直线匀速滚动时,圆上固定点的运动轨迹称为旋轮线(或摆线、圆滚线)。本文实现的卷轴特效使用了旋轮线相关理论。 ​ 以下是卷轴特效原理及公式推导,将屏幕坐标 (x) 映射到纹理坐标 (u)。 ​ 注意:屏幕坐标 x 值域为 [0, ScreenWidth],这里已归一化到 ......
卷轴 特效 Unity3D Unity3 Unity

【Unity3D】Photon环境搭建

1 简介 ​ Photon 是一个泛用性的 ScoketServer 套装软件,可用于多人在线游戏、聊天室、大厅游戏,并同时支持 Windows、Unity3D、iOS、Android、Flash 等平台。Photon 包含两个部分,一部分是 Socket 服务器,另一部分是其针对各个平台编写的 S ......
Unity3D 环境 Photon Unity3 Unity

【Unity3D】缩放、平移、旋转场景

1 前言 ​ 场景缩放、平移、旋转有两种实现方案,一种是对场景中所有物体进行同步变换,另一种方案是对相机的位置和姿态进行变换。 ​ 对于方案一,如果所有物体都在同一个根对象下(其子对象或孙子对象),那么只需要对根对象施加变换就可以实现场景变换;如果有多个根对象,那就需要对所有根对象施加变换。该方案实 ......
场景 Unity3D Unity3 Unity 3D

【Unity3D】半球卷屏特效

1 原理 ​ 凸镜贴图 和 渐变凸镜贴图 中介绍了使用 OpenGL 实现凸镜贴图及其原理,通过顶点坐标映射到纹理坐标,并构造三角形网格,构建了真正的三维凸镜模型。本文通过 Shader 实现半球卷屏特效,通过屏幕坐标映射到纹理坐标,不需要构建凸镜模型,效率更高。 ​ 1)凸变换原理 ​ 以下凸变换 ......
半球 特效 Unity3D Unity3 Unity

【Unity3D】使用GL绘制线段

1 前言 ​ 线段渲染器LineRenderer、拖尾TrailRenderer、绘制物体表面三角形网格从不同角度介绍了绘制线段的方法,本文再介绍一种新的绘制线段的方法:使用 GL 绘制线段。 ​ Graphics Library(简称 GL),包含一系列类似 OpenGL 的 Immediate ......
线段 Unity3D Unity3 Unity 3D

【Unity3D】选中物体描边特效

1 前言 ​ 描边的难点在于如何检测和识别边缘,当前实现描边特效的方法主要有以下几种: ​ 1)基于顶点膨胀的描边方法 ​ 在 SubShader 中开 2 个 Pass 渲染通道,第一个 Pass 通道渲染膨胀的顶点,即将顶点坐标沿着法线方向向外扩展,并使用纯色给扩展后的顶点着色,第二个 Pass ......
物体 特效 Unity3D Unity3 Unity

【Unity3D】绘制物体表面三角形网格

1 仅绘制三角形网格 ​ 1)创建游戏对象 ​ 创建一个空对象,重命名为 Grid,并在其下添加需要绘制网格的对象,如下: ​ 场景显示如下: ​ 2)添加脚本组件 ​ GridController.cs using System; using UnityEngine; public class G ......
网格 三角形 物体 表面 Unity3D

【Unity3D】基于AssetBundle实现资源热更新

1 前言 ​ Unity3D 本地资源一般放在 Resources 目录下,但是 Resouces 文件夹的大小不能超过 2G,使用 AssetBundle 管理资源可以解决 Resources 文件夹受限问题。 ​ 本文代码资源见→基于AssetBundle实现资源热更新。 ​ AssetBund ......
AssetBundle Unity3D Unity3 资源 Unity

【Unity3D】绘制物体外框线条盒子

1 需求描述 ​ 点选物体、框选物体、绘制外边框 中介绍了物体投影到屏幕上的二维外框绘制方法,本文将介绍物体外框线条盒子绘制方法。 内框:选中物体后,绘制物体的内框(紧贴物体、并与物体姿态一致的内框盒子) 外框:选中物体后,绘制物体的外框(紧贴物体、并与世界坐标系的朝向一致的外框盒子) ​ 内框和外 ......
物体 线条 盒子 Unity3D Unity3

【Unity3D】点选物体、框选物体、绘制外边框

1 需求描述 ​ 绘制物体外框线条盒子 中介绍了绘制物体外框长方体的方法,本文将介绍物体投影到屏幕上的二维外框绘制方法。 点选物体:点击物体,可以选中物体,按住 Ctrl 追加选中,选中的物体设置为红色。 框选物体:拖拽鼠标,屏幕上会出现滑动框,滑动框内的物体会被选中,选中的物体设置为红色。 绘制外 ......
物体 边框 Unity3D Unity3 Unity

【Unity3D】协同程序

1 简介 ​ 1)协程概念 ​ 协同程序(Coroutine)简称协程,是伴随主线程一起运行的程序片段,是一个能够暂停执行的函数,用于解决程序并行问题。协程是 C# 中的概念,由于 Unity3D 的渲染操作是基于帧实现的,使用线程(Thread)不便于控制,因此 Unity3D 选择使用协程实现并 ......
Unity3D 程序 Unity3 Unity 3D

【Unity3D】VideoPlayer组件

1 简介 ​ AudioSource组件中介绍了音频的播放,本文将介绍基于 VideoPlayer 组件实现视频播放。 ​ VideoPlayer 属性面板如下: Source:视频源类型,有 2 种类型:Video Clip、URL; Video Clip:视频片段; Play On Awake: ......
VideoPlayer 组件 Unity3D Unity3 Unity

【Unity3D】表面着色器

1 前言 ​ 固定管线着色器一、固定管线着色器二 中介绍了 ShaderLib 的基本用法,本文将接着讲解表面着色器(Surface Shader)的用法。固定管线着色器基于 ShaderLib 命令实现,表面着色器基于 CG 语言实现。目前主流的 Shader 编程语言主要有 GLSL、HLSL、 ......
表面 Unity3D Unity3 Unity 3D

【Unity3D】粒子系统ParticleSystem

1 简介 ​ 拖尾(TrailRenderer)、线段渲染器(LineRenderer)、粒子系统(ParticleSystem)是 Unity3D 提供的三大特效,其中粒子系统的功能最为强大,特效也最炫酷,但操作也最复杂。粒子系统中,不断地有粒子生成和粒子消亡,一般而言,粒子消亡速率和生成速率保持 ......
粒子 ParticleSystem Unity3D Unity3 系统