Unity
有点强
这个作者很懒,什么都没留下…
展开
-
Unity的基础数学
3D 数学基础前言本身对这方面其实不是很会,没办法,那天写了个功能用到这块了,临时抱佛脚学一学/(ㄒoㄒ)/~~,记录下来别回来又忘了学习视频B站上的达内教程https://www.bilibili.com/video/BV1Jt411974P?p=15&spm_id_from=pageDriver向量向量是一个数字列表(比如:(1,2,3)或者(1,2)),他表示的是各个维度上的有向(有方向)位移。向量是由大小(模长)和方向组成的大小和模长是一个意思方向空间中向量的指向描述原创 2021-09-25 23:42:39 · 301 阅读 · 0 评论 -
PIDI - XFur Studio 2
这是一个Unity Asset Store商店里的一个插件 是用来做毛皮的工具 目前Asset Store里售价$125使用步骤(官方文档):https://pidiwiki.irreverent-software.com/wiki/doku.php?id=xfur_studio_21.使用步骤导入包 2.然后Assets/PIDI Game Development Framework/PIDI - XFur Studio 2/Demos/Standard Pipeline/Basic Fea原创 2021-01-27 16:40:54 · 931 阅读 · 0 评论 -
HDRP学习笔记
Unity官方教学 b站地址:https://www.bilibili.com/video/BV1m5411573P?from=search&seid=8545629645051192635 Unity2018 开始出来的 分别为 HDRP 最高画质保证度 不适用所有的平台 URP 通用渲染管线 以前叫LWRP 轻量级渲染管线 所有平台都可以使用 Default Renderer 18以前不管是重量级游戏 还是轻量级游戏 统一都原创 2021-01-21 16:25:08 · 382 阅读 · 0 评论 -
体感测试
Assets 下导入Chart and Graph 和 Kinect 打开示例场景连接设备 根据设备型号插入相应USB中 当前设备是最新的 插入USB3.0里 官方文档里有写msdn上 https://docs.microsoft.com/zh-cn/azure/kinect-dk/system-requirementsKinect AzureKinectExamples/KinectDemos/AvatarDemo/KinectAvatarsDemo1 场景 示例 从中可以拿到cubema原创 2021-01-15 11:38:05 · 606 阅读 · 0 评论 -
Chart and Graph
Unity2019.4.17f1c1 测试 Chart and Graph 图标插件参考视频https://www.bilibili.com/video/BV18p4y1a7zJ/?spm_id_from=333.788.recommend_more_video.13示例 Themes/2d/Graph/preset 7/GraphChart找个对象 挂在脚本 Graph Chart 这里示例 挂在的是GraphChart对象上找到Data/Categories/Player 1 …原创 2020-12-31 18:01:15 · 976 阅读 · 1 评论 -
数据结构 优化
数据结构一个类就是一个数据类里面具体的叫数据元素逻辑结构集合结构 就是放在一起线性结构 一对一 比如数组树形结构 一对多的层级关系图形结构物理结构顺序存储结构 看方便 插入和删除不方便链式存储结构 插入和删除方便 查找不方便数据类型原子类型结构类型抽象数据类型算法SDK软件开发工具包需要配置jdk 配置好后可以在cmd里搜 java -version优化降低Drawcall调节摄像机渲染模式 顶点光照 延时光照 正向渲染原创 2020-12-08 15:29:04 · 263 阅读 · 0 评论 -
git 版本控制工具
版本控制工具Git简单的说就是管理你的版本,方便彼此的合作,最早用SVN,最近几年用的GitGit 可以放在本地,也可以放在云端,合作开发都要放在云端,这就需要代码托管平台 最大的代码托管平台是GitHub,国内的有码云,但是不方便个人学习使用,因为只能存储2G,coding免费十四天可以通过命令操作也可以通过可视化工具 比如SourcetreeGit Bash集成window,linux两套命令linux常用的命令 pwd:显示当前所在路径 ls:显示当前路径下的所有文件原创 2020-11-14 16:00:36 · 139 阅读 · 0 评论 -
AssetBundle
AssetBundle资源包资源管理文件 在硬盘存着 在服务器存着常用的资源可以用Resources.Load加载不太常用,或者比较大的资源要用AssetBundle打包,放到服务器上资源有依赖关系 插件需要放在Editor里面或者子文件里面AssetBundleSimpleBuild(1)第一步取AssetBundle名字找到资源 点一下 Inspector监视器面板最下面 命名using UnityEngine;using UnityEditor;//引用命名空间usin原创 2020-11-11 22:55:16 · 133 阅读 · 0 评论 -
photon网络框架
photonMULTIPLAYER 多人对战 COMMUNICATION SELF-HOSTEDREALTIME 实时更新 CHAT 聊天 SERVER 自己搭主机PUN photon针对unity开发的 VOICE 语音BOLT 点对点QUANTUM 质量监控前期配置photon有几个重要的类PhotonNetwork 核心的类 有很多静态方法 这个类是分开的 (public static partial class PhotonNetw原创 2020-11-05 15:36:57 · 742 阅读 · 0 评论 -
基础知识 Socket
网络基础知识TCP/IP协议比如A给B发一句你好这中间发送的过程: 你好转成二进制 -------> 到应用层加包头 App 你好-------> 到传输层TCP App 你好-------> 到IP层 IP TCP App 你好-------> 到链路层 帧头 IP TCP App 你好 帧尾想要用TCP协议 需要三次握手SYN表示请求ACK表示确认用户向服务器发SYN的包服务器向用户发SYN-ACK的包用户在向服务器发送ACK的包FIN表示结束用原创 2020-11-04 08:33:21 · 181 阅读 · 0 评论 -
Shader
Shader着色器 模型渲染方案创建材质球 监视面板就能显示Albedo 颜色和图片Metallic 金属光泽 Smoothness 光滑度Normal Map 法线贴图Height Map 高光Emission 自发光Shader 也要写代码 也有可视化工具 插件ShaderForgeShader 用的编程语言是CGunity支持三种ShaderCPU先得到渲染指令CPU把信息发给GPU 硬盘读.fbx文件 加载到内存里 再放到显存里 这里通过批处理方式GPU拿原创 2020-11-02 20:38:53 · 224 阅读 · 0 评论 -
FSM 有限状态机框架
FSM 有限状态机框架Stateusing UnityEngine;using System.Collections.Generic;using System;namespace FSM_Frame { //状态 public class State { #region Constructor 构造 public State(string stateName){ this.stateName =原创 2020-10-30 22:20:03 · 411 阅读 · 0 评论 -
A*寻路算法
A*寻路算法2D常用使用用途 A*节约一些性能 NavMeshAgent消耗性能会多一些相同的地方 都是烘焙不同的地方 NavMeshAgent网格烘焙 A*实时分析 A* 实时分析 其实也是通过网格烘焙 但是他是自己划分出来的网格 每个格子作为道路行走的最小单位 每个格子都有自己的属性 相对格子小点好 这样更精密 但也不能太小了 想要寻路 要考虑最短路径 要考虑起点也要考虑终点估量代价 起点估量代价 中心点的格子 周围上下左右 左上右上左下右下八个格原创 2020-10-28 22:39:48 · 161 阅读 · 0 评论 -
UI框架
UI框架解决的问题解决找对象问题交互事件管理模态处理语言本地化解决办法关于找对象问题要UI的统一管理 如果有一个UI管理,当需要找的时候直接通过UI管理就能找到交互事件通用事件管理 解决消息管理传递 消息框架模态UI的层次模块管理本地化文本多语言管理写UI框架前准备配置文件 XML/JSON/数据库/表格 一般都用XML/JSON 方便管理对象池脚本资源管理脚本单例管理脚本正式开写框架看框架时候要结合之前原创 2020-10-25 22:31:28 · 275 阅读 · 0 评论 -
通用框架 单例工具类 对象池优化
为什么使用框架解耦 开闭原则单利模板using System; /* 子类要想继承父类 需要先执行父类的构造函数 父类设置成私有 子类无法调用 子类里边可以设置私有 但是父类又错了 因为父类限制了 where T : new() 通过反射方式 解决私有构造 new 的问题*/ namespace Utility { public class Singleton<T> { //静态单利 private sta原创 2020-10-19 19:48:20 · 117 阅读 · 0 评论 -
Animation旧版动画 Unity 通过数据库实现登录注册功能
Animation旧版动画 可以制作一些简单的动画(1)想给谁做动画就选中谁(2)Window -----> Animation -----> 就可以打开一个窗口了Unity 通过数据库实现登录注册功能注意 写的时候一定要想清楚再写 要不会丢三落四 另外 一定要.text 不要直接输入框就插入 就很尴尬 如果sql 语句的 语法不确认 可以查看w3school 上面有语法using UnityEngine;using Mono.Data.Sqlite;using原创 2020-09-22 10:51:48 · 313 阅读 · 0 评论 -
SQL语句 协同程序 WWW VideoPlayer组件
SQL语句封装using UnityEngine;using Mono.Data.Sqlite;using System.Collections.Generic;using System.Collections;public class SQLFramework { #region 单利 private static SQLFramework instance; public static SQLFramework GetInstance(){ if(instance原创 2020-09-08 21:02:50 · 210 阅读 · 0 评论 -
小例子 数据库 Sqlite SQL语句
小例子Json解析先把保存下来的.json后缀名改成.txt,然后放到工程里using System;using UnityEngine;[System.Serializable]public class NewsData{ public NewsResult result; public int error_code;}[System.Serializable]public class NewsResult{ public NewsContent[] data;原创 2020-09-05 11:05:49 · 191 阅读 · 0 评论 -
数据存储 PlayerPrefs XML JSON
数据的持久化存储这个简单的来讲就是一个存档的功能 如果没有这个,游戏一关,电源一拔 立马傻眼 O(∩_∩)O 但也有这样的游戏,比如一些小游戏硬盘 大 目前一般都是买 T 固态硬盘 机械硬盘 机械硬盘分转速7200转 5400转的 转速越高 写入和读取的速度越快内存 比硬盘小 现在一般是G级别 读取速度比硬盘快CPU缓存(一级内存,二级内存) 基本上10兆以内 读写速度最快的 存储一些最核心 每天都要用的数据 我们写的这些代码都放在内存里了,持久化存储 需要把数据原创 2020-09-03 21:52:21 · 229 阅读 · 0 评论 -
特效 Line Renderer
特效GameObject ------> Effects ------> Particle System 粒子系统 Trail 拖尾效果 Line 线性渲染Particle System 主面板Pause 暂停Restart 重启Stop 停止Duration 持续时间Looping 循环Prewarm 预热Start Delay 延时Start Lifetime 粒子生命周期 Constant 固定 Curve 曲线 Random Between Two Con原创 2020-08-29 22:34:41 · 355 阅读 · 0 评论 -
动画分层处理 动画帧事件 灯光 创建子状态机 融合树 导航 动态路障
动画分层处理可以拆分动画 不同的层执行不同的动画Base Layer 第0层Weight 权重Mask 遮罩 骨骼遮罩 右键 ----> Create ----> Avatar Mask (一般主层不动)Humanoid 人形 点红了不执行,绿色的执行动作Transform 找到非人性骨骼拖过来IK Pass 反向动力学给人物加一把枪,需要放到骨骼里IK 动画 小例子//写法大致相同using UnityEngine;public class PlayerIK原创 2020-08-29 16:10:42 · 235 阅读 · 0 评论 -
Audio Source,Audio Listener,CS例子
Audio Source发声的组件AudioClip 声音片段Output 混音Mute 静音Play On Awake 是否在游戏开始时候播放Loop 循环播放Volume 音量Spatial Blend 2D 3D3D Sound SettingsMin Distance 在这个声音内是饱满的无缺陷Max Distance 最远能听的最大声音Audio Listener听声音的组件CS的小例子首先要分成三个脚本第一个脚本控制每把枪第二个脚本要管理这些枪第三个脚本解原创 2020-08-27 22:34:30 · 181 阅读 · 0 评论 -
2D 精灵 动画 Animator 动画状态机
2DSprite区别于UI里的精灵 这个没有画布Sprite RendererSprite 图片 精灵的Color 颜色 颜色混合Flip 镜像效果 X 左右 Y 上下Material 材质球 2D的是图片 3D的是球Draw Mode Simple 拉伸 Sliced Tiled 平铺Sorting Layer 分层处理Order in LayerMask Interactionprivate void OnCollisionEnter2D(Collision2D oth原创 2020-08-27 15:57:12 · 364 阅读 · 0 评论 -
背包系统
背包系统需要写两个脚本 搭完UI过后Equip和Box 要分别加上脚本,脚本如下:using UnityEngine;using UnityEngine.EventSystems;using UnityEngine.UI;public class HeroEquip : MonoBehaviour, IBeginDragHandler,IDragHandler,IEndDragHandler{ [Header("装备类型")] public EquipType equi原创 2020-08-25 22:12:29 · 193 阅读 · 0 评论 -
关卡选择 小地图 同步异步
关卡选择功能导入资源包windows系统导入资源包如果有中文或者中文符号都要改成英文才可以导入,mac不用先搭UI,如果资源包有效果图 要按照效果图去搭,防止重复返工如果图片默认都是Default需要先调成精灵Sprite(2D and UI)拓展一个新的组件:如果在搭UI的时候,已经都放布局控件了,这时有一个UI 我不想让他受布局控件的影响,可以加一个Layout Element(Script)Layout Element(Script) 布局元素lgnore Layout 忽略布局小地原创 2020-08-23 18:41:03 · 324 阅读 · 0 评论 -
角色控制器 摇杆的简单移动 小功能方向键控制血条蓝条
角色控制器有三种方式让角色动起来(1)transform.position直接修改坐标(2)刚体 给他一个力 也能动起来(3)角色控制器 控制角色移动的 Character Controller Character Controller Slope Limit 斜坡的限制 Step Offset 限制台阶的高度 Skin Width 皮肤宽度(防抖动) Min Move Distance 最小移动距离 Center 中心 Radius 半径 Height 高度摇杆 实现一个简单原创 2020-08-22 10:44:46 · 245 阅读 · 0 评论 -
可交互的组件 布局控件
可交互的组件Button 按钮Toggle 开关slider 滑动条Scrollbar 滚动条InputField 输入框Dropdown 下拉菜单Scroll View 滚动视图可交互组件的通用属性Interactable 交互的开关 取消这个勾 不可交互Transition 交互组件的变化 Color Tint变化是由颜色引起的(改变颜色)Sprite Swap 图片 Animation 动画 Normal Color 正常状态 Highlighted Color 高亮状态(原创 2020-08-20 20:26:21 · 291 阅读 · 0 评论 -
UI 基础控件 Text ,Image, Raw Image
UI可视化的 早起GUI不可视化 后来出的NGUI 到现在的UGUI基础控件 可交互控件CanvasCanvas 画布 所有内容都要放在画布里TextTextEventSystemRect Transform 是Transform的子类Font字体Font Style Bold加粗 Italic倾斜 Bold And Italic 加粗并倾斜Font Size字体大小Line Spacing行间距Rich Text富文本Alignment排列方式(对齐)Align By原创 2020-08-20 11:09:38 · 351 阅读 · 0 评论 -
交互 虚拟按键 碰撞体 刚体 射线
交互using UnityEngine;public class CubeInput : MonoBehaviour{ //每时每刻去判断是否玩家有按键 void Update(){ //键盘 //按下 bool downA = Input.GetKeyDown(KeyCode.A); //bool等于true 说明按下去了 false说明没按 //简单写法 if(Inpu原创 2020-08-17 19:59:06 · 162 阅读 · 0 评论 -
回调函数 打印 调试 this
unity回调函数回调函数相当于c#里的main函数 是程序的入口 unity底层给封装了 通过反射实现功能的打开unity的API如果是英文api可以直接搜索order如果是官方的中文文档 手册 -----> 脚本 -----> 事件函数的执行顺序///<summary>///在游戏开始时执行一次///</summary>private void Awake(){ //中文翻译唤醒的意思 这里放不需要引用别人的内容 //找对象 找组件原创 2020-08-13 17:17:24 · 460 阅读 · 0 评论 -
地形 点乘 叉乘 欧拉角 四元数
Unity地形系统2018版本的unityTerrain 地形 -----> 笔刷图标 -----> Create Neighbor Terrains 新增加一块地形 Raise or Lower Terrain 提高或降低地形 Paint Texture 绘制纹理图片 Set Height Smooth Height Stamp TerrainC#是编译语言 而这三个文件是优先编译原创 2020-08-11 21:24:11 · 263 阅读 · 0 评论 -
Unity基础知识
unity的简单简介unity在2012年左右,才进入中国,在上海优美缔,开发手游比较多。为什么unity打包成exe后,界面是unity? 因为没氪金!!!中文网站官网 unity.cn我们主要还是用LTS(长期支持版)点击下载unity 登录后 选择长期支持版 底下有四个选项 从Hub下载 下载(Mac) 下载(Win) Release notesRelease notes这个的意思是列出所需要的下载文件,可以单个下载Unity Editor(64-bit)Windows的一些 And原创 2020-08-10 22:22:56 · 295 阅读 · 0 评论