Unity3D仿星露谷物语开发小结1
1、Cinemachine的作用及使用方法
(1)作用
控制Camera的模块,实现摄像机的复杂控制,比如角色的跟随,限制Camera的区域
(2)使用方法
在已有Main Camera的情况下,
通过【GameObject -> Cinemachine -> Virtual Camera】唤出
2、创建动画思路
先给对象添加Animator组件
然后配置动画逻辑选项
最后再【Window -> Animation -> Animation】添加动画片段
3、物体渲染顺序
1)Sorting Layer,越靠上的Sorting Layer越先渲染
2)Order In Layer,数字越小越先渲染
3)摄像机的距离,越远越先渲染
4、Sorting Group组件作用
确保所有子对象都被排序了,形成单一的个体
5、发布者/订阅者模式
首先,定义事件Event,xxevent(params)
然后,Publisher触发事件,if(xxevent != null){xxevent()}
最后,Subscriber订阅事件并进行处理,+=的方式进行订阅。
6、定义事件Event的两种方式
1)如果超过16个参数
先通过delegate定义委托函数
然后通过event + 委托函数 定义Event
2)如果未超过16个参数
通过event + Action 定义Event
7、OnEnable/OnDisable的调用时机,适合场景
前者:脚本组件被激活时,后者:脚本组件被禁用时。
适用于Event事件注册和释放的时候
8、绘制Tilemap技巧
1)左右翻转Tile:Shift + [
2)旋转Tile: 单独的 "]" 键
9、多场景共存现象
可以以Additive的方式存在2个场景,但是只能有一个激活场景
10、创建Tilemap Grid的步骤
1)创建Tilemap。自动创建中包含Grid和Tilemap两个gameobject,Grid负责网格属性,Tilemap用于绘制瓦片
2)配置调色板。创建调色板,将Sprite拖入调色板以生成瓦片。
3)绘制地图。使用笔刷将瓦片绘制到Tilemap上
4)添加碰撞体。给Tilemap对象添加Tilemap Collider 2D来触发碰撞事件,通过Composite Collider来优化碰撞体的生成。
11、添加Tilemap碰撞器
1)创建tilemap物体,设置Collider Type为Sprite
2)给玩家添加Collider组件
3)使用tilemap物体中的元素绘制图形,并且选择一个目标对象collisions对象
4)给collisions对象添加Tilemap Collider组件
5)给collisions对象添加Composite Collider组件,并设置Geometry Type为"Polygons",同时在Tilemap Collider组件中勾选"Used By Composite"
12、添加Cinemachine Confiner
1)创建多边形对象指定地图区域
2)给Virtual Camera对象的Add Extension添加Cinemachine Confiner组件
3)如果Virtual Camera对象不是在当前Scene中,
需要在代码中指定Cinemachine Confiner组件的m_BoundingShape属性为多边形对象
13、某个脚本执行的前提条件是存在某个组件的写法
[RequireComponent(typeof(SpriteRenderer))]
14、创建ScriptableObject组件
1)能否挂载到游戏物体上?
不能,因为它不是继承自MonoBehaviour
2)使用方法?
创建类继承自ScriptableObject
通过[CreateAssetMenu(fileName=xx, menuName=xx)]指定属性信息
15、PropertyAttribute类及核心方法
自定义属性特性的基础类,提供类似[SerializeField]的属性标签
1)GetPropertyHeight指定像素高度
2)OnGUI重绘信息UI
16、CanvasGroup组件作用
用于集中控制UI元素的透明度、交互性和射线投射行为。
17、Aspect Ratio Fitter组件的作用
按照给定的宽高比调整UI元素的尺寸。
18、TextMeshPro组件作用
是一个Unity文本组件,比Text文本样式更加丰富和灵活,缺点是找不到字体不会像Text有默认字体。
19、Canvas的Render Mode含义和3种模式的区别
含义:Render Mode为渲染模式,指UI的呈现方式
Screen Space-Overlay:Canvas会覆盖整个屏幕,所有UI元素的坐标都是基于屏幕空间的。UI元素会始终显示在屏幕的最前面,不受场景种其他物体的影响。
Screen Space-Camera:Canvas会被放置在指定的摄像机前方,UI元素的坐标也是基于屏幕空间的,但会受到摄像机的影响。UI元素会随着摄像机的移动和旋转而变化。
World Space:Canvas会作为3D场景中的一部分,UI元素的坐标是基于世界空间的,UI元素会像3D对象一样存在于场景中,可以与其他3D对象进行交互。
20、拖动物体的3个事件接口
开始时:IBeginDragHandler
拖动时:IDragHandler
结束时:IEndDragHandler
21、ContentSizeFitter组件的作用
根据内容的大小自动调整UI元素的大小,确保内容不会被截断或溢出
22、Vertical Layout Group组件的作用
用于在垂直方向上自动排列子对象的局部管理组件。
UI布局可以随着元素数量或窗口大小动态调整。
23、鼠标经过的2个事件接口/鼠标点击的事件接口
经过开始点:IPointerEnterHandler
经过结束点:IPointerExitHandler
鼠标点击:IPointerClickHandler
24、AnimatorOverrideController类的作用/2种使用方法
动画重写控制器。
1)AnimatorOverrideController aoc = new AnimatorOverrideController(animator.runtimeAnimatorController);
其中animator为对象的Animator组件
animator.runtimeAnimatorController = aoc;
aoc["shot"] = weaponAnimationClip[weaponIndex]
2)AnimatorOverrideController aoc = new AnimatorOverrideController(animator.runtimeAnimatorController);
List<KeyValuePair<AnimationClip, AnimationClip>> clipOverrides;并进行赋值
aoc.GetOverrides(clipOverrides);
aoc.ApplyOverrides(clipOverrides);
25、附加方式加载Scene并设置Active的方法
SceneManager.LoadSceneAsync(xx, LoadSceneMode.Additive);
SceneManager.SetActiveScene(xxScene);
26、Start()方法当协程使用的方法
将返回值改为IEnumerator,其他周期函数都不行
同时需要在方法体中有IEnumerator类型的返回
27、确保某个脚本的Start()方法先执行的方法
在Edit -> Project Settings -> Script Execution Order中设置脚本的执行顺序
相关文章:
Unity3D仿星露谷物语开发小结1
1、Cinemachine的作用及使用方法 (1)作用 控制Camera的模块,实现摄像机的复杂控制,比如角色的跟随,限制Camera的区域 (2)使用方法 在已有Main Camera的情况下, 通过【GameObject -&…...
graylog初体验
最近graylog比较火,部署了一个来测试下,看下后续能不能代替目前占用资源比较多的elk,目前未对graylog性能进行深入测试,只是简单体验了下,graylog的UI比较简陋,但是在报警以及权限方面优于ELK,整…...

