射线检测
前言对于游戏来说射线检测是区别于物理检测来说另一个重要的场景对象交互方式
概念直接上unity源码
1234567891011121314151617181920212223242526public struct Ray{ private Vector3 m_Origin; private Vector3 m_Direction; public Ray(Vector3 origin, Vector3 direction) { this.m_Origin = origin; this.m_Direction = direction.normalized; } public Vector3 origin { get => this.m_Origin; set => this.m_Origin = value; } public Vector3 direction { get => this.m_Direc ...
数据可持续化
【图文详解】Unity存储游戏数据的几种方法_unity存储数据的方法-CSDN博客
前言PlayerPrefs 用于存入磁盘本地的数据
ScriptableObject用于缓存固定的数值,打包用不了Json 可以写入磁盘如果数据需要在Web应用程序之间传输,则 JSON格式通常是首选,如果数据需要与其他系统进行交互,则XML格式通常是首选,因为它是一种通用的数据交换格式,被广泛使用。
PlayerPrefshttps://blog.csdn.net/qq_32175379/article/details/121199932
概念
PlayerPrefs是Unity自带的一种简单的键值(键即用于查找的关键字,值即存储的数据)存储系统,用于存储少量的游戏数据。
PlayerPrefs是基于本地文件存储数据的,数据以键值对的形式保存在本地磁盘上。
作用
PlayerPrefs主要适用于一些简单的游戏数据的存储,例如玩家的音效、音乐、难度等级等。使用PlayerPrefs可以方便地在游戏中读写这些数据。
可用于存储一些非关键性的数据,尤其在没有服务器的单机游戏中,游戏存档、分数排 ...
背包系统初体验
前言花了几天时间去磨这个背包系统,发现有很多可学习的点
在背包系统有以下知识点,包括但不限于
对于UI的综合应用,对于设计模式的综合应用,对于数据处理的综合应用,对于存储方式的应用,编辑器扩展的应用。
建立背包UI这一部分大量使用了UGUI的组件,是对于组件的灵活应用
UGUI框架
限定分辨率
在Canvas下
Canvas Scaler组件 -> UI Scale Mode -> Scale Whith Sceeen Size
Reference Resolution -> X 1920 Y 1080
确保界面在任意分辨率下有着正确的表现方式
创建背包空物体
创建空对象PackagePanel
在Rect Transform组件下的锚点点击Alt选中右下角的跟随父物体伸展宽高
顶部菜单
在顶部创建一个空对象Menus挂载
Horizontal Layout Group:
Content Size Fitter: 将Horizontal Fit 设置为Preferred Size
滚动容器
创建一个Scroll View
在Scroll Rect中可以 ...
U3d的移动
简介在unity3d中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position。
通过Transform组件移动物体Transform 组件用于描述物体在空间中的状态,它包括 位置(position), 旋转(rotation)和 缩放(scale)。 其实所有的移动都会导致position的改变,这里所说的通过Transform组件来移动物体,指的是直接操作Transform来控制物体的位置(position)。
Transform.Translate 该方法可以将物体从当前位置,移动到指定位置,并且可以选择参照的坐标系。 当需要进行坐标系转换时,可以考虑使用该方法以省去转换坐标系的步骤。
public function Translate(translation: Vector3, relativeTo: Space = Space.Self): void;
缺点:无优点:有一定的惯性感,同样8向平滑,
使用Horizontal与Vertical123456789101112void transMove_GetAxis(){ // ...
自我学习路线目标
前言本篇为自定义学习方向,对以前的学习资源的整理以及学习进度的发展
unity 学习方向【Unity3D】Unity3D 技术栈_unity 技术栈-CSDN 博客
(95 封私信 / 80 条消息) unity 游戏开发的学习流程是怎样的? - 知乎 (zhihu.com)
Unity 学习路线(精良整理\持续更新) - 知乎 (zhihu.com)
游戏开发完整学习路线,都在这里了 - 知乎 (zhihu.com)
GameDevMind/mds/1.基础能力/1.基础能力.md at main · gonglei007/GameDevMind · GitHub
2021 最新 Unity 学习提升书籍推荐,小白必看 (zhihu.com)
[教程汇总+持续更新]Unity 从入门到入坟——收藏这一篇就够了 - 知乎 (zhihu.com)
最近目标
算法力扣
游戏设计模式
补充博客
3d 数学
存储系统
对象池
后续
shader 入门精要
c#高级语法
游戏人工智能
lua xlua
游戏网络编程(帧同步和状态同步)
...
unity 常见api
1、Event Function函数 事件函数
事件
作用
省流
Reset()
被附加脚本时、在游戏物体的组件上按Reset时会触发该事件函数
Start()
在游戏初始化时会执行一次
Update()
每一帧都会运行这个方法
FixedUpdate()
会在指定帧调用该方法多少次
LateUpdate()
晚于Update的运行顺序,但是FPS和Update是一样的
Awake() Start()
都是在游戏物体初始化运行一次,但是Awake的运行顺序高于Start的,并且只要脚本中存在Awake方法,则无论是否挂载了该脚本都会执行该方法
OnEnable():
当将物体的SetActive设置为true时就会自动调用调用该方法
OnDestory():
当关闭游戏则会调用该方法
2、Time类 时间类函数
函数
函数作用
Time.time
表示从游戏开发到现在的时间,会随着游戏的暂停而停止计算。
Time.deltaTime
表示从上一帧到当前帧时间,以秒为单位。【一般用来控制角色、动画的运动。 ...
unity 从UE导入3D模型要点
1本咸鱼,最近对于Ue的资产导出模型小小研究了一番(指买了资产却导入不到unity的厌烦,差点被坑钱).本文是对于ue导入unity模型的小坑的总结
简介使用UE 导出模型到blender后导入unity
从UE导出glTF模型
首先打开UE启动器(EPIC).
启动!
在虚幻商城搜索gITF导出器
1第一个坑 免费的gITF导出器只支持UE 4.25-4.27 和UE 5.0 ,本咸鱼的UE 5.3直接吃灰.当然你可以花费一点点小钱去购买支持UE 5的后续版本的插件
导出模型
glTF导入blender
将gltf导入blender
利用fbx导出
1第二个坑 在blender导出fbx的时候 需要路径模式选择复制(copy) 并且内嵌纹理要打开(旁边的蓝色小盒子)
fbx导入unity直接将fbx格式的模型拖入unity文件
添加贴图 !!!1第三个坑 在检视视图中切换到Materials选项卡,Location属性有两种选项:Use Embedded Materials和Use External Materials。 选择 Use External Mat ...
typora快捷键
一、格式类以下是根据文中内容整理的关于Markdown的表格:
序号
类型
快捷键/写法
1
大小
ctrl+数字1-6或(1-6个)#+空格
2
加粗
ctrl+b
3
倾斜
ctrl+i
4
下划线
ctrl+u
5
删除线
alt+shift+5
6
上标
+内容+或者内容
7
下标
+内容+或者内容
8
脚注
[+^+脚注]
9
高亮
==内容==
10
着重
ctrl+shift+`
11
淡化
+内容+
12
转义
\ + 符号
13
清除格式
ctrl + \
14
居中
+居中内容+
15
右对齐
右对齐
16
左对齐
左对齐
18
换行
回车即可或者
19
空格(一个汉字俩空格)
(一个空格) (两个空格推荐使用这个)
二、样式类
序号
类型
快捷键/写法
1
无序列表
- + 空格 或 * + 空格
2
有序列表
数字 + . +空格
3
任务列表
-+ 空格 +[ ] + 空格
4
表格
ctrl+t
5
代码块
shift + ~~~
6
图片
直接 ...
软考 笔记
第一章 计组1.数据的表示和校验码实现:低电平和高电平来代表0,1,实现电信号传递
1.1进制转换
进制转换关系
转换方法
例子
r->10
n位数乘以2的n次方,小数点为负数同理
10010010.110=12^7+12^4 +12^1 +12^-1+1*2^-2=146.75
2->8
三位一组,每组转化成对应的八进制符号
001 111 000 010 . 011 010 ->1702.32
2->16
四位一组,每组转换成对应打十六进制符号
10->r
短除法,由低位到高位
1.2编码
编码xe
表示例子
表示解析
真值0有+0 -0俩种形式
原码
+19D->0,0010011 -19D->1,0010011
(16+2+1=19)
[+0]=00000000[-0]=1000000
反码
+19D->0,0010011-19D->1,1101100
-数值取反
[+0]=00000000[-0]=11111111
补码
+19D->0,0010011-19D-> ...
Mysql 语法
Mysql本篇为记录Mysql语法,以当记录为主
启动与关闭1234启动:net start mysql;关闭:net stop mysql;登录:mysql -u root -p 123 -h localhost;退出:quit;
数据类型123456INTDECIMAL 小数VALCHAR(n)字符串BLOB (binary Large Object) 图片 影片DATE 日期TIMESTAMP 记录时间
分类
DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;
DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据);
DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别;
DQL(Data Query Language):数据查询语言,用来查询记录(数据)。
DLL 数据定义语言对于 DB 操作123CREATE DATABSASE ‘database’;(创建叫database的数据库)SHOW DATABASE;(展示数 ...