自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (1)
  • 收藏
  • 关注

原创 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 1262 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 1035

原创 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 497

原创 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 186

原创 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 1258

原创 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 1192

转载 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 3477

原创 初探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 1394

原创 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 5094

原创 通过顶点投射的方式实现简单实时阴影

通过顶点投射的方式实现简单的实时阴影实时阴影的实现方法有很多种,shadowMap适用性最好,但性能开销也大,有时候我们的项目其实并不需要那么通用的阴影,我们只需要一个“适用某些特定场合”的一个“看起来正确”的实时阴影。本文所说的,就是一种利用顶点投射的方法实现的实时阴影技术,在一些阴影质量要求不高,地面平整的项目是一个非常合适的方案。原理忽略自身阴影不谈,如果我们只考虑物体在地面上的阴影的话,其实就可以把这个问题简单概括为求一个物体每一个顶点在某个平面上的投影位置了。公式推导其实就是算出点W

2020-10-03 08:34:31 249

原创 装好的主机成功点亮显示器却显示超频的坑

装好的主机成功点亮显示器却显示超频的坑最近自己用的笔记本越来越卡了,就寻思着花点钱组个台式配置就不细谈了,就说说装完后遇到的一个神奇的坑主机装好后,成功点亮,但是显示器却一直显示超频,一开始把我给整懵了显示器是贪了小便宜淘宝买的杂牌,HDMI的接口,VGA也有,但是没有线以为是显示器的频率太高了或者太低了,用笔记本调整过后,还是不行但是我手上又只有这一台显示器,百度之后说是主机的刷新频率太高了调低就行了,但是我的情况是连显示都显示不了,更别说调试了无奈只好抱着机子去电脑铺,最后在那换了台显示

2020-08-16 11:53:58 611

原创 位运算

位运算学习整理按位与(&)按位或(|)异或(^)异或的几条性质:左移运算符(<<)右移运算符(>>)不同长度的数据进行位运算按位与(&)两位同时位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 165

原创 NGUI常见功能解释

NGUI常见功能解释一、 NGUI的直接用法Attach a Collider:表示为NGUI的某些物体添加碰撞器,如果界面是用NGUI做的,只能这样添加。(注:用Component添加无效)。Attach an Anchor:表示为该物体添加了UIAnchor脚本,作用是避免像素偏移的问题Attach UIStretch:表示为该物体添加了UIStretch脚本,提供缩放功能...

2020-05-03 13:51:06 639

原创 Unity PureMVC框架思路

2020-04-06 23:49:15 202

原创 热更踩坑

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 219

原创 排序算法

文章目录排序算法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 188

原创 线程与进程

