自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(92)
  • 收藏
  • 关注

原创 点乘叉乘···

if 是负的(是向下的),那b在a的左边。b在第一个是正的 a就在b右边。a x b 是个向量这个向量 if 是正的(是向上的),那b在a的右边。这俩向量点乘的结果就是在(1,0)向量上投影的长度 二分之根号二。两个向量叉乘的结果是个向量,而在点乘时一般强调结果是个标量。叉乘结果的模长是 a和b拓展一下组成的平行四边形的面积。总之是看谁在第一个,a在第一个是正的 b就在a右边。叉乘结果的这个向量是两个向量组成平面的法向量。是一个向量在另一个向量上的投影长度。

2024-11-12 22:09:35 192

原创 世界坐标和Local坐标的区分

而是随着Target的世界坐标而改变。这个是直接new了一个世界坐标的Vector3 ,不会动态的随着Target的本地坐标改变。这是相对于TargetPos的位置进行偏移, 动态的与Target的本地坐标改变。

2024-11-11 21:59:14 236

原创 Mathf,Math

Math是C# System里面提供的类Mathf是Unity里提供的一个结构体。

2024-10-27 00:46:29 994

原创 GUI-编辑模式下一直运行脚本的特性

这样只要把该脚本挂到游戏对象上,不点运行也会一直执行该脚本。在写GUI的脚本类前面加上一个特性。

2024-09-28 15:22:13 331

原创 GUI-Layout自动布局

主要用于编辑器开发这几个按钮都一样长,因为他默认就是水流填充,就像水一样,最长是那他就都到哪想水平布局 用这俩函数把控件包着可以用GUI.BeginGroup 和GUI.EndGroup配合使用布局。

2024-09-28 15:12:40 300

原创 GUI-自定义皮肤样式

可以在Project窗口创建Skin文件和创建c#脚本一样感觉就是全局Style如果绘制时(比如写个Button)使用了GUIStyle参数,全局皮肤就没用了。

2024-09-28 14:59:13 313

原创 GUI-窗口,模态窗口,拖动窗口

GUI.ModalWindow(3, new Rect(300, 100, 200, 150), DrawWindow, "模态窗口");GUI.Window(2, new Rect(100, 350, 200, 150), DrawWindow, "测试窗口2");GUI.Window(1, new Rect(100, 100, 200, 150), DrawWindow, "测试窗口");第一个参数 id 是窗口的唯一ID 不要和别的窗口重复。

2024-09-28 14:01:01 514

原创 GUI-分组和滚动View

【代码】GUI-分组和滚动View。

2024-09-28 13:55:42 186

原创 GUI-工具栏(页签)和选择网格

] { "强化", "进阶", "幻化" };()

2024-09-28 13:49:42 379

原创 GUI-图片和框

ScaleToFit:会自动根据宽高比进行计算 不会拉变形 会一直保持图片完全显示的状态。ScaleAndCrop:也会通过宽高比来计算图片 但是 会进行裁剪。StretchToFill:始终填充满你传入的 Rect范围。: 自定义宽高比 如果不填 默认为0 就会使用 图片原始宽高。是用来 控制 图片是否开启透明通道的。

2024-09-28 13:46:47 188

原创 目前为止写的两个界面

【代码】目前为止写的两个界面。

2024-09-27 17:03:02 165

原创 GUI-输入框和拖动条

()

2024-09-27 16:41:16 345

原创 GUI-单选框和多选框

private bool isSel;private bool isSel2;public GUIStyle style;private int nowSelIndex = 1; 普通样式 isSel = GUI.Toggle(new Rect(0, 0, 100, 30), isSel, "效果开关"); 这里关键是isSel这个值 Toggle方法每次会根据isSel的真假来显示是否被选中 自定义样式 显示问题 在I

2024-09-27 16:35:43 295

原创 PlayerPrefsManager-结合反射实现的一个通用存储工具

【代码】PlayerPrefsManager-结合反射实现的一个通用存储工具。

2024-09-27 15:18:06 137

原创 反射中的两个方法

IDictionary类型的对象可不可以装 fieldType类型的对象这里的fieldType可以是任意类型如果可以装就返回true,不能装就返回false。↓下面是官方文档里的解释fieldType.GetGenericArguments()[0]Type[] types= fieldType.GetGenericArguments();返回该类型中的泛型类型们,返回的是Type数组因为像Dictionary就有两个泛型 从左到右,types[0],types[1];

2024-09-27 15:15:38 228

原创 Unity中的GUIStyle错误:SerializedObject of SerializedProperty has been Disposed.

