底层unity

Unity学习笔记--数据持久化XML文件(1)

XML相关 Xml是可拓展标记语言,一种文件格式。我们使用xml来完成对数据持久化的存储。等待我们有一程序运行结束之后,将内存中的数据进行保存,(保存在硬盘/服务器)实现对数据的持久化存储。 xml文件的读取和保存以及修改 要点: XMl文件的加载 XML文件节点的查找访问 XML文件节点内容的读取 ......
文件 笔记 数据 Unity XML

Unity 实现滑块排序思路

所有滑块处于一个垂直或水平的布局Cells中,Cells中有一个设置为隐藏的占位透明滑块null 对于每一个滑块cell: 按下时,cell改变为选中状态(美术样式改变),算出偏移(鼠标按下位置与cell中心的距离) 开始拖拽时:cell脱离Cells,将null在层级中的位置设置为cell的位置并 ......
思路 Unity

Unity学习笔记--数据持久化之PlayerPrefs的使用

数据持久化 PlayerPrefs相关 PlayerPrefs是Unity游戏引擎中的一个类,用于在游戏中存储和访问玩家的偏好设置和数据。它可以用来保存玩家的游戏进度、设置选项、最高分数等信息。PlayerPrefs将数据存储在本地文件中,因此可以在游戏重新启动时保持数据的持久性。 //Player ......
PlayerPrefs 笔记 数据 Unity

