底层unity

Unity如何搭建游戏框架

Unity作为全球最知名的游戏引擎之一,功能已经做的非常完善了,为什么我们还要在开发项目的时候需要搭建游戏框架呢?基于Unity来搭建一个游戏框架,我们又应该如何思考,如何做?今天给大家分享一些Unity游戏框架搭建相关的内容和理念。 为什么有Unity引擎还要搭建一个游戏框架? Unity是游戏引 ......
框架 Unity

Unity主程如何做好游戏项目管理

很多小伙伴最近在面试或者考虑跳槽,可能工作了3~5年了想涨薪或想做技术总监或主程, 可自己还是个雏,没有做过项目技术管理,怎么办?今天我给大家梳理一下作为一个技术总监或主程你应该如何带好一个游戏项目,做好技术管理。接下来我们将以一个项目的主要流程为主干,分析在每个环节中你应该如何处理和应对,避免踩坑 ......
项目管理 项目 Unity

Unity中国、Cocos为OpenHarmony游戏生态插上腾飞的翅膀

2023年是OpenHarmony游戏生态百花齐放的一年!为了扩展OpenHarmony游戏生态,OpenHarmony在基金会成立了游戏SIG小组,游戏SIG小组联合cocos,从cocos2dx入手一周内快速适配了cocos2.2.6的MVP版本,随后又分别适配了cocos2dx 3.x、4.x ......
OpenHarmony 翅膀 生态 Unity Cocos

Unity3D学习记录03——Navigation智能导航地图烘焙

首先还是在Package Manager中安装AI Navigation 接着选择我们场景的地面,右键,找到AI的NavMesh Surface,它会为我们的Ground添加一个叫NavMesh Surface的子物体 在Inspector窗口中可以看到它的详细的参数: 图中的R,H为你人物的参数, ......
Navigation Unity3D 地图 智能 Unity3

Unity战斗单元UI血条架构设计

1:如何选取技术方案 Unity战斗系统中,每个角色经常会有血条与昵称。如何架构设计才高效,我们列举一些常用的做法: (1) onGUI来做昵称与血条; (2) 3D世界中创建一个3D物体来做血条与昵称,然后让血条与昵称对着摄像机; (3) 基于UGUI/NGUI单独做血条与昵称的UI节点,然后把U ......
架构 单元 Unity

你是如何做好Unity项目性能优化的

在面试中,我们经常会被问各种”莫名奇妙”的问题, 比如这道:”你是如何做好Unity项目性能优化的?”。“这个问题也太泛了吧,没有具体的优化点,这怎么回答?” 瞬间跃入脑海。做面试复盘的时候,你可能会想这个面试官是不是什么都不懂,是个”青铜”啊。没错,能问这道问题的面试官要么是个”青铜”, 要么就是 ......
性能 项目 Unity

unity 使用interface 判断 null错误的问题

在使用Interface,并且由Monobehaviour继承Interface情况下,判断 interface的实际UnityEngine.Object是否null,出现错误,没有成功的判断出已经Destroy https://gamedev.stackexchange.com/questions ......
interface 错误 问题 unity null

Golang Map底层实现简述

Go的map是一种高效的数据结构,用于存储键值对。其底层实现是一个哈希表(hash table),下面是有关map底层实现的详细介绍: 哈希表: map的底层实现是一个哈希表,也称为散列表。哈希表是一个数组,其中每个元素被称为"桶",用于存储键值对。 哈希表的大小是可动态调整的,当存储的键值对数量达 ......
底层 Golang Map

Unity2023零基础入门学习

Unity 游戏引擎是什么? 游戏引擎是一种软件框架,用于开发和创建电子游戏。它提供了一系列工具和功能,帮助开发者设计、构建和管理游戏的各个方面,包括图形渲染、物理模拟、音频处理、动画、碰撞检测、人工智能等。游戏引擎可以简化游戏开发过程,提高效率,并提供跨平台的支持,使开发者能够在不同的操作系统和设 ......
基础 Unity 2023

【Unity3D】资源管理

1 前言 ​ Unity 中资源管理方案主要有 Resources、TextAsset、ScriptableObject 、AssetDatabase、PlayerPrefs、Addressables、AssetBundle、SQLite,本文将介绍其中大部分方案。 2 Resources ​ Re ......
资源管理 Unity3D Unity3 资源 Unity

