Unity 3D
文章平均质量分 79
bolixin36
这个作者很懒,什么都没留下…
展开
-
UGUI源码试探究 (二) 事件系统
UGUI源码试探究 (二) 事件系统1. 按钮响应的过程按钮注册事件 设置断点, 鼠标点击按钮, 触发断点查看此时的调用堆栈我们来到栈底: 鼠标按下之后, EventSystem.Update调用了第一个方法来到了StandaloneInputModule.Process如果鼠标抬起的元素跟鼠标按下的元素一样的话如何获得鼠标按下...原创 2018-05-01 16:50:07 · 513 阅读 · 0 评论 -
Unity Cache Server了解和常见问题
Cache Server做什么 The cache server accelerates the import step. It does not touch source data. The cache server is independent of version control. It is even independent of your current project. ...原创 2018-06-30 21:09:47 · 1796 阅读 · 0 评论 -
提取UnityProfiler内存数据
ExtractProfilerMemoryan editor tool to save unity profiler memory编辑器工具, 用于提取UnityProfiler内存数据功能提取Unity Profiler窗口的内存Detailed数据支持Editor和通过IP连接手机来监测数据可以提取指定大小范围内的数据, 例如只输出内存大于1MB的数据可以指定输出的层级...原创 2018-07-21 21:47:18 · 2246 阅读 · 0 评论 -
Unity中实例化对象销毁的分析
项目中在检查物体生命周期和进行资源对象和实例化对象回收的时候, 遇到了两个问题:组件在OnDestroy方法中, 调用了Destroy(gameObject)方法, 会不会出问题?组件在OnDestroy方法中, 能否取得到子物体的数据, 还是直接报空?这两个问题, 可以转换为以下几个可以通过简单代码验证的问题具有层级关系和同级关系的组件OnDestroy调用顺序是怎样?Un...原创 2018-08-04 23:51:40 · 3678 阅读 · 0 评论 -
[Unity优化]认识内存
title: [Unity优化]认识内存1.Unity的内存开销介绍1.1 本机堆内存占用在一个较为复杂的大中型项目中,资源的内存占用往往占据了总体内存的70%以上。因此,资源使用是否恰当直接决定了项目的内存占用情况。一般来说,一款游戏项目的资源主要可分为如下几种:纹理(Texture)、网格(Mesh)、动画片段(AnimationClip)、音频片段(AudioClip...原创 2018-09-09 21:55:28 · 303 阅读 · 0 评论 -
[Unity优化]内存管理与程序性能优化
Unity 的自动内存管理Unity 内部有两个内存管理池: 堆内存和堆栈内存. 堆栈内存 (stack) 主要用来存储较小的和短暂的数据, 堆内存 (heap) 主要用来存储较大的和存储时间较长的数据. Unity 中的变量只会在堆栈或者堆内存上进行内存分配, 变量要么存储在堆栈内存上, 要么处于堆内存上只要变量处于激活状态, 则其占用的内存会被标记为使用状态, 则该部分的内存处于被分...原创 2018-09-10 00:23:19 · 2808 阅读 · 0 评论 -
[注解]Execution Order of Event Functions: Unity生命周期及常见问题
版本: 2018.2原文: Execution Order of Event FunctionsScript Lifecycle Flowchart 脚本生命周期流程图The following diagram summarises the ordering and repetition of event functions during a script’s lifetime.In U...原创 2018-10-07 21:04:40 · 652 阅读 · 0 评论 -
[Unity小项目]3D像素跑酷游戏
FFFFFlipping1. 游戏截图[待补充]>>>emm录制gif的时候出错了…2. APK下载FFFFFlipping-V1.1.apk3. 怎么玩?点键help按钮, 会显示操作提示你可以向左跳, 向右跳, 每次只能跳一步你可以向后跳一步来调整战略, 防止陷入僵局, 或者踩爆更多的敌人!你可以收集金币, 然后打破纪录! (但是现在还没有商店)踩爆敌人...原创 2018-10-14 17:01:20 · 1811 阅读 · 1 评论 -
UGUI的认识与优化
此文章仅收集整理个人学习之用, 部分内容来源见文尾相比于NGUI, UGUI的优点:层级管理UGUI采用的排序比较简单, 在C++层处理,效率更高在Canvas内部元素采用Hierarchy方式排序,在Canvas同级之间通过Sort Order或者是Hierarchy来进行排序NGUI的排序是通过Depth、Z值、RenderQueue共同影响的,整体规则过于复杂3D...原创 2018-10-14 23:45:19 · 940 阅读 · 0 评论 -
透明通道中的预乘
NGUI的Atlas Maker视图中, 有一个选项是 PMA Shader打开NGUI源码, 发现在UIAtlasMaker.OnGUI中有一段代码 if (!fixedShader) { GUILayout.BeginHorizontal(); NGUISettings.atlasPMA = Editor...原创 2018-06-16 19:21:14 · 1679 阅读 · 0 评论 -
ngui源码中关于图集(UIAtlas)一些有用的方法记录
title: [unity] ngui源码中关于图集(UIAtlas)一些有用的方法记录0. 说明:texture表示图集使用的大图片, 例如:sprite表示被打包进图集的小图片, 例如:1. 计算一个图集中的texture打包率 / 使用率 / sprite入住率在ngui内置的打包图集脚本UITexturePacker中, 有一个方法Occupancy, ...原创 2018-06-16 11:13:29 · 2062 阅读 · 1 评论 -
Unity优化 处理AB包中被依赖的冗余内部资源
unity的内置资源类型有四种:Shader,Material,Texture以及Sprite unity_builtin_extra是Unity内部使用的一个资源库, 我们在打包AB的时候, 无法像对待外置资源那样对内置资源进行打包, 这样可能会造成AB中冗余的内置资源解决问题的方法可以是修改对这些内部资源的引用. 例如将对内部shader的引用, 修改为对项目自定义shader的引用....原创 2018-06-23 22:21:30 · 4597 阅读 · 0 评论 -
Unity实现基于UGUI的简易UI框架
Unity实现基于UGUI的简易UI框架什么是UI框架?UI框架中的 UIManager 管理场景中所有的面板, 控制面板之间的跳转. 本Demo实现以下功能:关闭当前页面显示新的页面 叠加显示关闭当前页面并显示关闭所有页面并显示安卓返回键响应 返回上一个页面退出程序设计UI页面先搭建好所有的UI界面, 并保存为prefab...原创 2018-04-26 13:45:52 · 9255 阅读 · 2 评论 -
UGUI源码试探究 (一) 图形绘制
UGUI源码试探究 (一)1. 前言1.1 UGUI是什么UGUI是Unity官方推出的UI系统, 集成了所见即所得的UI解决方案, 其功能丰富并且使用简单, 同时其部分源代码也是开放的下载地址:https://bitbucket.org/Unity-Technologies/ui/src2. 图形绘制2.1 绘制基础Mesh:通俗的讲, ...原创 2018-04-29 15:10:07 · 1718 阅读 · 0 评论 -
UGUI源码试探究 (三) Graphic家族
0. Graphic家族的类图1. Image1.1 Source ImageImageEditor.cs 中找到关于Source Image的代码 而m_SpriteContent与m_Sprite有关在Imagg.cs中, 如果SourceImage使用的不是默认的贴图, 则使用的是overrideSprite属性, 它返回字段activeSprite...原创 2018-05-08 16:27:29 · 485 阅读 · 0 评论 -
Unity 实现人物相机前后跟随, 带延迟效果
效果图:需求:相机在人物后上方, 相机跟随人物前后跳动而做延迟跟随实现方法:1.将相机移动到人物右上方合适的位置2.在相机下面创建空物体, 并命名为CameraAnchor , 此时它的Position为(0,0,0) 3.将CameraAnchor 拖到需要跟随的人物物体里面, 成为它的子物体. 此时CameraAnchor 的Position已发生改...原创 2018-06-03 16:42:07 · 3202 阅读 · 0 评论 -
[Unity小项目]俄罗斯方块
Unity实现俄罗斯方块Demo:下载地址:MyTetris.apk环境:Unity2018.1主要技术:MVC, DOTweenTODO:[x] UI风格修改[ ] 行清除动画[ ] 相机抖动[ ] 方块急速下落[ ] (欢迎提建议呀 >&am原创 2018-05-24 01:29:59 · 6714 阅读 · 2 评论 -
Unity中使用DOTween实现数字滚动效果
0. 实现背景:玩家在游戏中获得金币或战力等, 需要明显地显示出数字的变化, 可以采用数字滚动效果1. 最终实现效果图:2. DOTween相关术语:Tweener 一个tween控制value和animatesSequence 一个特殊的tween,并不是控制value,和其它的tween一起成为一个动画组Tween 一个普通词,既可以表示Tweener也...原创 2018-05-29 00:50:42 · 15436 阅读 · 0 评论 -
优化UGUI的ScrollRect
最近忙于性能优化,深切体会到二八法则真是指导高(tou)效(lan)工作的有力武器。这个礼拜花了几天解决了一个实际问题:UGUI的ScrollRect加载太多物体的时候,第一次弹出界面会非常卡顿,而且不在界面里的内容依然会参与绘制(毫无意义的浪费…)。ChangeLogv1.03 终于支持了ScrollBar,支持直接创建v1.02 Bug Fixes,无尽模式v1.01 重构了...转载 2018-05-31 21:45:38 · 338 阅读 · 1 评论 -
Unity 中实用方法的记录
我们要读取Assets目录同级的文件夹Assets.diff, 该文件夹的全路径可以这样获得://方法一DirectoryInfo topDir = Directory.GetParent(Application.dataPath);string diffFilePath = topDir.FullName + "/&amp原创 2018-06-23 21:22:12 · 802 阅读 · 0 评论 -
图形绘制基础
前言本文介绍的是在Unity中绘制图形的相关知识, 并介绍了OpenGL的图形渲染管线流程, 并总结了几个初学者常见的问题.Unity中绘制一个简单的三角形只需要以下步骤:新建VertexHelper, 生成一个顶点缓冲对象VertexHelper.AddVertr往缓冲内添加顶点数据VertexHelper.AddTriangle往缓冲内添加三角形顶点索引数据新建一个Mesh,...原创 2018-10-09 00:10:02 · 458 阅读 · 0 评论