
Unity3d
文章平均质量分 73
松阳
我在路上走着,遇到了你,大家点头微笑,结伴一程
缘深缘浅,缘聚缘散,该分手时分手,该重逢时重逢
惜缘即可,不必攀缘
同路人而已
能不远不近地彼此陪伴着,不是已经很好了吗?
展开
-
Unity3d 在 iOS 上推送( push notification ) 编写
文章简述了Unity3d如何在IOS平台上接入推送消息原创 2015-02-26 16:58:00 · 9756 阅读 · 2 评论 -
Unity3d开发(十五) AudioClip 参数解析
AudioClip 面板有很多参数,设置起来容易出错,这里记录一下,做备忘。原创 2016-06-25 18:38:55 · 24722 阅读 · 0 评论 -
Unity3d开发(十三)导出NavMesh可行走区域信息
有时我们会需要Unity3d的地图信息,比如A*之类的逻辑运算。当这些操作要放到服务器上进行时,就需要地图信息。通常项目中的行走区域是使用Navmesh制作的。这篇文章中,介绍如何将Navmesh的信息导出成bitmap原创 2016-06-17 12:15:11 · 17732 阅读 · 0 评论 -
Unity3d开发(十四) AssetBundle中的资源提取
做过破解的人都知道,游戏中的美术资源没法完全加密,即便使用特别复杂的加密方式,也有办法将其中的资源提出来。这里不讨论的太深,只借助现成的工具,做些浅显的资源提取。原创 2016-06-22 16:17:01 · 36758 阅读 · 8 评论 -
Unity3d开发(十七)UGUI 事件体系分析
很多Unity3D项目都使用了UGUI,但并不是所有人都研究过它的内部结构。由于准备定制自己的UI,不弄明白它内部的机制有点说不过去呢。这篇文章主要分析一下它的事件体系结构,以及点击事件的逻辑流程。原创 2016-10-10 16:26:40 · 4438 阅读 · 0 评论 -
Unity3d开发(十六) 重写UGUI组件
作为Unity3d新版本的UI系统,UGUI以其易用性,逐渐被多数团队所接纳。但随着应用的深入,团队中总有需要自定义一套UI系统的需求。所幸UGUI是一个开源项目,可以在Unity3d的官方的Bitbucket代码库中找到源码。有了源码当然我们可以采用一劳永逸的办法,重编DLL库,并替换掉对应的库实现重写。但我还是不太推荐这样,因为一旦如此做,就无法跟随Unity3d版本升级了。因此本文主要介绍如何通过子类实现重写.原创 2016-09-27 18:04:32 · 8172 阅读 · 4 评论 -
C# 的常见误区整理
本文为《编写高质量的代码:改善C#程序的157个建议》中整理出来对我有用的知识,算是读书笔记吧。所以并不全,有兴趣了解详情的童鞋可以去买纸质书一探究竟。原创 2016-10-11 17:35:39 · 1644 阅读 · 2 评论 -
Unity3d开发(十八) 监听编辑器状态改变,制定自定义回调
做编辑器插件时,我总是想要拿到监听编辑器的状态变化。比如在打开编辑器开始运行自己的服务。这时就需要用户打开编辑器的事件。另一方面,我希望用观察者模式,并且能自动化注册。因为我注意到,导入资源时的 AssetImporter 回调就是这样做的。用户只需要实现一个接口,就可以收到回调。极大的简化了扩展流程。编辑器代码又不必考虑效率问题,借助C#的反射,可以很容易的实现这种功能。这篇文章主要介绍如何实现这样的架构...原创 2016-11-24 11:52:08 · 10877 阅读 · 3 评论 -
Unity3d开发(十九)调整SortingOrder解决UGUI中粒子层级问题
为了做出更酷炫的的UI效果,通常要在UI中加入粒子效果。但与纯2D的UI动画或Spine不同,粒子在场景中制作,会存在与UI的穿插问题。本文探讨如何更改特效或UI的 SortingOrder 避免特效的穿插问题。原创 2017-03-03 15:06:14 · 18582 阅读 · 1 评论 -
Unity3d开发(二十) OnMouse_产生GC 的问题修复
最近发现一个特别奇怪的现象,在游戏运行时,每帧 OnMouse_产生GC ,大小是0.6KB的整数倍,比如1.2KB,1.8KB。解决方法 :具体Profiler效果如下图所示:经过比照发现这个问题与摄像机相关。由于是代码创建的摄像机组件,因此并未挂载....原创 2017-03-21 16:30:37 · 2999 阅读 · 2 评论 -
Unit3d开发 (二十一) 更改Apk的smali 排查Java层问题
有时候我们会被系统层诡异的Bug绊翻了车,不得已的情况下,需要更改Android代码。有些类我们能拿到源码,一切好说,但更多情况下,是引擎内或SDK中的jar文件,我们无法获得源码。面对这种情况,我的思路是......原创 2017-09-20 13:52:43 · 1158 阅读 · 0 评论 -
《游戏架构:核心技术与面试精粹》勘误
《游戏架构:核心技术与面试精粹》的勘误页,发现书中的错误可以在本页面下留言,我会定期将内容整理到正文中。P8:监视器(monito)-> monitorP120:GPU就是做这些准备工作的-> CPU就是做这些准备工作的P137点乘 ( Cross ) 又叫外积 -> 叉乘(Cross)又叫外积...原创 2018-07-19 00:00:28 · 2020 阅读 · 0 评论 -
UGUI事件传递流程解析
很多Unity3D项目都使用了UGUI,但并不是所有人都研究过它的内部结构。针对事件的传递过程,会问住大多数未深入思考过的开发者。由于UGUI是开源的,我们可以通过查看源码来熟悉它的原理,它的地址在可以找到。事件体系首先要说明,事件体系的基础是设计模式中的观察者模式,因此按照标准的Subject和Observer来解读没有任何问题。但在这里,我更希望以功能为导向,将事件体系划分成更易于...原创 2018-08-27 13:21:49 · 3298 阅读 · 0 评论 -
Unity3d开发(十二)使用Menu.SetCheck更改菜单勾选状态
一些改变状态量的需求,例如:是否输出日志。通常的做法是在代码中更改,不过这需要重新编译,而且也对非程序人员不友好 。更灵活的做法是使用本地变量存储,不过这写起来比较麻烦。最近我发现Unity有个接口可以干净的解决这个问题,我使用的是Unity5.3版本。原创 2016-04-27 16:24:04 · 6434 阅读 · 2 评论 -
Unity3d开发(九) 动画模型资源导入预处理
在Unity导入资源后,我们通常需要做许多设置,这些操作通常很繁琐,并且容易出错,最好的办法是使用自动的pipline处理,因为不是项目中的每一个人都十分清楚资源的结构设计。这篇文章主要探讨如何通过自动的方式实现动画模型资源的定制处理。原创 2016-03-14 21:37:35 · 6321 阅读 · 0 评论 -
Unity3d 开发(十)使用uTomate自动化打包流程
在开发过程中,打包是个比较烦的事情。当不能全自动进行时,这种厌恶会达到极致。uTomate作为一种流程化的解决方案,能比较友好的解决打包问题,这篇文章主要探讨,通过这个插件完成基础的打包流程。更多关于这个插件的使用和API信息可以去它的官网查看。原创 2016-03-22 20:20:10 · 5645 阅读 · 0 评论 -
Unity3d 杂七杂八小技巧
用了半年多的Unity3d,零零碎碎的记了点东西,看看没准用得着原创 2015-02-28 17:45:57 · 2458 阅读 · 0 评论 -
UNITY 2015 大会 观展记录
参加了Unity2015大会,折折腾腾的晃了一天,感觉这次会议干货还是挺多的。听了不少有的没的,记录一下,走过撸过不要错过....原创 2015-04-19 23:05:19 · 3970 阅读 · 2 评论 -
Unity3d 使用 Node Canvas
Node CanvasNode Canvas是一个行为树的插件,它是图形化的操作模式,可以简化开发逻辑,官方文档在这 .基本元素流程上的原则是,一旦返回值为False则向上返回。一般在BehaviourTreeOwner组件上,要勾选Repeat循环监测。通常这些监测指的是各子树的条件判断。原创 2015-07-10 16:59:41 · 11228 阅读 · 1 评论 -
Unity3d开发(三)GameObject 作函数参数
今天忽然想到这样的问题,我将一个GameObject作为参数传入,在函数内直接更改它。那么它应该是值传递还是引用传递呢?原创 2015-09-24 16:06:44 · 7492 阅读 · 1 评论 -
Unity3d 开发(五)编辑器的undo操作
在Unity3d编辑器扩展中,常常需要兼容Undo的操作即:`Cmd/Ctrl + z`。在Unity3d对应的接口`Undo.RecordObjects`可以完成这项工作,本文介绍了一种封装的方法原创 2015-10-03 20:33:03 · 6118 阅读 · 0 评论 -
Unity3d开发(一)ShaderLab 入门 语法格式
ShaderLab 是Unity3d自己封装的一个调用CG/HLSL/GLSL的接口。这篇文章主要记录一下基本的用法.原创 2015-09-21 21:00:11 · 7582 阅读 · 0 评论 -
Unity3d 开发(二)Unity 制作可发布插件
本文翻译官方文档关于插件制作的相关注意事项。翻译 2015-09-21 21:51:35 · 8211 阅读 · 0 评论 -
Unity3d 开发(四)代码创建预设
我们在使用编辑器时会有需求使用代码创建预设。在Unity3d的编辑器接口中,有`PrefabUtility`类可以使用它来创建预设。这篇文章简介了如何使用,并封装了一个更智能的函数原创 2015-09-25 23:36:01 · 8106 阅读 · 3 评论 -
Unity3d 开发(七)AssetBundle组织目录
本文探讨如何配置一个AssetBundle更为合理。原创 2016-01-19 12:29:28 · 3451 阅读 · 0 评论 -
Unity3d 开发(六) 5.x AssetBundle使用
本文基于官方文章编写,原文地址干啥的AssetBundle是在编辑模式下创建的一系列文件,它们可以被动态加载到Unity运行时中。所以它支持流式加载和异步载入模型,纹理,声音甚至是整个场景,除了唯一的例外:脚本。优点动态加载释放一个资源。发布新的DLC。可定制的下载需要的部分。根据用户的位置,语言,喜好配置不同的资源包。在不重装的情况下修复、更改、升级新资源。缺点它完全是下载的,所以如原创 2016-01-12 16:36:09 · 9361 阅读 · 0 评论 -
Unity3d 开发(八)复制内容到剪切板
将文本复制到剪切板中其实是有接口的,需要借助TextEditor这个类,代码如下原创 2016-02-18 20:36:33 · 8404 阅读 · 1 评论 -
Unity3d开发(十一)编辑器DrawCall参数解析
对于Unity运行场景中,有许多可以标记场景状况的参数。这篇文章主要探讨这些参数的意义,其中如果有错误欢迎指正。原创 2016-03-31 12:51:49 · 16861 阅读 · 0 评论 -
Unity3d 制定游戏循环的策略
在使用Unity3d开发游戏的时,我们总会涉及Unity内置的生命周期函数。弄清这些函数的调用顺序和特性十分重要,因为这影响到逻辑的执行顺序,例如:初始化要在使用之前,注册回调要在响应之前等等。通常说来,在大型商业项目中,我们需要自制一套游戏循环,来满足多变的游戏玩法。哪些现有的生命周期函数可以使用?哪些需要被替换掉?这些取舍贯穿了整个游戏开发过程。生命周期Unity3d的函数调用有固...原创 2018-09-13 17:36:29 · 2397 阅读 · 0 评论