解决办法,每次改参数之后在HIerarchy中手动保存,就会停止循环打印,style中的字体也显示出来了,一运行就循环打印这个报错,或者 直接换个低版本的。

2024-09-26 14:12:51 656

原创 GUI-文本和按钮控件

目录。

2024-09-26 13:22:17 332

原创 GUI概述

目录。

2024-09-26 13:16:15 683

原创 PlayerPerfs-不同平台的存储位置

不同平台存储位置不一样PlayerPrefs 存储在HKCU\Software\[公司名称]\[产品名称] 项下的注册表中其中公司和产品名称是 在“Project Settings”中设置的名称。查看方法:运行 regeditSOFTWAREUnity公司名称产品名称/data/data/包名/shared_prefs/pkg-name.xml/Library/Preferences/[应用ID].plist。

2024-09-24 23:32:16 523

原创 Playerprefer类中的方法

是Unity提供的可以用于存储读取玩家数据的公共类。

2024-09-24 23:15:26 874

原创 数据持久化概述

下次玩游戏的时候可以把硬盘中的数据直接读取到内存中。把游戏运行时内存中的数据存到硬盘中。

2024-09-24 14:39:34 135

原创 Unity-麦克风输入相关

/规则 用于存储数组数据的长度 是用 声道数 * 剪辑长度。参数二:超过录制长度后 是否重头录制。//第一次去获取 没有才添加。参数一:设备名 传空使用默认设备。

2024-09-24 01:23:50 710

原创 Unity-声音源和音频监听

/播放音效//延迟播放 填写的是秒数停止音效//暂停//停止暂停 和暂停后 Play效果是一样的 都会继续播放现在的音效。

2024-09-24 01:20:42 746

原创 Unity-物理系统-碰撞检测-物理材质

做个标记明天写。

2024-09-24 01:12:37 524

原创 Unity-物理系统-刚体加力

/如果阻力为0 那给了一个力过后 始终 是不会停止运动。//每物理帧移动0.2m/s*0.02 = 0.004m。//每物理帧移动0.1m/s*0.02 = 0.002m。//每物理帧移动10m/s*0.02 = 0.2m。//如果想要在 世界坐标系方法中 让对象 相对于自己的面朝向动。//每物理帧移动5m/s*0.02 = 0.1m。//加力过后 对象是否停止移动 是由阻力决定的。//世界坐标系 Z轴正方向加了一个里。获取刚体是否处于休眠状态 如果是。

2024-09-24 01:10:20 1382

原创 Uniyt-物理系统碰撞检测

一 物理碰撞检测响应函数碰撞触发接触时会 自动执行这个函数Collision类型的 参数 包含了 碰到自己的对象的相关信息关键参数1.碰撞到的对象碰撞器的信息2.碰撞对象的依附对象(GameObject)3.碰撞对象的依附对象的位置信息4.触碰点数相关接触点 具体的坐标只要得到了 碰撞到的对象的 任意一个信息 就可以得到它的所有信息print(this.name + "被" ++ "撞到了");碰撞结束分离时 会自动执行的函数。

2024-09-24 00:59:00 932

原创 Unity-光源组件练习

【代码】Unity-光源组件练习。

2024-09-24 00:50:28 234

原创 Unity-Camera代码相关

如果想通过这种方式 快速获取摄像机 那么场景上必须有一个 tag为MainCamera的摄像机。转换过后 x和y对应的就是屏幕坐标 z对应的是这个3D物体 里我们的摄像机有多远。获取摄像机的数量 Camera.allCamerasCount。摄像机剔除前处理的委托函数(剔除被遮罩挡住物体之前执行的函数)我们会用这个来做的功能 最多的 就是头顶血条相关的功能。得到所有摄像机Camera.allCameras。如果用之前的知识 来获取摄像机。//摄像机 渲染后 处理的委托。//摄像机 渲染前处理的委托。

2024-09-24 00:43:33 680

原创 Unity-Screen屏幕相关

常用当前屏幕分辨率print("当前屏幕分辨率的宽" + r.width + "高" + r.height);屏幕窗口当前宽高这得到的 是当前 窗口的 宽高 不是设备分辨率的宽高一般写代码要用窗口宽高做计算时 就用他们屏幕休眠模式不常用运行时是否全屏模式窗口模式独占全屏全屏窗口最大化窗口窗口模式移动设备屏幕转向相关允许自动旋转为左横向 Home键在左。

2024-09-24 00:33:51 592

原创 Unity-Input输入相关