【Unity3D】UI Toolkit自定义元素

1 前言 ​ UI Toolkit 支持通过继承 VisualElement 实现自定义元素,便于通过脚本控制元素。另外,UI Toolkit 也支持将一个容器及其所有子元素作为一个模板,便于通过脚本复制模板。 ​ 如果读者对 UI Toolkit 不是太了解,可以参考以下内容。 UI Toolki ......
元素 Unity3D Toolkit Unity3 Unity

【Unity3D】UI Toolkit数据动态绑定

1 前言 ​ 本文将实现 cvs 表格数据与 UI Toolkit 元素的动态绑定。 ​ 如果读者对 UI Toolkit 不是太了解,可以参考以下内容。 UI Toolkit简介 UI Toolkit容器 UI Toolkit元素 UI Toolkit样式选择器 UI Toolkit自定义元素 ​ ......
Unity3D Toolkit 动态 数据 Unity3

SpringCloudAlibaba Seata在Openfeign跨节点环境出现全局事务Xid失效原因底层探究

原创/朱季谦 曾经在SpringCloudAlibaba的Seata分布式事务搭建过程中,跨节点通过openfeign调用不同服务时,发现全局事务XID在当前节点也就是TM处,是正常能通过RootContext.getXID()获取到分布式全局事务XID的,但在下游节点就出现获取为NULL的情况,导 ......

Unity 最新DOTS系列之《Baking与Baker的详解》

Unity DOTS Baking与Baker详解 Unity DOTS Baking与Baker详解 最近DOTS终于发布了正式的版本, 我们来分享一下DOTS里面Baking 与Baker的关键概念,方便大家上手学习掌握Unity DOTS开发。 Unity DOTS开发模式,为了让大家在”创作 ......
Baking Unity Baker DOTS

Unity 战斗系统的架构与设计

很多刚开始做游戏的小伙伴感觉战斗系统是一个比较麻烦的部分,不知道如何设计,角色很多,职业很多,技能有好几种,还有装备相关的东西。今天这篇文章详细的讲解一个战斗系统应该如何架构与设计,你看完并搞懂它,战斗系统的架构与设计对你来说再也没有难度了。首先我们先来上一张架构图: 如图,我们把整个的战斗系统分成 ......
架构 系统 Unity

HashMap底层原理

HashMap主要用来存放键值对,它基于哈希表的Map接口实现,是常用的java集合之一,是非线程安全的。 HashMap可以存储null的key和value,但null作为键只能存在一个,作为值则可有多个。 jdk1.7 底层使用数组+链表的方式实现,每次插入使用的是头插法。 数组是 HashMa ......
底层 原理 HashMap

【Unity3D】UI Toolkit样式选择器

1 前言 ​ UI Toolkit简介 中介绍了样式属性,UI Toolkit容器 和 UI Toolkit元素 中介绍了容器和元素,本文将介绍样式选择器(Selector),主要包含样式类选择器(Class Selector)、C# 类选择器(Type Selector)、名称选择器(Name S ......
样式 Unity3D Toolkit Unity3 Unity

【Unity3D】UI Toolkit元素

1 前言 ​ UI Toolkit简介 中介绍了 UI Builder、样式属性、UQuery、Debugger,UI Toolkit容器 中介绍了 VisualElement、ScrollView、ListView、GroupBox 等容器,UI Toolkit样式选择器 中介绍了简单选择器、复杂 ......
元素 Unity3D Toolkit Unity3 Unity

从FrameDebugger看Unity渲染(一)

Unity如何渲染一个3D+2D的游戏画面,今天通过FrameDebugger来看下Unity内置渲染管线的渲染策略, 后续再出一些URP渲染管线相关的文章。 Unity 渲染场景的几个主要部分 Unity内置渲染管线是基于摄像机来进行渲染的,每个摄像机按照摄像机的渲染顺序来依次渲染,渲染完一个摄像 ......
FrameDebugger Unity

Unity基于状态机的流程控制

我们做游戏的时候经常会有流程控制,流程控制的方法有很多,行为决策树,状态机等。本质差别都不大,就是把每一段执行逻辑做成一个一个的节点,根据条件执行某个节点,切换到某个节点。今天给大家分享一下基于状态机来做游戏流程的控制。 1 一个简单的状态机案例 我们先来拆解一个使用案例,通过这个案例让大家对状态机 ......
流程 状态 Unity