15.PPT:文静-云计算行业发展【29】
目录 NO123 NO345 NO6 NO78 NO9/10/11/12 NO123 设计→幻灯片大小→自定义幻灯片大小→ 全屏显示(16:9)→最大化 NO345 SmartArt 主题颜色2/6/9:形状样式:样式 加大行距加宽间距 NO6 NO78 设计→设置背景…...

高端入门:Ollama 本地高效部署DeepSeek模型深度搜索解决方案
目录 一、Ollama 介绍 二、Ollama下载 2.1 官网下载 2.2 GitHub下载 三、模型库 四、Ollmal 使用 4.1 模型运行(下载) 4.2 模型提问 五、Ollama 常用命令 相关推荐 一、Ollama 介绍 Ollama是一个专为在本地机器上便捷部署和运行大型语言模型&…...
MFC 的 CListCtrl 控件,使用SetItemState 方法来设置选中某个 item,如何达到效果和鼠标点击一致
1)查询到的方法如下: // 假设你要选中第 2 行(索引从 0 开始) int nItem 1; // 取消所有其他选中项 m_ListCtrl.SetItemState(-1, 0, LVIS_SELECTED); // 设置选中状态,并确保它具有焦点 m_ListCtrl.SetItemStat…...
一文读懂:TCP网络拥塞的应对策略与方案
TCP(传输控制协议)是互联网中广泛使用的可靠传输协议,它通过序列号、确认应答、重发控制、连接管理以及窗口控制等机制确保数据的可靠传输。然而,在网络环境中,由于多个主机共享网络资源,网络拥塞成为了一个…...