输入相关内容肯定是写在Update中的。

2024-09-24 00:16:05 938

原创 Unity-Transform-坐标转换

世界坐标系 转本地坐标系 可以帮助我们大概判断一个相对位置。

2024-09-16 13:39:40 994

原创 Unity-Transform类-父子关系

public static class Tuozhan{ public static void Sortchild(this Transform obj) { List<Transform> Indexs = new List<Transform>(); for (int i = 0; i < obj.childCount; i++) { Indexs.Add(obj.GetChild(i)); }

2024-09-15 21:29:35 1102

原创 Unity-Transform类-缩放和看向

相对世界坐标系相对本地坐标系(父对象)注意:1.同样缩放不能只改xyz 只能一起改(相对于世界坐标系的缩放大小只能得 不能改)所以 我们一般要修改缩放大小 都是改的 相对于父对象的 缩放大小 localScale2.Unity没有提供关于缩放的API之前的 旋转 位移 都提供了 对应的 API 但是 缩放并没有如果你想要 让 缩放 发生变化 只能自己去写(自己算)

2024-09-15 18:54:52 708

原创 Unity-Transform类-旋转

相对世界坐标角度相对父对象角度注意:设置角度和设置位置一样 不能单独设置xyz 要一起设置如果我们希望改变的 角度 是面板上显示的内容 那是改变相对父对象的角度。

2024-09-15 18:52:15 859

原创 Unity—Transform类-position

因为我用的是 this.transform.forward 所以它始终会朝向相对于自己的面朝向去动。3相对于自己的坐标系 下的 自己的面朝向向量移动 (一定不会这样让物体移动) XXXXXXX。1相对于世界坐标系的 Z轴 动 始终是朝 世界坐标系 的 Z轴正方向移动。4相对于自己的坐标系 下的 Z轴正方向移动 始终朝自己的面朝向移动。通过position得到的位置 是相对于 世界坐标系的 原点的位置。2相对于世界坐标的 自己的面朝向去动 始终朝自己的面朝向移动。路程 = 方向 * 速度 * 时间。

2024-09-15 18:46:04 2522

原创 Unity-Time类

print("不受scale影响的游戏开始到现在的时间:" + Time.unscaledTime);print("不受scale影响的帧间隔时间" + Time.unscaledDeltaTime);print("游戏开始到现在的时间:" + Time.time);帧间隔时间:最近的一帧 用了多长时间(秒) 受scale影响。print("帧间隔时间" + Time.deltaTime);如果希望 不受暂停影响 unscaledDeltaTime。不受scale影响的帧间隔时间。

2024-09-14 14:49:27 667

原创 Unity自带脚本之GameObject脚本

名字this.gameObject.name = "哈哈哈哈";是否激活是否是静态层级标签transformthis.transform 上一节课讲解的 通过Mono去得到的依附对象的GameObject的位置信息他们得到的信息是一样 都是依附的GameObject的位置信息。

2024-09-13 19:08:05 1209

原创 MonoBehavior中的重要内容

函数是有一个参数的 默认不传 是false 意思就是 如果子对象失活 是不会去找这个对象上是否有某个脚本的。获取别的脚本对象 依附的gameobject和 transform位置信息。获取脚本的方法 如果获取失败 就是没有对应的脚本 会默认返回空。提供了一个更加安全的 获取单个脚本的方法 如果得到了 会返回true。这种写法和上面是一样的效果 都是得到依附的对象的位置信息。它也有list的 省略不写了 和上面是一样的套路。

2024-09-13 16:16:01 596

原创 Inspector里面可以编辑的变量相关

2.给私有和保护变量加个特性[SerializeField](强制序列化字段特性)就可以在inspector中看到和修改了。写在变量前,在Inspector窗口中在变量前就有了该变量的说明文本。在其前面加上序列化特性[System.Serializable][Multiline(行数)] 不加特性默认显示三行。5.让自定义的类型可以显示在Inspector窗口中。4.大部分变量类型都可以显示在Inspector中。[Header("在次输入文字")]3.间隔特性[Space()]加个间隔。

2024-09-11 19:22:07 260

原创 生命周期函数

1.生命周期西数 就是该脚本对象依附的Gameobject对象从出生到消亡整个生命周期中。2.Unity帮助我们记录了一个Gameobject对象依附了哪些脚本。会自动的得到这些对象,通过反射去执行一些固定名字的函数。会通过反射自动调用的一些特殊函数。生命周期函数支持继承多态。

2024-09-11 14:45:43 378

空空如也

空空如也

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

TA关注的人

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