Unity实现Voronoi图(性能友好,分布较为均匀

这是一种性能友好的并且生成较为均匀的Voronoi图的实现方式 在一张网格中生成随机点,然后在取每个点周围点就不需要去做全局遍历,在自己周围的格子遍历即可 using UnityEngine; using UnityEngine.UI; public class VoronoiDiagram : M ......
性能 Voronoi Unity

C++ STL 容器底层实现

一、关键词 I:容器 1、顺序容器:底层是链表和数组 array(数组)、vector(可变数组)、deque(双端队列) forward_list(单向链表)、list(双向链表) 2、关联容器:底层是红黑树 set(集合)、mulitset(可重复元素的集合) map(字典)、multimap( ......
底层 容器 STL

Unity3D:ECS架构详解

Unity3D是目前游戏开发领域最为流行的引擎之一,而Unity3DECS架构则是在Unity3D引擎的基础上,针对游戏开发中的实体组件系统进行优化和改进而设计的一种架构。本文将详细介绍Unity3DECS架构的技术细节和代码实现。 对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下 ......
架构 Unity3D Unity3 Unity ECS

Unity之贴图混合

有如下几种方式: 1.CPU端逐像素根据alpha通道进行叠加 1 public void MergeTexture(Texture2D tt1, Texture2D tt2, int offsetX, int offsetY) 2 { 3 Texture2D newTex = new Textur ......
贴图 Unity

[Unity3D]检测鼠标点击角色移动

学习工具 Unity3D 学习内容 如何检测鼠标点击移动角色 自己的理解 原理:通过检测鼠标的光线投射(Raycast)是否与地面碰撞(RaycastHit),再检测鼠标左键(Input.GetMouseButton(0))是否点击,如果两个都符合则执行移动方法 源代码如下: private boo ......
鼠标 角色 Unity3D Unity3 Unity

【Unity UGUI】UGUI适配

1 /* 2 *FileName: SafeAreaPanel.cs 3 *Author: None 4 *UnityVersion: 2021.3.20f1 5 *Date: 2023-07-20 16:11 6 *Description: UI适配组件 7 *History: 8 * 9 *20 ......
UGUI Unity

unity 打包问题记录

问题1: Error building Player because scripts had compiler errors 问题描述:在打包准备真机测试时发现了这个问题,到处查找解决办法后发现了问题,以下一些解决办法提供了思路。 解决思路:(1)、关于AB打包出现的错误:Error buildin ......
问题 unity

Unity-Light(含Unity2021-2d项目升级Urp渲染管线)

Unity-Light(含Unity2021-2d项目升级Urp渲染管线) 普通渲染管线(比较老旧的光效升级方式,已舍弃) ​ 要使场景和角色拥有光效,那就得让他们先暗下来,给他们添加相应的材质 场景材质的添加 ​ 选中需要添加材质的场景,在右侧框内的“材质”菜单中,选中Default-Diffus ......
Unity 管线 Unity-Light 项目 Light

Unity-背包系统

Unity-背包系统 简介 ​ 背包是每个成功游戏中不可缺少的,玩家获取的装备与道具将会放入背包,需要时再拿出来使用。如果没有背包来储存玩家在游戏中获得的武器和道具,或许游戏将会变得十分单一枯燥,出招方式一成不变。 ​ 有了背包系统,玩家才可以使用不同的武器,搭配不同的道具,使出不同的攻击搭配,从而 ......
背包 系统 Unity

Unity-射线

Unity-射线 前言 ​ 在游戏开发的过程中,许多功能的实现都需要物理检测,而 发射射线 是Unity中物理检测的通用方法。例如,我们需要检测玩家(Player)脚下是否是 地面(图层为 Ground),只需要从脚底发射一条射线,检测Player脚下GameObject的图层是否为Ground即可 ......
射线 Unity

Unity-协程

Unity-协程 协程的简单实现 ​ 一般的程序执行都是线性的,也就是必须一行一行的执行代码。 ​ 使用Unity提供的协程,就可以类似于开辟另一条线程,调整根据你所写的代码,调整下一行代码执行的时间。 项目示例 ​ 下面的例子是一个 U3D Demo 中的代码,实现最简单的 Enemy 追击 Pl ......
Unity

Unity-敌人(Enemy)

Unity-敌人(Enemy) 引言 ​ 敌人是每个游戏中不可缺少的部分,设计得好的敌人可以给游戏增添很多乐趣,设计得差的则会非常影响我们的游戏体验。 ​ 经过这段时间的学习,我们已经接触了非常多的敌人代码的写法,但是就是没有系统的归类,导致每次写敌人,都要从头开始。现在是时候将他们进行一个系统性的 ......
敌人 Unity Enemy

Unity-单例模式

Unity-单例模式 前言 ​ 对于某些特殊的类,我们希望 在整个程序的生命周期只创建一个该类的对象 ,或是希望 在其他类没有持有该类的引用,就可以调用该类中的函数,我们就需要将这个类写成 单例模式 单例的简单实现 public class Test() { pubic abstract Test ......
模式 Unity

Unity-场景的异步加载

Unity-场景的异步加载 为什么需要异步加载 ​ 在诸多大型游戏里,场景渲染精度都是动态的,随着场景与角色距离的增加,渲染精度也在递减,这样极大的减少了硬件性能的消耗。 ​ 但如果角色使用了某些传送技能,将自己传送到为渲染的地点,游戏可能就会因为需要瞬间渲染大量的场景而卡顿。此时就需要用到 场景的 ......
场景 Unity

Unity-观察者模式(observer)

Unity-观察者模式(observer) 引言 ​ 了解完委托(delegate)与事件(event)之后,我们来讨论一个问题。 ​ 假设我们有一个热水器,我们给他同上电,当水温超过95度的时候:1、扬声器会开始发出语音,告诉你温度;2、液晶屏也会改变水温的显示,来提示水已经烧开了 ​ 现在我们需 ......
观察者 observer 模式 Unity

Unity-FSM有限状态机

Unity-FSM有限状态机 什么是有限状态机? ​ 在编写一些需要判断多个条件的程序时,我们常常会用到 if-else 语句,这样能够很好的帮我们解决多数问题。但在游戏开发过程中,一个角色的行为不是一成不变的,需要实时的进行修改,此时如果我们使用的是 if-else 来判断角色所处状态,就需要修改 ......
Unity-FSM 状态 Unity 有限 FSM

Unity-对象池 & 多对象池

Unity-对象池 & 多对象池 简介 ​ 在制作游戏的过程中,人物和boss的设计往往会有释放多个子弹的攻击方式。我们可以用直接创造子弹然后销毁的办法来实现这些技能的效果,但当子弹开始变多,游戏就会不断的消耗我们的内存。为了解决这个问题,开发者们就引入了状态机。 普通对象池 创建思路 ​ 在不创建 ......
对象 Unity amp

Unity-Menu&场景切换

Unity-Menu&场景切换 开始界面 1.要创建开始界面,首先要新建一个场景,用于添加游戏开始界面的内容 2.新建按钮步骤:UI>画板>Button(按钮)>根据需要设置按钮 3.给按钮添加代码,使得按下按钮就可以进入下一关/退出游戏 (1)代码内容需要用到 using UnityEngine. ......
Unity-Menu 场景 Unity Menu amp

Unity-工厂设计模式

Unity-工厂设计模式 原文出处:工厂方法设计模式 (refactoringguru.cn) 简介 ​ 工厂方法模式是一种创建型设计模式, 其在父类中提供一个创建对象的方法, 允许子类决定实例化对象的类型。 工厂(方法)模式 问题引入 ​ 假设你正在开发一款物流管理应用。 最初版本只能处理卡车运输 ......
设计模式 工厂 模式 Unity

MYSQL 事务的底层原理

事务的底层原理 在事务的实现机制上,MySQL 采用的是 WAL:Write-ahead logging,预写式日志,机制来实现的。 在使用 WAL 的系统中,所有的修改都先被写入到日志中,然后再被应用到系统中。通常包含 redo 和 undo 两部分信息。 为什么需要使用 WAL,然后包含 red ......
底层 原理 事务 MYSQL

Unity3D 如何用unity引擎然后用c#语言搭建自己的服务器

Unity3D是一款强大的游戏开发引擎,可以用于创建各种类型的游戏。在游戏开发过程中,经常需要与服务器进行通信来实现一些功能,比如保存和加载游戏数据、实现多人游戏等。本文将介绍如何使用Unity引擎和C#语言搭建自己的服务器,并给出技术详解以及代码实现。 对惹,这里有一个游戏开发交流小组,希望大家可 ......
Unity3D 语言 服务器 引擎 Unity3

Unity播放Hap格式视频 (大分辨下流畅播放以及帧同步解决方案)

前言: 之前对于项目上播放大分辨率视频(特别是大于4k分辨率的)常常会感觉相当的头疼,最开始使用的是Unity自带的VideoPlayer,发现效果并不理想,更换为AVPro后发现播放是流畅了 但不能操作视频快进,只要一快进就会出现卡顿,最后偶然间发现了一款用于播放Hap格式视频的插件才最终解决了这 ......
解决方案 格式 方案 Unity 视频

Unity MMORPG 背包系统如何设计

前言 MMORPG游戏中背包系统是很重要的一个模块, 大部分的背包系统的讲解,都是讲如何设计UI,如何显示这些,其实这些东西并不是背包系统的核心,接下来我们来分析一下背包系统的数据结构如何设计,能让策划和程序很好的工作,以及非常方便的扩展。 对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起 ......
背包 MMORPG 系统 Unity

Unity Android Studio 设置自启动应用

前言 最近有需求,需把Unity软件发布到android平台后开机启动应用,在网上查了很多资料,现整理如下 Unity部分 新建项目,平台设置为android tips: 需要勾选Export Project以便于导入Android Studio ,使用Unity版本为2021.3.32f1 And ......
Android Studio Unity

unity LookRotation LookAt 功能详解

Quaternoin 的旋转函数 static Quaternion LookRotation(Vector3 forward, Vector3 upwards = Vector3.up); Transform 中的 旋转函数 void LookAt(Transform target, Vector ......
LookRotation 功能 LookAt unity

Unity底层是如何处理C#的

在面试中,我们经常会被问到Unity的底层是如何处理C#,本节给通过一下3个点来给大家详细的分析这个问题: (1) C#的发展历史; (2) Unity为什么用C#; (3) il2cpp解决了什么问题; C#的发展历史 C#没有出来之前,当时Java凭借Java虚拟机+Java字节码解释执行,让J ......
底层 Unity

unity开发——打飞碟小游戏

unity开发——打飞碟小游戏 目录unity开发——打飞碟小游戏项目地址游戏规则及要求规则要求设计模式讲解代码剖析伪代码DiskDiskDataIUserActionIActionManagerCCActionManagerPhysisFlyActionPhysisActionManagerSco ......
小游戏 unity
共1164篇  :10/39页 首页上一页10下一页尾页