Unity
文章平均质量分 79
W8023Y2014
这个作者很懒,什么都没留下…
展开
-
HOTween——简单使用
Hotween是一个插值插件,都是对位移,缩放,旋转,颜色等数值进行插值,各有各的优势。如果做一般常见的动画建议使用Hotween,但是遗憾的是Hotween不支持路径动画编辑,如果支持就完美了,不过路径编辑自己稍微添加一点代码就可以实现也是非常简单的原创 2014-11-25 10:23:24 · 2422 阅读 · 0 评论 -
Unity——UGUI之界面布局
Canvas ScalerUI Scale ModeConstant Pixel Size 使UI元素保留相同的大小(以像素为单位)无论屏幕大小。Scale With Screen Size 使UI元素自适应屏幕。Constant Physical Size 使UI元素保留相同的物理大小不管屏幕尺寸和分辨率。原创 2014-11-29 20:23:18 · 2168 阅读 · 0 评论 -
Unity3D(二)用反射、泛型读取XML后动态创建实例并赋值
前言:最近小匹夫参与的游戏项目到了需要读取数据的阶段了,那么觉得自己业余时间也该实践下数据相关的内容。那么从哪入手呢?因为用的是unity3d的游戏引擎,思来想去就选择了C#读取XML文件这个小功能。网上的例子倒也不少,但总是觉得缺点什么。比如读取xml文件之后该如何处理?看到的文章基本上都是手动创建一个目标类的实例,然后手动从读取的XML文件的内容中给刚才创建的目标类实例相关字段赋值。缺点什转载 2015-01-08 11:25:45 · 2775 阅读 · 1 评论 -
Unity3D(一)——移动平台动态读取外部文件全解析
前言:一直有个想法,就是把工作中遇到的坑通过自己的深挖总结成一套相同问题的解决方案供各位同行拍砖探讨。眼瞅着2015年第一个工作日就要来到了,小匹夫也休息的差不多了,寻思着也该写点东西活动活动大脑和手指了。那么今天开始,小匹夫会记录一些平时工作中遇到的坑,以及小匹夫的应对方法,欢迎各位拍砖讨论。那么今天主要讨论一下unity3D在移动端如何动态的读取外部文件,比如csv(txt),xml一类的转载 2015-01-08 11:35:10 · 1154 阅读 · 1 评论 -
LitJson 简单使用心得
LitJson 一般都是 服务器传送数据 ,客户端 负责解析数据的一个 流程。但对于我们 unity设计者来说,如何在没有 服务器端的情况下,快速创建json并测试呢?首先,我给大家推荐一个 在线 json 编辑器。他的地址是 http://www.sojson.com/editor.html 打开网页后,点击json在线编辑,他会出现上图界面。有一个样板的格式供你参考。转载 2015-01-09 09:26:01 · 3206 阅读 · 1 评论 -
在Unity3D中使用暂停的小技巧
很多人在游戏中写暂停脚本的时候,经常会想到 Time.timeScale = 0; 这种方法,但是 Time.timeScale 只是能暂停部分东西。如果在 update 函数中持续改变一个物体的位置,这种位置改变貌似是不会受到暂停影响的。比如 transform.position = transform.position+transform.TransformDirection(Vec转载 2015-01-15 14:42:05 · 1468 阅读 · 0 评论 -
Unity_制作小地图——利用遮挡
制作类似 RPG 游戏时,可能会需要显示小地图。小地图的制作一种方式是用另一个摄像机来渲染到一张纹理上,实时显示到UI界面。以Unity 5.0 的 UI 系统为例:在地图正上方放置一个摄像机,设置其 Culling Mask,比如:Ground(地面)、MinimapSign(玩家怪物标识),创建一张 Render Texture,将 Target Texture 属性指向这张纹转载 2015-03-27 19:23:25 · 4632 阅读 · 0 评论 -
Unity编辑器扩展之RequireComponent等详解
Unity编辑器扩展可以扩展,大大提高了编译器的灵活性。开发者可以通过自定义来实现各种工具功能。下面来看一下它的各种实现吧工具/原料unity3d 4.5方法/步骤RequireComponent的使用: 当你添加的一个用了RequireComponent组件的脚本转载 2015-03-28 11:21:37 · 10020 阅读 · 0 评论 -
Unity——通过Shader 制作精灵动画,瀑布
Shader "zhaoguanghui/spriteAction" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} _TexWidth ("Sheet Width", float) = 0.0 _CellAmount ("Cell Amount", float) =原创 2015-04-23 19:59:56 · 3130 阅读 · 0 评论 -
Unity——————自定义文件夹
using UnityEditor;using UnityEngine;using System.Collections;using System.IO;public class init_Folder : MonoBehaviour { // Use this for initialization void Start () {原创 2015-04-16 19:44:50 · 913 阅读 · 0 评论 -
Unity3D_移动平台动态读取外部文件全解析
点击打开链接阅读目录前言:假如我想在editor里动态读取文件移动平台的资源路径问题移动平台读取外部文件的方法补充:回到目录前言:一直有个想法,就是把工作中遇到的坑通过自己的深挖,总结成一套相同问题的解决方案供各位同行拍砖探讨。眼瞅着2015年第一个工作日就要来到了,小匹夫也休息的差不多了,寻思着也该写点东西活动活动大脑和手指了。那么今天开始,小匹夫转载 2015-05-09 08:46:38 · 810 阅读 · 0 评论 -
Unity——网页获取视频文件播放,获取图片更换纹理
// 确保这两个组件已经添加@script RequireComponent (GUITexture)@script RequireComponent (AudioSource)var url = "http://www.unity3d.com/webplayers/Movie/sample.ogg";function Start () { //开始下载视频原创 2015-04-28 13:47:26 · 2057 阅读 · 0 评论 -
全面理解Unity加载和内存管理
最近一直在和这些内容纠缠,把心得和大家共享一下:Unity里有两种动态加载机制:一是Resources.Load,一是通过AssetBundle,其实两者本质上我理解没有什么区别。Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundle文件需要你自己创建,运行时动态加载,可以指定路径和来源的。其实场景里所有静态的对象也有转载 2015-05-05 17:47:12 · 500 阅读 · 0 评论 -
Unity_从服务器下载资源,加载到手机——很慢
using UnityEngine;using System.Collections;using System.IO;using System.Collections.Generic;using System;public class Text : MonoBehaviour { public GameObject cube; public stri原创 2015-05-14 15:26:24 · 2232 阅读 · 0 评论 -
Unity5 如何做资源管理和增量更新
工具 Unity 中的资源来源有三个途径:一个是Unity自动打包资源,一个是Resources,一个是AssetBundle。Unity自动打包资源是指在Unity场景中直接使用到的资源会随着场景被自动打包到游戏中,这些资源会在场景加载的时候由unity自动加载。这些资源只要放置在Unity工程目录的Assets文件夹下即可,程序不需要关心他们的打包和加载,这也意味着这些资源都是静态加载的。但在转载 2015-07-13 14:47:23 · 608 阅读 · 0 评论 -
扩展Coroutine:自定义YieldInstruction
点击打开链接Unity的Coroutine机制无疑是这个引擎的一个亮点,可以把很多异步的逻辑用一种顺序的书写方式去实现,这个还是很重要的。关于Coroutine的原理,说实话,这个没有源代码,不好说具体是怎么实现的。看他用到了IEnumerator,想象是使用了.Net的枚举机制。网上有不是探讨Coroutine实现原理的帖子,有兴趣的同学可以翻开看看。Coro转载 2015-07-16 20:02:02 · 696 阅读 · 0 评论 -
在Unity中使用Lua脚本:语言层和游戏逻辑粘合层处理
点击打开链接前言:为什么要用Lua首先要说,所有编程语言里面,我最喜欢的还是C#,VisualStudio+C#,只能说太舒服了。所以说,为什么非要在Unity里面用Lua呢?可能主要是闲的蛋疼。。。。。另外还有一些次要原因:方便做功能的热更新;Lua语言的深度和广度都不大,易学易用,可以降低项目成本。C#与Lua互相调用的方案坦白来将,我并没有对现在C#与Lu转载 2015-07-16 20:08:00 · 865 阅读 · 0 评论 -
使用Unity3D的50个技巧:Unity3D最佳实践
点击打开链接关于这些技巧这些技巧不可能适用于每个项目。这些是基于我的一些项目经验,项目团队的规模从3人到20人不等;框架结构的可重用性、清晰程度是有代价的——团队的规模和项目的规模决定你要在这个上面付出多少;很多技巧是品味的问题(这里所列的所有技巧,可能有同样好的技术替代方案);一些技巧可能是对传统的Unity开发的一个冲击。例如,使用prefab替代对象实例并不是一个传统转载 2015-07-16 20:16:12 · 630 阅读 · 0 评论 -
游戏架构脚本该如何来写
这篇文章MOMO主要想大家说明一下我在Unity3D游戏开发中是如何写游戏脚本的,对于Unity3D这套游戏引擎来说入门极快,可是要想做好却非常的难。这篇文章的目的是让哪些已经上手Unity3D游戏引擎的朋友学会如何更好的写游戏脚本,当然本文这紧紧是我这么多年对游戏开发的认知,你也可以有你自己的看法。首先我们看看游戏主要是由哪几部分组成的,如下图所示,任何平台下的任何游戏核心都是由:数据、逻辑、渲转载 2015-07-29 18:00:06 · 3894 阅读 · 0 评论 -
Animator 动画器——参数解释
点击打开链接Animator 动画器Namespace: UnityEngineInherits from: BehaviourDescription 描述Interface to control the Mecanim animation system.控制Mecanim动画系统的接口。Variables 变量转载 2015-07-29 16:33:20 · 6225 阅读 · 0 评论 -
游戏任务剧情布局系统分析
游戏任务剧情布局系统分析: 任务系统分主线任务、日常任务和悬赏任务:主线任务的特点:“所有任务分成N条主线,每条主线上一个任务完成了,即使不领奖也可以完成下一个任务,每条线没有尽头”;日常任务的特点:“每天0点重置,共有N个任务,完成一个则可领奖,领奖后此任务消失”;悬赏任务的特点:比较复杂“每天有3次刷新机会,每次刷新出5个任务,任务完成领奖后消失。任务分1-5原创 2015-08-25 13:50:03 · 3541 阅读 · 0 评论 -
Unity3D Shader入门优秀博客(二)
原地址猫都能学会的Unity3D Shader入门指南(二)关于本系列这是Unity3D Shader入门指南系列的第二篇,本系列面向的对象是新接触Shader开发的Unity3D使用者,因为我本身自己也是Shader初学者,因此可能会存在错误或者疏漏,如果您在Shader开发上有所心得,很欢迎并恳请您指出文中纰漏,我会尽快改正。在之前的开篇中介绍了一些Shad转载 2015-07-30 11:52:31 · 977 阅读 · 0 评论 -
Transform与GameObject的区别于用法
点击打开链接transform和gameboject还真像一对双胞胎,初学者很容易混淆了,那么怎么区分这两者呢?首先,gameobject是一个父集,派生自object。而transform只是gameboject的子集,它包含如位置、旋转、缩放信息,它派生自component,属于组件。那么具体的用法呢?gameobject.find用来获取场景中那个我们需要查找的对转载 2015-07-31 08:57:35 · 7578 阅读 · 2 评论 -
Unity3D Shader入门优秀博客(一)
原博客地址猫都能学会的Unity3D Shader入门指南(一)动机自己使用Unity3D也有一段时间了,但是很多时候是流于表面,更多地是把这个引擎简单地用作脚本控制,而对更深入一些的层次几乎没有了解。虽然说Unity引擎设计的初衷就是创建简单的不需要开发者操心的谁都能用的3D引擎,但是只是肤浅的使用,可能是无法达到随心所欲的境地的,因此,这种状况必须改变!从哪里开始呢转载 2015-07-30 11:50:23 · 1057 阅读 · 0 评论 -
帧动画关键帧处加入触发函数
在创建Unity的游戏动画的时候,我们还可以通过添加动画事件的方式来实现,在动画的过程中调用脚本的代码来进行一些操作。 动画剪辑中可以添加动画事件,使你在时间轴特定的帧调用脚本中的函数。动画事件调用函数时,可以用一个参数。参数可以是float,string,应用对象,或者动画事件对象。函数被调用时,动画事件对象可以将float,string,integer和引用对象等,这些成员变量全转载 2015-07-21 12:19:01 · 3363 阅读 · 0 评论 -
提前获取文本的宽度,便于合理显示文本显示框
提前获取文本的宽度,便于合理显示文本显示框。Unity提供的两个获取文件宽高的方法 preferredWidth 和preferredHeight 必须是文字在Text组件中渲染出来以后才能取到。因为我们游戏的聊天框中是可以输入表情,所以图文混排工具需要支持自动换行的功能。那么这里问题就来了我需要提前获取Text的宽度,这样我才能知道文字什么时候进行换行。总体来说和原创 2015-08-13 15:36:25 · 1451 阅读 · 0 评论 -
A*算法——第二种
A*算法路径的评价公式为F=G+H 其中H为某个已达格子到目的地的估算距离,估算的方法有很多种,比如: 1、曼哈顿距离:即两点水平距离加上竖直距离。比如(x1,y1)到(x2,y2)的曼哈顿距离就是 |x2-x1|+|y2-y1|。 2、欧式距离:即两点之间的真实距离。(x1,y1)到(x2,y2)的欧式距离就是转载 2015-07-21 18:29:24 · 684 阅读 · 0 评论 -
蜂窝拓扑结构在SLG地图布局中的应用
点击打开链接上一节给大家讲解了如何在四边形单元格基础上构建SLG地图场景,并实现移动、战斗的基础框架;热爱SLG的朋友一定非常清楚,绝大多数的SLG游戏地形单元格都可归为四类:四边四向、四边八向和四边六向、六边六向:粗看,六边六向是其中构建最复杂的地形,它的称谓很多,比如六面网格、六边网格、晶体网格、蜂窝网格等等,不管叫什么,它总能给我们一种严谨而完美的直观印象。这种奇妙的感觉缘何转载 2015-08-31 09:11:50 · 10213 阅读 · 0 评论 -
使用Profiler工具分析内存占用情况
unity3d为我们提供了一个强大的性能分析工具Profiler。今天我们就使用Profiler来详细分析一下官方例子AngryBots的内存使用信息数据。 首先打开Profiler选择Memory选项,在游戏运行的某一帧查看Detailed选项数据(Simple模式的数据很直观,可以知道内存大体被哪部分占用了,网上也有很多相关介绍,我就不再啰嗦了),如下图所示:转载 2015-07-24 16:04:49 · 1270 阅读 · 0 评论 -
Unity中三种截屏方法
点击打开链接/// /// 截取全屏的方法包括UI /// public void CaptureScreen() { Application.CaptureScreenshot("截取全屏.png", 0); Debug.Log(1); } /// /// 自定义截图大小其转载 2015-09-05 16:00:14 · 10050 阅读 · 1 评论 -
使用.NET Reflector 查看Unity引擎里面的DLL文件
当你查看unity里面的API的时候,是不是有时候追踪了一两步就碰到DLL文件走不下去了呢?很是不爽。这种问题我是经常碰到。这是人家商业引擎不想让你看到底层代码啦,所以着急不得。不过,今天我终于有了办法解决这个问题。那就是使用反编译DLL文件!简单,粗暴。不过为了了解底层的结构,这也不失为一种办法哦。OK!啰嗦了半天,让我带你进入该今天的主题吧。1.首先下载.NET Reflect原创 2015-08-20 11:10:27 · 4893 阅读 · 0 评论 -
Unity——MVC(很不错的解释应用)
点击打开链接First time programmers usually start learning the trade with the classic Hello World program. From there, bigger and bigger assignments are bound to follow. Each new challenge drives hom转载 2015-09-10 19:22:57 · 4069 阅读 · 0 评论 -
Unity3D游戏开发之RPG游戏剧情呈现策略
喜欢我的博客请记住我的名字:秦元培,我的博客地址是:http://qinyuanpei.com 转载请注明出处,本文作者:秦元培, 本文出处:http://blog.csdn.net/qinyuanpei/article/details/48435063 各位朋友大家好,欢迎大家关注我的博客,我是秦元培,我的博客地址是http://qinyuanpei.com。今天博主想和大家探转载 2015-09-14 14:40:46 · 1569 阅读 · 0 评论 -
求整数的二进制1的个数
// Use this for initialization void Start () { //demo (); //TimerManager.ShareInstance.OpenAllTimer (); int num1 = fun1 ( 1000000 ); Debug.Log ( num1 );原创 2015-09-14 20:01:41 · 481 阅读 · 0 评论 -
Unity3d 一个优秀的程序必备的几种设计模式
unity编程众所周知,它是属于脚本化,脚本没有一个具体的概念跟架构,导致在项目过程中,经常出现哪里需要实现什么功能,就随便添加脚本,结果,就造成了一片混乱,不好管理。更有甚者,自己的写的代码闲置一段时间后,再去想找某个功能的实现,都要在视图中翻来覆去找半天。哎!请容许我在此感叹一声,这还是你写的东西么?因此,一个好的设计模式是多么的重要啊,那么,我们在使用unit转载 2015-10-03 14:05:29 · 1979 阅读 · 0 评论 -
ARPG客户端战斗架构设计
Ps:所有代码都是unity3d c#版。 纵观现在的手游,大部分都开始模仿刀塔传奇的模式:多人自动战斗+少数可控制技能。 具体的实现细节不考虑,毕竟如果你用cocos2d-x和你用u3d去做可能具体实现起来是完全用了两套系统。这里只对更高层面的设计上进行讨论。 首先我直接将每个战斗单元Player划分成AI 和 Skill两部分。一方转载 2015-09-17 10:48:38 · 2992 阅读 · 0 评论 -
怎么做战斗回放
点击打开链接游戏一般需要做战斗回放功能,这大多是回合制游戏。arpg虽然比较少,但有些情况下还是需要的。那么如何实现arpg战斗回放呢? 如果是回合制,那么应该是容易的,因为回合制本身就是一个队列指令不断被执行。这个指令中包括每个回合的动作以及动作的结果。那么假设一场战斗有20个回合,那么其实也就20个回合的指令存储一下,然后重播这个队列就好了。转载 2015-09-17 11:30:47 · 2638 阅读 · 0 评论 -
BUFF和技能数据编辑架构
点击打开链接游戏中的技能和BUFF(状态),是实现游戏数据控制的最重要的两个对象。技能:是瞬时改变对象某些属性,或是给对象加一个或多个BUFF,或者是二者的结合。BUFF:是持续控制对象某些属性的变化。技能和BUFF结合设计,就能对数据全面实时控制。这是基于固定技术的策划设计模式,而且也是平衡游戏的基础。即时制游戏BUFF数据编辑架构图如下:(图较大,请在新转载 2015-09-17 13:37:30 · 2211 阅读 · 0 评论 -
Unity3d渲染层级关系小结
http://www.unity.5helpyou.com/3251.html最近连续遇到了几个绘制图像之间相互遮挡关系不正确的问题,网上查找的信息比较凌乱,所以这里就把自己解决问题中总结的经验记录下来。Unity中的渲染顺序自上而下大致分为三层。 最高层为Camera层,可以在Camera的depth那里设置,设置之后,图形的渲染顺序就是先绘制depth低的相机下的物转载 2015-10-09 21:14:53 · 1130 阅读 · 0 评论 -
Unity5 Mecanim 新状态机
Unity5 Mecanim 系統介紹Unity5 Mecanim 系統介紹請注意: 本文沒有Mecanim的完整教學, 只教新功能StateMachineBehaviour:Unity5的Mecanim主要帶來了邏輯編輯方式的改變導入了StateMachineBehaviour 讓我們Animator的邏輯撰寫上, 變得比過去更為明確一些原创 2015-10-27 17:49:33 · 3767 阅读 · 0 评论