深度整理总结MySQL——子查询的工作原理
子查询的工作原理 前言为什么开发人员喜欢写子查询查询重写条件化简移除不必要的括号常量传递(constant_propagation)移除没用的条件(trivial_condition_removal)HAVING子句和WHERE子句的合并 常量表检测外连接消除 子查询子查询语…...
20240824 美团 笔试
文章目录 1、单选题1.11.21.31.41.51.61.71.81.91.101.111.121.131.141.151.161.171.181.191.202、编程题2.12.2岗位:硬件开发工程师(嵌入式系统软件开发方向) 题型:20 道单选题,2 道编程题题 1、单选题 1.1 C 语言中,如果输入整数 v 是 2 的幂,下面表达式中哪个会返…...
Windows图形界面(GUI)-QT-C/C++ - QT 文本编辑控件详解
公开视频 -> 链接点击跳转公开课程博客首页 -> 链接点击跳转博客主页 目录 概述 1. QLineEdit 1.1 特点 1.2 属性 1.3 常用方法 1.4 拓展应用 2. QTextEdit 2.1 特点 2.2 属性 2.3 常用方法 2.4 拓展应用 3. QPlainTextEdit 3.1 特点 3.2 属性 3.3…...
IDEA中Resolving Maven dependencies卡着不动解决方案
一、修改settings.xml Maven配置阿里云仓库主要通过修改Maven的settings.xml文件来实现。以下是具体步骤: 1、找到settings.xml文件: 通常位于Maven安装目录下的conf文件夹中,或者在用户目录下的.m2文件夹中(如果用户自定义了settings.xml的位置)。 2、编辑se…...

