Unity
鹅厂程序小哥
与你一起写程序 | 知乎:鹅厂程序小哥 | 微信公众号:鹅厂程序小哥
展开
-
反编译apk获取unity资源流程分享
什么时候需要这样做?遇到真机问题,如资源丢失检查,可能需要直接拆开对应的包来确认资源是否存在,打包是否没打进去。例如检查某个tdr表格是否没有打进包里面,或者检查包里某个资源版本是不是不对看到其他做的很好的游戏,看到很好的图或者模型,想破解里面的资源拿来自己用,如果没加密的话就可以破解出来(如轩辕传奇的apk就没加密,从里面能搞出很多好看的图片和模型)想学习研究别人的游戏是怎样处...原创 2019-10-22 11:12:47 · 5584 阅读 · 0 评论 -
学习shader之前必须知道的东西之计算机图形学(一)渲染管线
引言 shader到底是干什么用的?shader的工作原理是什么? 其实当我们对这个问题还很懵懂的时候,就已经开始急不可耐的要四处搜寻有关shader的资料,恨不得立刻上手写一个出来。但看了一些资料甚至看了不少cg的语法之后,我们还是很迷茫,UNITY_MATRIX_MVP到底是个什么矩阵?它和v.vertex相乘出来的又是什么玩意?当这些问题困扰我们很久之后,我们才发现,原来我们是站在浮转载 2016-05-04 11:17:07 · 527 阅读 · 0 评论 -
Unity将来时:IL2CPP是什么?
作者:小玉链接:https://zhuanlan.zhihu.com/p/19972689来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。Unity3D想必大家都不陌生,独立游戏制作者们很多人都在用它,甚至一些大公司也用在很商业的游戏制作上。Unity3D最大的一个特点是一次制作,多平台部署,而这一核心功能是靠Mono实现的。可以说Mono是Uni转载 2016-08-04 17:46:12 · 474 阅读 · 0 评论 -
去蓝港在线面试Unity3D的笔试题。难吗?知道答案的在评论里写出来分享
前一阵子去蓝港面试unity3d程序,在前台登记以后被领到一个吧台前面填2张个人信息表,之后有人送来笔试题,做了1个小时,感觉挺难的。之后被带到下面面试,面试的是一个年龄稍大的(可能是项目经理或者技术总监),和另一个较为年轻的unity主程,人都比较随和,面试过程没有感觉压抑,想说什么就说什么。除了问一些技术问题,就是下面面试题的一个拓展,还问了有没有玩过蓝港的游戏,看我的手机是windowsph转载 2017-06-19 11:27:53 · 1060 阅读 · 0 评论 -
unity3d面试题
1、C#程序题1234567891011private static void aaa(int x) { x = 10; } private static void bbb(ref int x) { x = 10; }转载 2017-06-19 11:30:21 · 414 阅读 · 0 评论 -
Unity3D面试总结
最先执行的方法是:1、(激活时的初始化代码)Awake,2、Start、3、Update【FixUpdate、LateUpdate】、4、(渲染模块)OnGUI、5、再向后,就是卸载模块(TearDown),这里主要有两个方法OnDisable与OnDestroy 高频问答的问题:1.什么是渲染管道?是指在显示器上为了显示出图像而经过的一系列必要操作。转载 2017-06-19 14:28:05 · 544 阅读 · 0 评论 -
unity渲染层级关系小结
最近连续遇到了几个绘制图像之间相互遮挡关系不正确的问题,网上查找的信息比较凌乱,所以这里就把自己解决问题中总结的经验记录下来。 Unity中的渲染顺序自上而下大致分为三层。 最高层为Camera层,可以在Camera的depth那里设置,设置之后,图形的渲染顺序就是先绘制depth低的相机下的物体,再绘制depth高的相机下的物体,也就是说,depth高的相机会覆盖depth低的相转载 2017-06-03 16:13:48 · 316 阅读 · 0 评论 -
Unity5.x AssetBundle 的变化
前言:下面文字适用于对AssetBundle有一点了解的朋友,阅读大约10分钟,AssetBundle基本概念等知识可以网上找一下。1、打包API的变化Unity5.x中,AssetBundle相关的API做了极大的简化,合并了多个情况的函数,合并了资源和场景打包函数。 1、资源unity4.x : BuildAssetBundle,BuildAsset转载 2017-06-19 15:55:01 · 529 阅读 · 0 评论 -
循环冗余检验CRC C#代码 Crc32
CRC简介循环冗余校验(Cyclic Redundancy Check, CRC)是一种根据网络数据包或电脑文件等数据产生简短固定位数校验码的一种散列函数,主要用来检测或校验数据传输或者保存后可能出现的错误。它是利用除法及余数的原理来作错误侦测的。在数据传输过程中,无论传输系统的设计再怎么完美,差错总会存在,这种差错可能会导致在链路上传输的一个或者多个帧被破坏(出现比特差错,0变为转载 2017-06-19 11:31:16 · 1862 阅读 · 0 评论 -
你应该知道的AssetBundle管理机制
接上期AssetBundle打包的讲解,我们今天为大家继续探秘AssetBundle,从管理机制的角度出发,谈谈其资源加载和卸载的原理。AssetBundle加载基础通过AssetBundle加载资源,分为两步,第一步是获取AssetBundle对象,第二步是通过该对象加载需要的资源。而第一步又分为两种方式,下文中将结合常用的API进行详细地描述。一、获取AssetBu转载 2017-06-30 20:19:11 · 327 阅读 · 0 评论 -
揭开AssetBundle庐山真面目(一)
我们常说AssetBundle依赖性打包,其作用是希望在资源更新时做到局部更新,可见其对于项目的内存管理可谓举足轻重,那今天我们就来聊聊如何游刃有余地利用这个技能吧。同时如果你恰有相关的疑问,欢迎后台留言给UWA,或者加入QQ群(465082844)讨论。最重要的,关注UWA的定时技术分享哦。AssetBundle 打包(4.x)基础基本介绍(1)常用打包API转载 2017-06-30 20:20:29 · 307 阅读 · 0 评论 -
揭开AssetBundle庐山真面目(二)
昨天的分享揭开AssetBundle庐山真面目(一),我们主要剖析了4.x版本下的AssetBundle管理机制,那5.x版本究竟有些什么变化呢?今天我们来一探究竟。同时如果你恰有相关疑问,欢迎后台留言给UWA,或者加入QQ群(465082844)讨论,当然也不要忘记关注UWA哦。AssetBundle打包(5.x)基础基本介绍(1)唯一APIpub转载 2017-06-30 20:21:36 · 266 阅读 · 0 评论 -
Unity里的Mesh属性
Unity里的Mesh属性-----------------------------------------------------------------------------------------------Mesh是Unity内的一个组件,称为网格组件。Mesh 网格MeshFilter 网格过滤器Mesh Renderer 网格渲染器Mesh转载 2017-07-31 20:12:21 · 884 阅读 · 0 评论 -
Unity Excel 文件读取和写入
在网上看到很多Unity 的解析Excel 的文章,其中最经典的一篇莫过于雨凇Momo的Unity3D研究院之MAC&Windows跨平台解析Excel(六十五)但是在使用的过程中还是碰到了不少的问题,在这里总结一下,希望能对看到此处的朋友一个帮助。Excel的读取,需要加入库文件 Excel.dll 和ICSharpCode.SharpZipLib库文件,官方链接 htt转载 2018-01-06 12:08:56 · 1038 阅读 · 0 评论 -
【UGUI进阶】RectTransform剖析
RectTransform本文转载自uGUI知识点剖析之RectTransform一、基本要点RectTransform继承于Transform,在 Transform 基础上,RectTransform 增加了 轴心(pivot)、锚点(anchors)、和 尺寸变化量(sizeDelta)。其中anchors和pivot都是坐标原点在左下角的0-1向量空间,0-转载 2017-07-19 15:35:48 · 753 阅读 · 0 评论 -
C#数据结构-有限状态机
有限状态机FSM的要点是: 拥有一组状态,并且可以在这组状态之间进行切换。 状态机同时只能在一个状态。 一连串的输入或事件被发送给机器。 每个状态都有一系列的转换,转换与输入和另一状态相关。当输入进来,如果它与当前状态的某个转换匹配,机器转为转换所指的状态。 目前而言,游戏编程中状态机的实现方式,有两种可以选择: 用枚举配合switch case语句。 实...原创 2018-04-05 17:22:18 · 2733 阅读 · 0 评论 -
【最通俗易懂】A*寻路算法C#实现
A*算法其实也不复杂,首先有以下几个概念: 开启的节点表(OpenList) 存放着所有的待检测的节点(坐标),每次都会从其中寻找出符合某个条件的节点。 关闭的节点表(ClosedList) 存放着所有不会被检测的节点(坐标),每次检测都会忽略它们。 首先,我们定义了两个点,分别是起点和终点。整个算法的核心就是启发式的权值比较,分为G和H值。一般我们将按非斜向方...原创 2018-04-05 17:59:24 · 3674 阅读 · 3 评论 -
赛式方法论:为什么你的游戏做不完、做得烂?
这篇文章是根据著名游戏设计师、PS4的首席架构师Mark Cerny 在2002年D.I.C.E上的一次分享整理的。可能是现有的视频资料中,他对他著名的Cerny Method(赛式方法论)最完整、最详尽的一次分享。因为实在非常经典、值得每一个从业者认真看看,但又一直没有比较完整的中文版本,所以作者特地把他四十分钟的演讲整理成了一篇文章。Cerny一直在他的方法论中强调前期制作(pre-produ...转载 2018-05-08 21:27:31 · 3046 阅读 · 0 评论 -
UGUI源码学习之初涉Image(一)
UGUI源码学习之初涉Image(一)近几天开始ugui源码学习之旅,也算是自己第一次开始学习比较系统的源码^^。而由于源码涉及内容较多,所以我打算呢分节讲解,毕竟如果一节能够讲清楚一件事情就已经很不错了(所以还是希望自己能够讲清楚^^)。原文链接:http://blog.csdn.net/a237653639/article/details/50774207ps:1.对整个ugui类图的总览请自...转载 2018-05-08 21:36:47 · 289 阅读 · 0 评论 -
UGUI源码学习之初涉Text(二)
UGUI源码学习之初涉Text(二)先上截图关于Text并没有多少东西值得特别注意的,因为基本没有遇到坑嘛。 public class Text : MaskableGraphic, ILayoutElement12同是MaskableGraphic的子类,只有Image实现了ICanvasRaycastFilter接口。有几个单词我给自己做个笔记:横向有两种: Wrap:包裹,即超过宽度...转载 2018-05-08 21:37:48 · 224 阅读 · 0 评论 -
UGUI源码学习之初涉Button(三)
UGUI源码学习之初涉Button(三)RuntimeUI先上截图以上对应着Button的四种状态,至于各个属性的含义Unity也做到了见文知意,一目了然。而里面最不常用的可能是Navigation了,这个是拿来干嘛的捏?答案是拿来给手柄用的,也就是joystick。点击Navigation下面的Visualize,切换到Scene视图,则会看到其中的黄颜色的细线的指向就对应着手柄的移动方向,所指...转载 2018-05-08 21:38:44 · 312 阅读 · 0 评论 -
Unity UGUI 原理篇合辑
一直用NGUI,新项目要用到Curved UI,居然是基于UGUI。一直没有在正式项目里用过UGUI,遂度娘,推荐几篇较好的从入门到精通的文章:Unity UGUI 原理篇 (一):Canvas 渲染模式Unity UGUI 原理篇(二):Canvas Scaler 縮放核心Unity UGUI 原理篇(三):RectTransformUnity UGUI 原理篇(四):Event System ...转载 2018-05-08 21:42:19 · 596 阅读 · 0 评论 -
UGUI优化:批次合并源码分析及工具
1. 概述本文档对Unity GUI 批次合并(Batching)源码(基于Unity 4.6版本源码)进行研究,总结UGUI Batching的规则,并提供UI优化建议,以及UI层级显示辅助工具使用说明。2. UGUI Batching规则分析UGUI以Canvas为单位进行批次生成和渲染,Canvas可以嵌套包含Canvas。Batching的生成和合并在canvas::Update里:Bat...转载 2018-05-08 21:53:45 · 2920 阅读 · 3 评论 -
【Fracturing & Destruction】Unity3D的物体爆裂、炸裂、碎裂效果
如果要想做到如下图的爆裂、炸裂、碎裂效果特效:自己手写可不容易,因为需要利用《【Unity3D】Mesh》(点击打开链接)将一个物体分解成多个碎片,然后再写一系列的方法。此时可以利用到Unity3D的一个插件Fracturing & Destruction,官网上60美金,但用和谐的我,也给大家上传了一份:http://download.csdn.net/detail/yongh701/9...转载 2018-05-08 22:33:54 · 8809 阅读 · 1 评论 -
如何把UGUI当做一个插件使用(删除Unity中的UGUI,导入UGUI源码进入项目)
最近闲着没事,一直也都知道UGUI是开源的,所以就想着把UGUI的源代码放到Unity里面,看一看能不能用,经过一番调试,终于弄好了,有兴趣的同学可以看一下,欢迎交流沟通。 欲练神功,必先自宫。第一步就是把Unity里面自带的UGUI部分删除掉,路径是“Unity\Editor\Data\UnityExtensions\Unity”,直接把整个GUISystem删除,这个时候新建一个Unit...转载 2018-05-09 14:08:05 · 1207 阅读 · 0 评论 -
Unity Animator -- Apply Root Motion
Animator.ApplyRootMotion这个属性是用来控制物体在播放骨骼动画的时候是否应用骨骼根节点的运动参数。当没有骨骼根节点,比如只是一个Cube立方体,如果勾选了ApplyRootMotion,运行后不会播放动画,因为应用了骨骼根节点的运动参数,而没有骨骼根节点,就没有动画了。即便是在代码中强行调用Animator.Play("rotation")方法也不会播放动画。...原创 2018-05-26 17:11:52 · 6533 阅读 · 0 评论 -
Unity--OnEnabled与OnDisabled
设某个组件为NewBehaviourOnEnabled被调用的情况:1、GameObject添加组件的时候,即AddComponet<NewBehaviour> ;2、包含NewBehaviour的Prefab被实例化的时候;3、已添加NewBehaviour的GameObject由未激活到已激活的时候,即setActive(true) ;4、NewBehaviour由不可用到可用的时...转载 2018-06-11 15:21:42 · 4046 阅读 · 0 评论 -
Unity Cinemachine插件学习笔记,实现单目标和多目标之间切换
Cinemachine在2017版中正式加入,结合Timeline可以轻松的制作出一下相机动画。相比Unity自带的标准相机,这个新相机插件可操作的变量更多,不同虚拟相机(用来控制相机的)可以平滑转换等,具体可见上方第一个链接。Cinemachine选项名说明Virtual Camera普通虚拟相机。最常用的相机设备。其实下面的都是虚拟相机。FreeLook Camera自由查看相机。可以保证镜头...转载 2018-05-28 21:26:13 · 920 阅读 · 0 评论 -
Unity Cinemachine插件学习笔记,结合Timeline实现简单场景动画
1. 轨道设置如图 0和4重合,模拟一个闭环。的属性都是用来看的,没有实际影响。Looped如果选择了,就会将第一个点和最后一个点连接。 变量名说明Apperance轨道外观。用来显示在场景。没有实际影响。Looped循环闭合。如果选择了,会让第一个点和最后一个点连接。Selected Waypoint当前选择的点,方便调整。Perfer Tangent Drag优先角度拖拽。如果点和其角度偏移...转载 2018-05-28 21:27:18 · 1016 阅读 · 0 评论 -
Unity--如何将Timeline用于网络游戏的剧情系统中
网络游戏中的角色都是动态生成的,所以如果要结合Timeline编辑剧情,就需要将动态生成的角色放入到“剧本”中。以下提供一个解决方案。外部触发只需要提供timelineSn用于索引timeline,timelineDataSn用于索引剧情中的数据TimelineData类用于timeline中的数据保存,通过Scriptable 序列化数据。数据主要分为演员数据和相机数据。演员数据public s...转载 2018-05-29 20:59:09 · 2262 阅读 · 0 评论 -
Unity--Timeline自定义PlayableTrack
今天尝试使用Unity timeline来做段动画, 发现BasicPlayableBehaviour已弃用, 而新的PlayableBehaviour不能直接往Playable Track拖。翻了下文档使用PlayableAsset来新建PlayableBehaviour,然后使用ExposedReference,具体实现如下:C# PlayableTest代码实现,功能就是当timeline开...原创 2018-05-30 16:07:18 · 8678 阅读 · 1 评论 -
Unity--VideoPlayer的使用案例
VideoPlayer 介绍:Unity正式发布了5.6版本后,作为5.x版本的最后一版还是有不少给力的更新的。其中新加入了一个Video Player控件,用以取代之前的MovieTexture。Video Player提供了多种视频渲染的方式,包括Camera Far Plane,Camera Near Plane,Render Texture,Material Override,Api On...原创 2018-05-30 21:43:22 · 6040 阅读 · 3 评论 -
使用Unity制作UGUI的UI流程管理机制
为什么需要UI流程管理机制自从 4.6 发布新 GUI 系统之后,Unity 终于有个比较完整的视觉化编辑 UI 工具可以使用,于是,我们可以很方便、直觉的在画面上添加按钮,使用拖曳、下拉选单等几个动作就能设置好 UI 事件应该执行哪个 GameObject 上的哪个 Component 中的功能,所以透过 UI 去触发我们自己撰写的程式功能也变得非常简便,但是整个游戏内容可能会有相当多的画面,不...翻译 2018-05-31 10:49:33 · 3504 阅读 · 0 评论 -
Unity WebRequest wrapper
unity的http通信一直一来用的都是www。然而,www存在众多问题,其中之一,大家最熟悉的就,www在ios下大文件存在缺陷。还有其他的,如果你们对于http的header部分操作频繁的话,势必会遇到一些让人蛋碎的问题。1、字符集编码。完全不受控。这一点最坑的是,编辑器下一切正常,但是到了rt时,你只能和服务器协商下,别给我来gb2312这种编码的。2、header的大小写问题。这个有点看人...转载 2018-05-31 10:52:55 · 574 阅读 · 0 评论 -
UGUI中CustomFont字体使用与制作
前言:如何在UGUI中使用自定义的数字图片。在开发过程中,美术同学会给出类似艺术数字图片那在UGUI系统中如何使用呢?UGUI中我们使用Text来显示内容。Text中支持使用ttf字体,那数字图片文字如何使用呢?unity已经给我们提供了解决方案,即Custom Font字体。下面给出如何制作Custom Font字体及在UGUI中使用。解决方案一、 CustomFont字体制作1:在unity中...转载 2018-05-31 11:06:19 · 1207 阅读 · 2 评论 -
Unity--Cinemachine官方实例详解
1.2D Camera搭建一个快速场景,MainCamera选择Orthographic。在Cinemachine下有Create 2D Camera,在生成的相机中设置follow,同时注意body的设置,如下图所示在虚拟相机中还需要添加Cinemachine confiner组件,点击下图中的Add Extension,在弹出的下拉列表中,选择Cinemachine Confiner。用来后处...原创 2018-06-01 00:05:26 · 33117 阅读 · 0 评论 -
探索TimelinePlayableAPI,让Timeline为所欲为
今天我们再来看看Timeline中的Track,并且动手实现一个老年迪斯科场景。TrackTimeline可以添加很多Track来对不同的对象做控制。Track 在Clip上控制动画,可以在有Animator组件但是没有AnimatorController的情况下直接播放动画。Audio Track 在Clip上控制音频播放。Activtion Track 在Clip上控制物体是否在场景中A...转载 2018-06-01 11:06:24 · 7161 阅读 · 0 评论 -
【翻译】非常详细易懂的法线贴图(Normal Mapping)
翻译:非常详细易懂的法线贴图(Normal Mapping)本文翻译自: Shaders » Lesson 6: Normal Mapping作者: Matt DesLauriers译者: FreeBlues这一系列依赖于最小规模的用于着色器和渲染工具的lwjgl-basics API.代码已经被移植到 LibGDX. 这些概念是足够通用的, 它们能被应用于Love2D, GLSL Sandbox...翻译 2018-06-26 16:42:10 · 13095 阅读 · 0 评论 -
Unity2017新功能Sprite Atlas详解
Sprite Atlas(精灵图集)Sprite Atlas 针对现有的图集打包系统Sprite Packer在性能和易用性上的不足,进行了全面改善。除此之外,相比Sprite Packer,Sprite Atlas将对精灵更多的控制权交还给用户。由用户来掌控图集的打包过程以及加载时机,更加利于对系统性能的控制。Sprite Atlas的主要有以下三个功能:1.创建、编辑图集以及设定图集参数2.添...转载 2018-07-09 23:54:00 · 20462 阅读 · 0 评论 -
UGUI合批源码分析及优化
1. 概述本文档对Unity GUI 批次合并(Batching)源码(基于Unity 4.6版本源码)进行研究,总结UGUI Batching的规则,并提供UI优化建议,以及UI层级显示辅助工具使用说明。2. UGUI Batching规则分析UGUI以Canvas为单位进行批次生成和渲染,Canvas可以嵌套包含Canvas。Batching的生成和合并在canvas::Update里...转载 2018-07-10 14:02:48 · 5272 阅读 · 2 评论