![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习笔记
文章平均质量分 60
YYYJ_BOY
这个作者很懒,什么都没留下…
展开
-
Unity声音系统笔记
Unity声音系统**1.概述****2.Unity中的声音****声音格式****导入设置****系统设置****3.AudioClip声音剪辑****声音属性****4.控制声音播放****Audio Listener****Audio Source****代码控制音频****5.AudioSource属性****6.Reverb Zone****7.Audio Filter****8.Audio Mixer初识****音频信号线路****AudioMixer View****9.Audio Group原创 2021-06-19 23:51:34 · 1291 阅读 · 2 评论 -
Unity VideoPlayer 播放视频
Unity VideoPlayer 播放视频1.将视频拖到Assets中2.创建对象并挂在VideoPlayer脚本3.使用Camera播放4.使用Render Texure播放1.将视频拖到Assets中2.创建对象并挂在VideoPlayer脚本3.使用Camera播放将视频拖到Video Clip中,并设置用来播放的摄像机或者选择Url并设置视频的相对路径点击Unity运行,即可播放视频4.使用Render Texure播放创建RenderTexure和材质球,材质球Shader原创 2021-01-11 01:34:12 · 1043 阅读 · 0 评论 -
UGUI实现不规则图片点击(像素点击)的简单方法
UGUI实现不规则图片点击(像素点击)的简单方法1.开启图片的Read/Write Enabled2.设置 image.alphaHitTestMinimumThreshold属性3.参加文章1.开启图片的Read/Write Enabled2.设置 image.alphaHitTestMinimumThreshold属性该值用于判断点击像素点是否能响应事件,若点击的点像素值大于该值,则响应点击事件,否则不响应具体代码如下void Start() { Image image原创 2020-12-06 14:29:56 · 503 阅读 · 0 评论 -
Unity小地图制作
1.创建一个摄像机2.创建一个custom render texture3.把custom render texture赋给摄像机的target texture4.创建一个材质,shader选择texture类型,并把main texture赋值为custom render texture5.创建UI,并把材质赋给UI原创 2020-11-01 22:31:34 · 188 阅读 · 0 评论 -
Unity Shader (二) 最基础的Diffuse(漫反射)和Normal(法线贴图)样例
@[toc](Unity Shader (二) 最基础的Diffuse(漫反射)和Normal(法线贴图)样例)1.Shader代码Shader "Custom/BumpShader"{ Properties { _Color ("Color", Color) = (1,1,1,1) _MainTex ("Albedo (RGB)", 2D) = "white" {} //什么是"bump"{},通过实验可以知道,它是指蓝色“bump”原创 2020-10-25 16:05:55 · 1269 阅读 · 0 评论 -
Unity Shader(一)基础知识和语法
Unity Shader(一)语法1.Shader程序的基本架构1.文件声明2.简单的UV理解3.属性声明语法(properties)4.子着色器代码语法1.Shader程序的基本架构1.文件声明下面展示一些 内联代码片。/*首行声明了一个Shader,命名为MyFirstShader,存放在路径Study2下(这个路径在哪里不是重点,它归类在自定义中)*/Shader "Study2/MyFirstShader"2.简单的UV理解/* UV纹理。简单来说:A是一张图片(称A为纹理)原创 2020-10-25 15:47:38 · 1219 阅读 · 0 评论 -
uv纹理坐标设定与贴图规则
uv纹理坐标设定与贴图规则1.什么是UV?2、uv纹理坐标设定与贴图规则3、平铺与箔拉3.1、平铺(也叫重复)3.2、箝位1.什么是UV?对于三维模型,有两个最重要的坐标系统,一是顶点的位置(X,Y,Z)坐标,另一个就是UV坐标。什么是UV?简单的说,就是贴图影射到模型表面的依据。 完整的说,其实应该是UVW(因为XYZ已经用过了,所以另选三个字母表示)。U和V分别是图片在显示器水平、垂直方向上的坐标,取值一般都是0~1,也 就是(水平方向的第U个像素/图片宽度,垂直方向的第V个像素/图片高度)。那W呢转载 2020-10-24 16:03:19 · 3557 阅读 · 0 评论 -
初探Unity Animation Rigging
初探Unity Animation Rigging1.安装Animation Rigging Package2.随便拼个游戏对象3.模型父节点添加Bone Render脚本,并添加所有的模型对象这一步可有可无,只是根据设置的模型对象大概渲染了一个骨骼,直接点击某根骨骼就可以直接控制对应模型对象,很方便,就不用去模型里一个一个找了4.模型父节点下创建以下对象RigExample父节点添加Rig组件Parent_Constaint节点添加Multi-Parent Constraint组件原创 2020-10-18 23:38:25 · 1404 阅读 · 0 评论 -
Unity打包工程到Android Studio发布APK流程
Unity打包安卓APK流程1 安装JDK并配置环境1.1 下载JDK1.2 环境配置2 安装Android Studio,简称ASD2.1 下载Android Studio2.2 配置SDK环境1 安装JDK并配置环境1.1 下载JDK官网下载地址:https://www.oracle.com/java/technologies/javase-downloads.html注:官网下载一般需要翻墙选择要下载的JDK版本根据自己的开发平台选择要下载的安装包1.2 环境配置== 如果下载的j原创 2020-10-18 15:39:32 · 5189 阅读 · 1 评论 -
位运算
位运算学习整理按位与(&)按位或(|)异或(^)异或的几条性质:左移运算符(<<)右移运算符(>>)不同长度的数据进行位运算按位与(&)两位同时位1时结果为1如0&0 = 0,1&0 = 0,0&1 = 0,1&1 = 1特殊用途(1)清零。如果想将一个单元清零,即使其全部二进制位为0,只要与一个各位都为零的数值相与,结果为零。(2)取一个数中指定位。找一个数,对应X要取的位,该数的对应位为1,其余位为零,此数与X进行“与运原创 2020-07-04 09:34:40 · 167 阅读 · 0 评论 -
NGUI常见功能解释
NGUI常见功能解释一、 NGUI的直接用法Attach a Collider:表示为NGUI的某些物体添加碰撞器,如果界面是用NGUI做的,只能这样添加。(注:用Component添加无效)。Attach an Anchor:表示为该物体添加了UIAnchor脚本,作用是避免像素偏移的问题Attach UIStretch:表示为该物体添加了UIStretch脚本,提供缩放功能...原创 2020-05-03 13:51:06 · 643 阅读 · 0 评论 -
热更踩坑
1.lua无法自动注入C#程序集PlayerSetting里的Scripting Define Symbol里设置为HOTFIX_ENABLE(宏)2.[CSharpCallLua]无法编译接口类或委托类必须设为public才能编译3.无法打包成功的坑删除Example文件,再clear->gen->hotfix4.定义myLoaderprivate byte[] MyL...原创 2020-02-21 14:56:39 · 220 阅读 · 0 评论 -
排序算法
文章目录排序算法1.冒泡排序选择排序法插入排序快速排序堆排序排序算法1.冒泡排序通过相邻元素的比较和交换,来吧小的数交换到最前面,这个过程类似水泡向上升时间复杂度:O(n2 )void BubbleSort(int[] arr){ if(arr==null||arr.length==0) return; for(int i=0;i<arr.length;i++) { f...原创 2020-02-21 14:55:34 · 190 阅读 · 0 评论 -
线程与进程
进程与线程进程:是应用程序的执行实例线程:是进程的一个执行单元进程与线程的关系每个进程至少有一个线程(主线程),进程不执行任何东西,他只是线程的容器一个进程可以拥有多个线程,同属于一个进程的线程共享内存和关联资源一个线程只能属于一个进程进程与线程的区别根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位在开销方面:每个进程都有独立的代码和数据空间(程序...原创 2020-02-21 14:54:37 · 130 阅读 · 0 评论 -
TCP/UDP协议及两者的区别
文章目录TCP/UDP协议及两者的区别一、TCP协议(传输控制协议)(1)TCP的定义(2)TCP三次握手(2)TCP四次挥手UPD的定义(用户数据报协议==TCP和UDP的区别==TCP/UDP协议及两者的区别一、TCP协议(传输控制协议)(1)TCP的定义位于传输层, 提供可靠的字节流服务。字节流服务(Byte Stream Service) 是指, 为了方便传输, 将大块数据分割成以...原创 2020-02-21 14:54:11 · 312 阅读 · 0 评论 -
C#虚函数(学习笔记)
在某个基类中声明为virtual并在一个或多个派生类中重新定义的成员函数称为虚函数(自己理解:允许在派生类中重新定义与基类同名的函数)虚函数的作用是实现多态性(polymorphic),多态性是将接口和实现进行分离C#作为完全面向对象语言,所有函数并不默认为virtual,但可以在基类中声明关键字virtual,就可以在其派生类中通过关键字override重写该函数。重写后的virtual函...原创 2020-02-21 14:53:32 · 325 阅读 · 0 评论 -
Unity通过Bone、Mesh和Material换装系统思路
主要步骤将所有的bones、mesh、material信息存储起来创建modle并从服装信息中选一组数据初始化Modle换装核心:从服装信息中选择要换的部位的bone、mesh和material与Modle中对应部分的bone、mesh、material进行对调...原创 2020-02-21 14:50:39 · 401 阅读 · 0 评论 -
Unity UIManager框架学习笔记
文章目录Unity UIManager框架学习笔记主要步骤具体实现以及代码1. 制作界面prefab2. 编写json文件存放prefab路径3. 定义一个枚举,包含所有UI界面名字信息4. 定义一个脚本,将json文件反序列化,读取UI界面prefab路径5. 定义BasePanel基类,声明并定义虚函数OnEnter(),OnPause(),OnResume(),OnExit(),若有其他通用...原创 2020-02-21 14:51:56 · 2832 阅读 · 0 评论 -
观察者模式和C#委托事件学习笔记
文章目录观察者模式代码实例猫叫老鼠跑主人醒C#事件委托委托事件观察者模式当对象存在一对多的关系时,可以考虑使用观察者模式(Observer Pattern)意图: 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖与他的对象都得到通知并自动更新。主要解决: 一个对象状态改变如何通知其他对象的问题,而且要考虑到易用和低耦合,保证高度协作如何解决: 使用面向对象技术,可以...原创 2020-02-21 14:52:10 · 258 阅读 · 0 评论 -
Unity AssetBundle学习笔记
Unity AssetBundleAssetBundle的定义和作用AssetBundle是一个压缩包,包含游戏中的模型,贴图,预制体,声音资源甚至整个场景,可以在游戏运行时被加载AssetBundle自身保存着依赖关系把一些可以下载的内容放在AssetBundle里,可减少安装包的大小压缩包可使用LZMA和LZ4压缩算法,减少包大小,更快的进行网络传输What is AssetB...原创 2020-02-21 14:48:32 · 346 阅读 · 0 评论 -
Unity Loading转场学习笔记
将要加载的场景全都导入Bulid Settings,跳过此步会报错编写LevelManager脚本,实现Loading转场效果原创 2019-04-14 17:27:51 · 1295 阅读 · 0 评论 -
游戏中几种简单的追踪AI
(一)基本追踪AI实现原理:当追踪者的x、y坐标分别小于被追踪者的x、y坐标事,追踪者的x、y自增当追踪者的x、y坐标分别大于被追踪者的x、y坐标事,追踪者的x、y自减假设追踪者的坐标是predatorX和predatorY,被追踪者的坐标是preyX和prey,基本追踪的算法 如下```if(predatorX<preyX) predatorX--;else if(preda...原创 2019-04-14 14:28:22 · 1658 阅读 · 0 评论 -
Unity 2d-kit学习笔记
用2d-kit创建一个新的2d场景运行,并按下F12,可看到提示框,再次按下可以取消打开Tile Palette选择TilesetGameKit随意选择一种地图块并进行绘制可将Art下Sprite里的精灵直接拖拽至场景中构建地图选择Ellen,在Inspector中可以看到Damage’able和Dameger两个脚本组件,这两个组件确保主角Ellen可以受到伤害和早...原创 2019-04-13 16:10:00 · 2363 阅读 · 0 评论 -
Unity Testing学习笔记
创建一个空的项目在Assets下创建一个空的文件夹Editor(Create->Folder)在Editor下创建一个Tests Assembly Floder 并重命名为MyTest然后在MyTest下创建一个C# Test Script并重命名为MyTest将下面的代码复制进MyTest中using System.Collections;using System.Co...原创 2019-04-09 14:44:43 · 652 阅读 · 0 评论 -
TileMap笔记
创建新项目,将Tile Map资源包导入Window->2D->Tile Palette打开TilePalette面板如上图选择Create New Palette创建新的Palette提示拖动Tile资源或图片资源到此处将资源包里的Tile资源MyPipes拖拽至Tile Palette中(也可以将自己的图片素材做成Tile资源再导入)创建Tilemap对象...原创 2019-04-09 14:30:51 · 201 阅读 · 0 评论 -
游戏中对象与点,边,斜面碰撞后速度方向的变化
(一)与点发生碰撞当与点发生碰撞时,速度的方向直接变成反方向 v=-v(二)与边发生碰撞a.当与竖边发生碰撞时,速度x方向上的分量的方向变成反方向,y方向上的分量方向保持不变 vx=-vxb.当与横边发生碰撞时,速度y方向上的分量的方向变成反方向,x方向上的分量方向保持不变 vy=-vy(三)与斜面发生碰撞先求斜面的垂直向量假设斜面用向量B[x,y]表示,有向量的几何意义:两个垂直向...原创 2019-03-22 16:35:39 · 1254 阅读 · 0 评论