
Unity3D
文章平均质量分 89
YOLO_TO_GAME
Programmer/Artist. Unity/Unreal. GC
展开
-
Unity热更模块基于 HybridCLR + Addressable
GitHub - ManoKing/FFramework: 基于HybridCLR + Addressable的热更新框架,提供例子基于QFramework+URP开发基于HybridCLR + Addressable的热更新框架,提供例子基于QFramework+URP开发 - GitHub - ManoKing/FFramework: 基于HybridCLR + Addressable的热更新框架,提供例子基于QFramework+URP开发。...原创 2022-08-17 14:07:09 · 3427 阅读 · 0 评论 -
Unity游戏的GC(garbage collection)优化
原文:https://unity3d.com/cn/learn/tutorials/topics/performance-optimization/optimizing-garbage-collection-unity-games引言游戏运行时使用内存来存储数据,当这些数据不再被使用时,存储这些数据的内存被释放以便于之后这些内存可以被复用。垃圾(Garbage )是存储无用数据的内存的术语,GC(Garbage Collection 垃圾回收)是使这些内存可以再次使用的过程。GC是Unit.原创 2021-10-21 18:03:44 · 1520 阅读 · 0 评论 -
Unity性能优化
常见的Unity性能问题Unity性能问题VSS:Virtual Set Size,虚拟耗用内存。它是一个进程能访问的所有内存空间地址的大小。这个大小包含了 一些没有驻留在RAM中的内存,就像mallocs已经被分配,但还没有写入。VSS很少用来测量程序的实际使 用内存。RSS:Resident Set Size,实际使用物理内存。RSS是一个进程在RAM中实际持有的内存大小。RSS可能会 产生误导,因为它包含了所有该进程使用的共享库所占用的内存,一个被加载到内存中的共享库可能有很 多进程会原创 2020-10-15 16:56:39 · 1426 阅读 · 0 评论 -
声音管理AudioManager
今天给大家分享下刚刚做的AudioManager实现了以下功能:1.同时播放一首背景音乐2.同时播放N个音效3.对象池管理AudioSource组件4.背景音乐的声音淡入淡出5.调整背景音乐的音量6.调整音效的音量7.本地缓存声音音量8.切换场景不销毁9.获取播放音效结束回调10.播放3d音效使用方法: 直接挂载到空物体上应该是实现了大部分项目中...原创 2020-04-08 15:41:10 · 451 阅读 · 0 评论 -
彻底解决IL2CPP 开启Strip Engine Code选项后带来的崩溃问题
IL2CPP根据C#生成的Cpp代码行数巨大,达到百万行级别,进而引起iOS平台可执行文件超过60MB的问题。因此在适当的时候有必要对UnityEngine下的代码进行Strip。但是这样做容易带来如下的问题:ReportException: UnityLogError Could not produce class with ID XXX.This could be caused by ...原创 2019-04-26 11:42:29 · 1886 阅读 · 0 评论 -
Unity3D中脚本定义符号的使用 Scripting Define Symbols
调试信息在程序设计过程中的作用是至关重要的。如果游戏设计完成后。这些调试信息就不应该在程序运行过程中继续调用。可以用过设置脚本定义符号来确定游戏运行时是否执行调试信息输出代码using UnityEngine;using System.Collections; public class ShowDebugInfo : MonoBehaviour { void Start(...原创 2018-07-19 14:28:43 · 1497 阅读 · 0 评论 -
Unity Remote 之 快速Unity应用免安装真机调试
Unity Remote 之 快速Unity应用免安装真机调试。在Unity开发中,可以使用Unity Remote,在开发应用不用安装在这机上,即可简单调试和操作开发应用,本节介绍Unity Remote安装使用的简单案例,具体如下在真机下载安装 Unity Remote,iOS在App Store下载即可,打开界面具体如下图打开Unity,新建一个空工程,具体如下图在场景中,新建一个“Butt...原创 2018-07-04 12:39:24 · 734 阅读 · 0 评论 -
Unity3D之发布到IOS,Android的各种坑
由于Unity发布到IOS,是以Xcode工程的形式发布到MAC中,所以,在发布的时候需要注意以下几点:1. 发布的工程,需要以真机进行调试(我发布的时候,选择发布unity到模拟器版本,发布后无法用模拟器运行)2. Unity发布真机:Build Settings->Player Settings->Other Settings->SDKVersion 选择真机(不知道是哪个,...原创 2018-07-04 09:31:15 · 5267 阅读 · 2 评论 -
Xcode免证书导出ipa文件
1.首先在真机上跑一遍app2.com+shift+,3.然后会看到这个页面,点击profile4.点击第二个executabl,点击other...5.进去release—iphoneos6.把这个.app拖到iTunes的应用程序中7.在拖到桌面,相应的.ipa文件就生成好了。...原创 2018-06-27 18:00:07 · 5508 阅读 · 2 评论 -
Unity3D之开发中所有特殊的文件夹
这里列举出手游开发中用到了所有特殊文件夹。1.EditorEditor文件夹可以在根目录下,也可以在子目录里,只要名子叫Editor就可以。比如目录:/xxx/xxx/Editor 和 /Editor 是一样的,无论多少个叫Editor的文件夹都可以。Editor下面放的所有资源文件或者脚本文件都不会被打进发布包中,并且脚本也只能在编辑时使用。一般呢会把一些工具类的脚本放在这里,或者是一些编辑时...原创 2018-06-14 14:24:34 · 1166 阅读 · 0 评论 -
Unity的架构常用的方式简单总结
什么是架构?架构是一个约定,一个规则,一个大家都懂得遵守的共识。那这是什么样的约定、什么样的规则、什么样的共识呢?我以包为例,我经常出差,双肩背包里装了不少东西。笔记本电脑、电源、2 个上网卡、鼠标、USB 线、一盒大的名片、一盒小的名片、口香糖、Mini-DisplayPort 转 VGA 接口、U 盘、几根笔、小螺丝刀、洗漱用品、干净衣服、袜子、香水、老婆给我带的抹脸膏(她嫌我最近累,脸有点黄...原创 2018-06-06 14:57:38 · 4747 阅读 · 0 评论 -
Unity3D之Unity用Display实现Game视图多屏(分屏)效果
之前见过很多分屏的赛车游戏,中间屏幕显示正前方的画面,两边屏幕显示车窗和后视镜画面,一直不知道怎么实现的,后来在做项目的时候也用到了这样的技术,所以就去网上搜了一下,结果实现起来非常简单。首先要先设置好不同的相机来渲染不同的视角,然后在每个相机上有一个TargetDisplay,一共有8个选项,说明最多能拓展,分8个屏幕,然后每个相机选择不同的displsy,在game视图上也有相同的东西,那个是...原创 2018-05-30 11:31:18 · 23721 阅读 · 10 评论 -
Unity3D之Text文本图文混排Unity3D——Unity2018自带插件
最近Unity2018发布了,在这个版本里Unity做了很多插件让开发更容易,这些插件不是依赖工程的,也就是说不用再往项目里导入package包了。而是通过unity本身的PackageManager导入。在Project面板是看不到任何文件或者文件夹的(某些可以看到一部分文件或者文件夹)。还可以在工程的根目录(也就是Assets同级目录下的Package文件夹下的json文件写入不同的插件)。今...原创 2018-05-30 10:47:19 · 4881 阅读 · 0 评论 -
Unity3D缓存图片
在某种情况下,在网络上下载图片的时候,由于网络等原加载图片会很慢,就需要将图片缓存到本地。这样在读取本地图片会很快。在网上也搜索了一些方法主要原理就是查找本地是否有这个文件,然后决定是去网上下载,还是本地加载。这里主要用到的方法就是读写本地文件和网上下载文件。下面是代码。using UnityEngine;using System.Collections;using System.IO;us...原创 2018-05-30 10:32:58 · 1976 阅读 · 1 评论 -
FSM有限状态机架构
首先我们应该定义一个状态基类FSMBase,里面有一些动画状态的基本行为,比如动画状态的进入,持续,离开等,然后因为人物并不是只有一个状态,所以我们应该建立一个状态管理器来管理状态,里面应该定义一些方法,比如我们应该定义一些状态的共同逻辑,比如对状态进行存储,添加状态AddState,状态间跳转的方法ChangeState(进入当前的动画状态时,应该离开上一个动画状态,从而保证每一帧处...原创 2018-05-29 11:27:49 · 920 阅读 · 0 评论 -
Unity3D中需要的单词
Unity3D下分8个菜单分别是File(文件)Edit(编辑)Assets(资源) GameObject(游戏对象) Component(组件)Terrain(地形) Window(窗口) Help(帮助) File(文件)------New Scene 新建场景 Open Scene 打开场景 S...原创 2018-05-29 08:11:24 · 1617 阅读 · 0 评论 -
对象池思想的简单理解
对象池的概念:在激活对象时,它从池中提取。在停用对象时,它放回池中,等待下一个请求;背景:跑酷游戏,道路上有障碍物,角色身后的障碍物消失,角色前面随机生成障碍物你所需要的最基本的三样东西:1、一个池子:用来装你所需的物品,和回收物品;2、一个取物品的方法;3、一个放物品的方法;有这3样东西,你就可以建造对象池了以下是完整的代码部分,里面有详细的注释using UnityEngine; usin...原创 2018-05-28 22:13:17 · 467 阅读 · 0 评论 -
StopCoroutine协程停止
StopAllCoroutines():用于停止当前脚本的所有协程。StopCoroutine(string methodName);停止当前脚本中的某一个协程,通过协程的方法名查找并停止。局限性:StartCoroutine("testStartCor")中不能带参数,也就是testStartCor不能有参数,否则会报错。StopCoroutine(IEnumerator routine);us...原创 2018-05-28 18:55:17 · 1951 阅读 · 0 评论 -
Unity3D使用技巧
1. ALT + 鼠标左键点击 Hierarchy 对象可以展开和收起对象的所有子对象;2. 在当前编辑器窗口中摁下“SHIFT + 空格键”,可以最大化/最小化当前窗口;3.分别按键盘键Q、W、E、R、T可以依次切换界面上的小工具,除此之外,按数字键2或3还可以切换场景为2D模式或3D模式。4.好不容易才调好的坐标,结果发现是在运行模式下,如果退出运行模式就还原了怎么办?可以在检视面板右键点击组...原创 2018-05-28 17:13:49 · 563 阅读 · 0 评论