unity 3d数学理论
向量定义
向量在Unity中用于表示方向和位移。一个向量由三个部分组成,即x、y和z轴的分量。
向量的大小(长度)是其在各个维度上的绝对值的总和,表示向量的长度或幅度。
向量的方向由其相对原点的角度和旋转角决定。
向量的几何意义是表示一个有向线段,其中箭头表示方向和长度。
在unity中用Vector3 代替
名称
概念
公式
unity实例
零向量
没有方向
(0,0,0)
Vector3.zero
负向量
让原向量乘以-1得到了相当于原向量来说的负向量
单位向量
长度为1的向量叫单位向量(1,1,1)
各个分量分别除以magnitude模长就等于单位向量
向量的模
向量的长度
向量的长度=sqr(x^2+y^2+z^2) //各向量的平方相加,再开方
Vector.magnitude
向量相加
各分量分别相加
a向量+b向量=c向量 a(x,y,z)+b(x,y,z)=c(ax+bx,ay+by,az+bz)
向量计算点乘概念点乘,也叫向量的内积、数量积。
描述了两个向量的相似程度,结果越大两向量越相似,还可表示投影。
向量a·向量 ...
文件与脚本MVC整理
前言作为一个unity 开放者来说,工程规范是及其重要的,而文件规范又占了一大部分
这文件规范就像一个个柜子一样,你正确放置物品的话下一次找到这个资源就很容易。
不想整理?你多人协作后就知道什么是痛苦了
命名规则Assets目录中的所有资源文件名(场景、脚本、预设、模型、网格、纹理、材质、精灵、着色器、音频剪辑、视频剪辑)均采用 大驼峰式命名法 ,即每一个单词的首字母都大写。且使用能够描述其功能或意义的英文单词或词组。
文件目录
目录
说明
ABRes
自定义资源目录,用于存放需要动态加载的AB包中的资源。职责类似于Artwork,需要热更新的放入该文件夹并打包.
Artwork
存放美术资源的目录(涵盖动画、模型、材质、Shader、UI、原图等等),最好通过 svn 外链或者 git submodel 的方式引入,同样在上面的目录少了一个策划的目录,其实一般就是一个 csv 目录,一般也是通过 svn 外链或者 git submodel 的方式引入
Editor
编辑器目录,存放扩展编辑器的代码,该代码可调用Unity Editor的API。该目录中的代码不会被打 ...
射线检测
前言对于游戏来说射线检测是区别于物理检测来说另一个重要的场景对象交互方式
概念直接上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)
重点
游戏网络编程(帧同步和状态同步)
AB包
CPP
OS
UGUI
后续
shader 入门精要
三阶段:
一: c# UI 框架 MVC 框架 存储功能 设计模式 unity 3d 数学
二: Lu ...
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
图片
直接 ...