进程与线程进程:是应用程序的执行实例线程:是进程的一个执行单元进程与线程的关系每个进程至少有一个线程(主线程),进程不执行任何东西,他只是线程的容器一个进程可以拥有多个线程,同属于一个进程的线程共享内存和关联资源一个线程只能属于一个进程进程与线程的区别根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位在开销方面:每个进程都有独立的代码和数据空间(程序...

2020-02-21 14:54:37 129

原创 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 309

原创 C#虚函数(学习笔记)

在某个基类中声明为virtual并在一个或多个派生类中重新定义的成员函数称为虚函数(自己理解:允许在派生类中重新定义与基类同名的函数)虚函数的作用是实现多态性(polymorphic),多态性是将接口和实现进行分离C#作为完全面向对象语言,所有函数并不默认为virtual,但可以在基类中声明关键字virtual,就可以在其派生类中通过关键字override重写该函数。重写后的virtual函...

2020-02-21 14:53:32 324

原创 观察者模式和C#委托事件学习笔记

文章目录观察者模式代码实例猫叫老鼠跑主人醒C#事件委托委托事件观察者模式当对象存在一对多的关系时,可以考虑使用观察者模式(Observer Pattern)意图: 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖与他的对象都得到通知并自动更新。主要解决: 一个对象状态改变如何通知其他对象的问题,而且要考虑到易用和低耦合,保证高度协作如何解决: 使用面向对象技术,可以...

2020-02-21 14:52:10 256

原创 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 2819

原创 Unity通过Bone、Mesh和Material换装系统思路

主要步骤将所有的bones、mesh、material信息存储起来创建modle并从服装信息中选一组数据初始化Modle换装核心:从服装信息中选择要换的部位的bone、mesh和material与Modle中对应部分的bone、mesh、material进行对调...

2020-02-21 14:50:39 399

原创 Unity AssetBundle学习笔记

Unity AssetBundleAssetBundle的定义和作用AssetBundle是一个压缩包,包含游戏中的模型,贴图,预制体,声音资源甚至整个场景,可以在游戏运行时被加载AssetBundle自身保存着依赖关系把一些可以下载的内容放在AssetBundle里,可减少安装包的大小压缩包可使用LZMA和LZ4压缩算法,减少包大小,更快的进行网络传输What is AssetB...

2020-02-21 14:48:32 344

原创 Uinty学习笔记:游戏中的存档和读档(PlayerPrefs和Json)

[System.Serializable]public class Save{ public double money;}private Save CreateSaveGO()    {        Save save = new Save();  &n...

2019-05-13 17:47:21 2164

原创 数据结构-单链表(学习笔记)

一、单链表的结点数据类型typedef int DataType;struct Node{ DataTpye data; struct Node *next; //next为指向下一结点的指针};二、初始化单链表int InitList(Node *&H){ H = new Node; //分配空间,作为头结点 if(!H) { cout<<"...

2019-04-26 21:59:34 1450

原创 数据结构-顺序表(学习笔记)

顺序表是以数组为储存方式,将n(n>=0)个属性相同的数据元素组成的一个有限序列顺序表存储结构的实现①需要一个数组来存放数据②需要一个整形变量来表示顺序表的长度一、定义顺序表类型#define LISTSIZE 100 //顺序表的长度typedef int DataType; //顺序表的数据类型typedef struct{ DataType items[LIST...

2019-04-26 14:22:14 1602

原创 Unity Loading转场学习笔记

将要加载的场景全都导入Bulid Settings,跳过此步会报错编写LevelManager脚本,实现Loading转场效果

2019-04-14 17:27:51 1291

原创 游戏中几种简单的追踪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 1646

原创 Unity 2d-kit学习笔记

用2d-kit创建一个新的2d场景运行,并按下F12,可看到提示框,再次按下可以取消打开Tile Palette选择TilesetGameKit随意选择一种地图块并进行绘制可将Art下Sprite里的精灵直接拖拽至场景中构建地图选择Ellen,在Inspector中可以看到Damage’able和Dameger两个脚本组件,这两个组件确保主角Ellen可以受到伤害和早...

2019-04-13 16:10:00 2357

原创 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 651

原创 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 200

原创 游戏中对象与点,边,斜面碰撞后速度方向的变化

(一)与点发生碰撞当与点发生碰撞时,速度的方向直接变成反方向 v=-v(二)与边发生碰撞a.当与竖边发生碰撞时,速度x方向上的分量的方向变成反方向,y方向上的分量方向保持不变 vx=-vxb.当与横边发生碰撞时,速度y方向上的分量的方向变成反方向,x方向上的分量方向保持不变 vy=-vy(三)与斜面发生碰撞先求斜面的垂直向量假设斜面用向量B[x,y]表示,有向量的几何意义:两个垂直向...

2019-03-22 16:35:39 1252

原创 Sprite Shape Profile学习笔记

(一)Sprite Strip(二)Sprite Shape

2019-03-22 15:02:48 1083

原创 不会美术也能用Unity制作简单的2D骨骼动画(五)录制动画

在开始录制动画之前,确保所有的对象都为Rock Golem的子对象Window-&gt;Animation-&gt;Animation或者Ctrl+6打开动画编辑器点击Create创建动画片段,命名并选择合适的路径保存点击录制按钮开始录制动画,然后选择右手的IK对象然后将帧拉到0:30的位置,并将右手IK调整至如图所示位置然后复制第一帧粘贴到1:00的位置左手IK也完成一样...

2019-03-09 16:55:33 1746 4

原创 不会美术也能用Unity制作简单的2D骨骼动画(四)设置反向动力学IK

首先科普一下反向动力学是啥?反向动力学:Inverse kinematics一种通过先确定子骨骼的位置,然后反求推导出其所在骨骼链上n级父骨骼位置,从而确定整条骨骼链的方法。按照前几章的步骤,将角色的其他部分补齐并绑定好骨骼,如下图设置好角色后创建一个空对象并命名为IK,然后在IK下再创建一个空的子对象并命名为R IK Target然后在R IK Target 对象里添加Ik Li...

2019-03-09 15:40:21 1502 2

原创 不会美术也能用Unity制作简单的2D骨骼动画(三)手臂绑定

找到素材中组成右手臂的三个精灵图片,分别添加SpriteMesh,Sorting Layer并设置好层级(忘记的怎么设置的同学请自觉回第一章复习),完成如下图中的效果在Neck节点下添加新的骨骼,并命名为R Arm1,再在R Arm1节点下添加一个新的节点并命名为RHand这里手臂有三个精灵网格,但是只需要两个骨骼就可以串联调整骨骼的长度和位置如图所示骨骼长度可通过图中圈出的Lengt...

2019-03-08 21:15:52 3439

原创 不会美术也能用Unity制作简单的2D骨骼动画(二)添加骨骼

紧接上一步的做法,如图所示添加在Rock Golem下添加一根骨骼,并命名为Hips,作为臀部骨骼图中黄色的针就是骨骼,点击黄色方框可对移动骨骼,点击针部则可旋转骨骼按下图中的层级顺序分别创建Spine,Neck,Skull,Jaw骨骼,并调整至如图所示接着进行骨骼绑定选择要绑定的对象精灵,然后选择窗口左上角的Window-&amp;gt;Animation2D-&amp;gt;SpriteMesh...

2019-03-08 17:08:28 10360 5

原创 不会美术也能用Unity制作简单的2D骨骼动画(一)精灵网格

将上面的图片导入项目中选择图片,在Inspector中将Texture Type选择为Sprite(2D and UI);将Sprite Mode选择为Multiple,如图所示;点击Sprite Editor按钮;弹出窗口,选择Apply即可进入编辑器,选择左上角的Slice选项,这时会弹出一个小窗口,再次点击小窗口中的Slice按钮,即可完成对图片的自动切割;关闭Spri...

2019-03-08 15:23:38 3798 3

windows jdk-15安装包

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

2020-10-18

空空如也

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

TA关注的人

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