go数据结构学习笔记
本博文较为完整的实现了go的链表、栈,队列,树,排序,链表包括顺序链表,双向链表,循环链表,队列是循环队列,排序包含冒牌、选择 1.链表 1.1 顺序链表 type LNode struct {data intn…...

【后端开发】系统设计101——Devops,Git与CICD,云服务与云原生,Linux,安全性,案例研究(30张图详解)
【后端开发】系统设计101——Devops,Git与CICD,云服务与云原生,Linux,安全性,案例研究(30张图详解) 文章目录 1、DevopsDevOps与SRE与平台工程的区别是什么?什么是k8s(Ku…...
Google地图瓦片爬虫——进阶版
紧接上一篇——Google地图瓦片爬虫 clash节点自动切换 为了防止一个IP地址访问频率过快问题,自动切换clash的节点 def change_node(is_stop):while True:_r requests.get("http://127.0.0.1:11053/proxies", headersclash_headers, verifyFalse)# 这里…...

免费windows pdf编辑工具
Epdf(完全免费) 作者:不染心 时间:2025/2/6 Github: https://github.com/dog-tired/Epdf Epdf Epdf 是一款使用 Rust 编写的 PDF 编辑器,目前仍在开发中。它提供了一系列实用的命令行选项,方便用户对 PDF …...
解锁C#数据校验:从基础到实战的进阶之路
一、引言:数据校验为何如此重要? 在软件开发的广袤领域中,数据校验宛如一座坚固的堡垒,守护着系统的稳定与安全。它是确保数据质量的关键防线,能有效避免错误数据的流入,进而提升系统的整体性能和可靠性。…...

Redis的通用命令
⭐️前言⭐️ 本文主要介绍Redis的通用命令 🍉欢迎点赞 👍 收藏 ⭐留言评论 🍉博主将持续更新学习记录收获,友友们有任何问题可以在评论区留言 🍉博客中涉及源码及博主日常练习代码均已上传GitHub 📍内容导…...
设计模式六大原则和单例模式
设计模式 目的 实现可重用解决方案,构筑易维护、可扩展的软件系统。 六大原则 单一职责: 类的职责单一,一个方法做一件事。 开闭原则: 拓展开放,修改关闭。 里氏替换: 父类能出现的地方,子…...
Redis性能优化
1.是否使用复杂度过高的命令 首先,第一步,你需要去查看一下 Redis 的慢日志(slowlog)。 Redis 提供了慢日志命令的统计功能,它记录了有哪些命令在执行时耗时比较久。 查看 Redis 慢日志之前,你需要设置慢…...

SAM 大模型杂谈
目录 1. 前言 2. 发展历程 3. SAM 大模型的技术架构 3.1 模型结构 3.2 训练方法 3.3 数据处理 4. SAM 大模型的应用领域 4.1 自然语言处理 4.2 计算机视觉 4.3 多模态学习 4.4 其他领域 5. SAM 大模型的优势与挑战 5.1 优势 5.2 挑战 6. SAM 大模型的未来发展方…...

openGauss 3.0 数据库在线实训课程2:学习客户端工具gsql的使用
openGauss数据库状态查看 前提 我正在参加21天养成好习惯| 第二届openGauss每日一练活动 课程详见:openGauss 3.0.0数据库在线实训课程 学习目标 学习openGauss数据库客户端工具gsql的使用。 课程作业 gsql是openGauss提供在命令行下运行的数据库连接工具&am…...

【JVM】三色标记法原理
在JVM中,三色标记法是GC过程中对象状态的判断依据,回收前给对象设置上不同的三种颜色,三色分为白色、灰色、黑色。根据颜色的不同,决定对象是否要被回收。 白色表示: 初始状态:所有对象未被 GC 访问。含义…...
Android 蓝牙通信
Android 平台提供了完整的蓝牙 API,支持 传统蓝牙(Bluetooth Classic)和低功耗蓝牙(BBluetooth Low Energy, BLE)两种通信方式。 以下是开发蓝牙应用的关键知识点。 1. 基本概念 传统蓝牙(Bluetooth Classic) 适合大流量数据传输(如音频、文件传输) 典型协议: R…...
ArcGIS Maps SDK for JavaScript:使用图层过滤器只显示FeatureLayer的部分要素
文章目录 引言1 需求场景分析2精确过滤实现方案2.1 基础过滤语法2.2 动态过滤实现 3 模糊查询进阶技巧3.1 LIKE操作符使用3.2 特殊字段处理 4. 性能优化与注意事项4.1 服务端vs客户端过滤4.2 最佳实践建议 5 常见问题解答 引言 在地图应用开发中,图层过滤是常见的需…...

数据库SQLite基础
SQLite的存储结构 --->B树 大型数据库 :Oracle 中型数据库 :Server是微软开发的数据库产品,主要支持windows平台 小型数据库 : MySQL是一个小型关系型数据库管理系统。开放源码 (嵌入式不需要存储太多数据) 一、SQLite基础 SQLite的源代码…...
Qt客户端技巧 -- 窗口美化 -- 圆角窗口
不解析,直接给代码例子 利用窗口重绘事件处理函数paintEvent main.cpp #include <QtCore/qglobal.h> #if QT_VERSION > 0x050000 #include <QtWidgets/QApplication> #else #include <QtGui/QApplication> #endif#include "roundedwin…...
无字母数字webshell的命令执行
在Web安全领域,WebShell是一种常见的攻击手段,通过它攻击者可以远程执行服务器上的命令,获取敏感信息或控制系统。而无字母数字WebShell则是其中一种特殊形式,通过避免使用字母和数字字符,来绕过某些安全机制的检测。 …...

固态继电器与驱动隔离器:电力系统的守护者
在电力系统中, 固态继电器合驱动隔离器像两位“电力守护神”,默默地确保电力设备的安全与稳定运行。它们通过高效、可靠的性能,保障了电力设备在各种环境下的正常工作。 固态继电器是电力控制中的关键组成部分,利用半导体器件来实…...
# 从底层架构到应用实践:为何部分大模型在越狱攻击下失守?
从底层架构到应用实践:为何部分大模型在越狱攻击下失守? 引言 近期,我们对多个主流大语言模型(LLM)进行了安全性测试,使用了极具诱导性的越狱提示词,试图绕过其内容安全机制。测试结果显示&am…...
【Redis】Cluster集群
目录 1、背景2、核心特性【1】数据分片【2】高可用【3】去中心化【4】客户端重定向 3、集群架构【1】最小规模【2】节点角色【3】通信协议 4、数据分片与路由【1】哈希槽分配【2】客户端路由逻辑 5、故障恢复6、适用场景 1、背景 Redis Cluster是Redis官方提供的分布式解决方案…...

物联网通信技术全景指南(2025)之如何挑选合适的物联网模块
物联网通信技术全景指南(2025)之 如何挑选合适的物联网模块 物联网通信技术全景指南(2025)一、技术代际演进与退网背景二、5G 物联网技术体系(Sub-6 GHz 核心)1. 技术分层架构2. 蜂窝技术性能矩阵3. Sub-6 …...