Unity 打包il2cpp模式时的常见问题分析

Unity 编辑器模式下是采用.net 虚拟机解释执行.net 代码,发布的时候有两种模式,一种是mono虚拟机模式,一种是il2cpp模式。由于iOS AppStore规定不允许使用虚拟机,所以发布到iOS,Unity采用了il2cpp技术,把IL(.net字节码) 的代码转成c++代码,然后再用 ......
常见问题 常见 模式 il2cpp 问题

Unity游戏开发中如何组织项目目录结构

组织好项目的目录结构,是维护项目的很重要的一个点,我们学习别人源码,了解别人的设计思路都是从目录结构开始,一个清晰的目录结构,对项目开发维护,项目管理来说非常的重要,目录维护的好,大家在一起工作很愉快,目录维护的不好,有可能会把项目搞的乱七八糟。今天我们一起来看看Unity架构师是如何维护自己的目录 ......
结构 目录 项目 Unity

Unity 如何设计网络框架

在Unity框架设计中与游戏服务器对接的网络框架也是非常重要的一个模块,本文給大家分享如何来基于Unity来设计一个网络框架, 主要的讲解以下几个点: (1) TCP半包粘包, 长连接与短连接, IO阻塞; (2) Tcp Socket与UDP Socket 的技术方案; (3) Unity的序列化 ......
框架 Unity 网络

Unity Mesh切割算法详解

我们在开发游戏的时候经常会有一些特殊的游戏玩法等,需要涉及Mesh切割。比如3D切水果, 在地图的城墙上挖一个洞,今天给大家来分享一个Mesh切割的算法,帮助大家解决项目中需要用到的Mesh切割的问题。本文主要从一下几个方面来讲解Mesh切割。 (1) 如何接受玩家的触摸操作,生成切割面; (2) ......
算法 Unity Mesh

Unity3D 如何制作带厚度的透明图片详解

Unity3D是一款功能强大的游戏开发引擎,可以实现各种复杂的游戏效果。本文将详细介绍如何使用Unity3D制作带厚度的透明图片,并提供代码实现。 对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发的技术大佬,欢迎你来交流学习。在Unity3D中,创建带厚 ......
厚度 Unity3D Unity3 图片 Unity

Unity手机游戏发热发烫优化指南与技巧

很多小伙伴做完游戏后,发布到Android,运行,游戏很流畅,也不卡顿,但是跑一会游戏,手机就发热,发烫。客户提出需求,能否让它不发烫? 本文从以下3方面来分析手机发烫的问题,给大家提供一个解决此类问题的通用思路: (1) 手机发烫是如何引起的?为什么要解决发烫问题? (2) 如何定位手机发烫的问题 ......
手机游戏 技巧 指南 手机 Unity

最新Unity 如何打包发布到Android

Unity打包Android现在Unity Hub已经做的非常好了,可以直接下载对应Unity版本所对应得JDK, NDK, SDK,直接可以通过unity hub下载避免了,各种版本不同导致的编译问题,大大的降低了初学者的打包发布的难度,本文详细讲解Unity Android打包以及在打包中间需要 ......
Android Unity

如何在linux(Ubuntu)下安装unity(Unity engine游戏引擎)

如果直接从unity官网下载unityhub的deb包,直接安装有可能出现unityhub打不开/打开缓慢/无法登陆/无法申请密钥等问题。 正解:从Unity官方源下载unity 1.先添加unityhub的储存库: sudo sh -c 'echo "deb https://hub.unity3d ......
引擎 Ubuntu engine linux Unity

【Unity3D】UI Toolkit简介

1 前言 ​ UI Toolkit 是一种基于 Web 技术的 GUI 框架,是为了解决 UGUI 效率问题而设计的新一代 UI 系统(UGUI 的介绍详见→UGUI概述)。与 UGUI 不同,UI Toolkit 没有采用 GameObject 的方式,而是参考了 Web 技术的 XML 和 CS ......
Unity3D Toolkit 简介 Unity3 Unity

【Unity3D】UI Toolkit容器

1 前言 ​ UI Toolkit简介 中介绍了 UI Builder、样式属性、UQuery、Debugger,UI Toolkit元素 中介绍了 Label、Button、TextField、Toggle、Radio Button、Slider、Progress Bar、Dropdown、Fol ......
容器 Unity3D Toolkit Unity3 Unity