Unity3d
文章平均质量分 70
Tonny_007
这个作者很懒,什么都没留下…
展开
-
iOS与Unity3d的交互实现
iOS与Unity3d的交互实现最近在公司写的项目是基于iOS与Unity3d的,之前也写了不少的iOS与Unity的项目,但是这次将两者结合开发还是第一次。项目的第一条功能需求就是:实现从iOS原生界面到Unity的跳转。看似简单,但是却不知道怎么下手,修改Unity导出到iOS的封装好的代码是肯定的,但是至于改哪里,怎么改却是比较难。和一般的coding一样,一上来先是各种找解转载 2017-11-29 14:12:03 · 1211 阅读 · 0 评论 -
Unity3D研究院之Machine动画脚本自动生成AnimatorController
http://www.xuanyusong.com/archives/2811以前的项目一直不敢用Machine动画,因为当时立项的时候Machine动画还不成熟,最近项目做得差不多了我能有点时间学习,我就想在研究学习学习Machine。用Machine动画的时候需要创建一个AnimatorController这个文件,需要手动的把动画绑上去,我觉得这东西绝对不能手动绑上去,手动操作很转载 2015-12-21 11:14:09 · 724 阅读 · 0 评论 -
动态加载Animator和AnimatorController
在unity5.0之前大家在打包人物模型和动作时都是用animation,但是在5.0之后animator变的越来越强大,比如在Unity 5中,可以在某些状态中添加StateMachineBehaviour脚本。某些状态出现时,将出现以下几种回调。• OnStateEnter• OnStateUpdate• OnStateExit• OnStateMove• OnStat原创 2015-11-18 11:01:37 · 10724 阅读 · 0 评论 -
Unity Mecanim在大型mmo中的应用
Unity的新动画系统Mecanim出来也有一阵子了,我的第一个Unity项目就是使用这个动画系统。但是只是做了最基本的应用,没有做深入的研究。 Mecanim的好处有三点:1、动画重定向,可以最大程度的复用动画资源 2、可视化编辑的状态机 3、Blend Tree可以方便的做动画融合,例如一边跑一边攻击。 但是对于我而言,Mecanim在使用转载 2015-11-18 10:32:01 · 726 阅读 · 0 评论 -
Unity3D占用内存太大的解决方法
http://www.cnblogs.com/88999660/archive/2013/03/15/2961663.html最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化.Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大。 Resour转载 2015-11-17 14:47:59 · 808 阅读 · 0 评论 -
Unity3D教程:换装方法
游戏内的角色,能够像纸娃娃换装那样子让玩家可以为自己的角色改变外观,一直是相当受欢迎的功能;一般而言,我们建好的 3D 模型,如果要将其中一个部位换成另外一个形状,最直接的就是将该物件部位的 Mesh 替换掉,那么外观就改变了,但这种方法如果运用在需要做动作的模型上,将发现被置换掉的部位不会正常动作,更糟的状况可能连模型显示的位置及方向都是错误的,所以,直接变更 Mesh 的方法只适用于静态模型物转载 2015-11-16 10:40:13 · 1083 阅读 · 0 评论 -
Unity3D之Lightmap详解
作者:李志健 Unity 完全集成了光照贴图,可以通过编辑器创建完整的光照贴图,你完全不用担心,所有材质会自动获得光照贴图。光照贴图的意思是,所有灯光的特性将被直接映射到Beast lightmapper并烘培到纹理,以此获得更好的性能。UnityPro版扩展了全局光照功能,可以烘焙出真实而漂亮的光照,当然这就不能同时使用实时光照。此外,Unity专业版带给你天光和发光材质,为你增加更有转载 2015-09-21 17:11:01 · 3955 阅读 · 0 评论 -
Unity3D实现动态加载游戏资源
在flash时代,资源的动态加载非常的普遍,主要是受限于网速的快慢,我们在用unity3d制作在线项目的时候,不可避免的要考虑到优化加载的问题,这篇文章算是比较好的经验之谈了,转来大家看看!用Unity3D制作基于web的网络游戏,不可避免的会用到一个技术-资源动态加载。比如想加载一个大场景的资源,不应该在游戏的开始让用户长时间等待全部资源的加载完毕。应该优先加载用户附近的场景资源,在游戏的过程中转载 2015-09-21 14:27:40 · 861 阅读 · 0 评论 -
Unity3D光照贴图烘焙知识详解
今天简单地跟大家分享一下Unity5.0里面的光照贴图烘焙技术。由于时间只有20分钟,所以只能给大家一些概要性的介绍,没有办法深入,等到Unity5.0版本正式推出之后,我会给大家一些更详细的介绍。接下来我会分3个部分跟大家讲解,第一部分讲解一下在以往的Unity版本中所采用的光照烘焙方法,以及Unity5.0中为什么会采用一套全新的光照 贴图烘焙方法。第二部分讲解Imagination的转载 2015-09-21 09:27:21 · 3092 阅读 · 0 评论 -
Unity3D中实现帧同步 - Part 1
时间 2015-06-18 08:00:00 Fonzie on Games原文 http://jjyy.guru/unity3d-lock-step-part-1/主题 Unity3D在帧同步模型中,每个客户端都会对整个游戏世界进行模拟。这种方法的好处在于减少了需要发送的信息。帧同步只需要发送用户的输入信息,而对于反过来的中心服务器模型来说,单位的信息则发送越转载 2016-03-04 15:37:06 · 893 阅读 · 0 评论 -
Unity3D中实现帧同步 - Part 2
览在上次实现的帧同步模型当中,游戏帧率和通信频率(也就是帧同步长度)长度是固定间隔的。但实际上,每个玩家的延迟和性能都不同的。在update中会跟踪两个变量。第一个是玩家通信的时长。第二个则是游戏的性能时长。移动平均数为了处理延迟上的波动,我们想快速增加帧同步回合的时长,同时也想在低延迟的时候减少。如果游戏更新的节奏能够根据延迟的测量结果自动调节,而不是固定转载 2016-03-04 15:43:40 · 1200 阅读 · 0 评论 -
Unity多人游戏和网络功能(一) 概述和基本概念
总述本文翻译自Unity 5.2的官方文档。如对翻译有任何建议,欢迎留言。Unity从5.1开始改进了网络系统功能,提供了一个比之前版本更灵活更强大的网络系统。它提供了一个NetworkTransprot类,作为基本的套接字和有很多有用的多人游戏特性的高级组件之间的中间层。两类网络功能用户用Unity制作多玩家游戏的用户,这类用户应该从NetworkManager或转载 2016-03-04 16:05:45 · 2618 阅读 · 0 评论 -
Unity 发布到IOS,Android的各种坑
Unity 发布到IOS的注意事项1.开发环境MAC环境:Xcode环境 7.2.1Unity环境:Unity5.32.基本说明首先,我说一下,这是我在对Unity发布到IOS的实际使用中,总结出来的经验!如果你想一次就发布成功,如果你想少走弯路,请仔细看我的说明。因为坑比较多!由于Unity发布到IOS,是以Xcode工程的形式发布到MAC中,所以,在发布的时候需要注意以下几转载 2017-02-05 10:42:02 · 3505 阅读 · 1 评论 -
Hololens开发资料总结
http://www.cnblogs.com/mantgh/p/5626796.htmlhttp://dev.arinchina.com/120wz/ar5231/5231/1http://jingyan.baidu.com/article/8065f87f9ec34e2331249815.html https://github.com/Microsof原创 2016-09-06 18:17:16 · 674 阅读 · 0 评论 -
Unity5.0 最新UNET详解
http://blog.csdn.net/u010019717/article/details/46852511原创 2016-08-20 11:07:25 · 1373 阅读 · 0 评论 -
unity3d游戏优化规范
1、顶点性能一般来说,如果您想在iPhone 3GS或更新的设备上每帧渲染不超过40,000可见点,那么对于一些配备 MBX GPU的旧设备(比如,原始的 iPhone,如 iPhone 3g和 iPod Touch第1和第2代)来说,你应该保证每帧的渲染顶点在10000以下。2、光照性能像素的动态光照将对每个受影响的像素增加显著的计算开销,并可能导致物体会被渲染多次。为了避免这种情况转载 2016-04-08 11:17:14 · 662 阅读 · 0 评论 -
Unity3D面试题整合(看完Unity基础知识就掌握差不多了)
最近unity3d找工作有些受挫,自己也开始补课了。下面把这段时间看到的些面试题供出来让大家也学习下,题目只是面试官选拔人才的一部分,在研究面试题目的过程中,多检测下自己的不足,及时温习或补习下,最终学到真本事才是最重要的。祝自己也祝大家好运哈!题目中有些答案有网上搜的,也有个人整理的,有错误或不足的地方,望指正,谢谢!文章最后会有参考的一些网址或资料的链接,有想看转载 2016-03-14 17:48:46 · 13792 阅读 · 0 评论 -
Unity3d多人游戏与网络功能(四)-状态机同步与远程动作
状态同步状态同步是从服务器向客户端方向上的。本地客户端没有序列化的数据,因为它和服务器共享同一个场景。任何为本地客户端序列化的数据都是多余的。然而,SyncVar钩子函数会被本地客户端调用。数据不会从客户端向服务器同步,这个方向上的操作叫做命令(Commands)。同步变量同步变量是NetworkBehaviour脚本中的成员变量,他们会从服务器同步到客户端上。当一个物转载 2016-03-04 15:54:01 · 3818 阅读 · 0 评论 -
Unity多人游戏和网络功能(三) 游戏物体的派生
游戏物体的派生在Unity中,使用Instantiate()函数创建新的游戏物体有时也被叫做Spawning,在网络HLAPI中,派生(Spawn)有更特殊的含义。在服务器权威式的网络模式下,在服务器上派生一个物体,意味着这个物体也同时应该在相连的客户端上创建,而且这个创建的物体应该被派生系统所管理。物体状态在服务器上的更新会被实时发送到客户端,当物体在服务器上被销毁时,这个物体也应该同时在客转载 2016-03-04 16:09:34 · 2904 阅读 · 0 评论 -
Unity微端场景加载(三)动态加载光照贴图
上文中我们已经提供了方法将一个场景用微端的方式进行加载,其实主要是对场景模型进行加载,一般地形需要保留在level中,理论上其他所有资源都可以分割出去然后进行动态加载,我们在制作场景时免不了要对场景进行烘焙,这样模型上就带了光照贴图,但是在unity5.0中,prefab并不会保存模型的光照贴图,这样如果你将模型分割出去再进行动态加载,那么他重新显示出来的模型并不带贴图效果,这个问题在unity4原创 2015-09-26 15:21:06 · 6421 阅读 · 0 评论 -
Unity微端场景加载(二)场景资源的下载和显示
上文中我们已经把场景中的结点全部自动完成打包,生产的有一批的资源包和结点配置文件.Xml,我们需要把资源和配置文件上传到网络上,我们在做的时候是买了百度网盘,上传到了网盘上,然后需要记录每一个资源以及配置文件的链接路径,可保存成txt文件,然后一起上传上去。在资源下载前先将Xml文件和txt文件下载下来,这样就知道了每个节点位置信息,以及节点资源的链接信息,具体代码如下:using Sys原创 2015-07-21 16:01:09 · 1816 阅读 · 0 评论 -
Unity微端场景加载(一)资源打包和记录位置节点信息
微端作为当下主流的一种游戏模式,所以我们领导层决策要将开发了3年的项目实现微端模式,这也是写这篇博客的起因,其次也是想对自己最近一段时间的工作做一个总结。项目开始前肯定要先做一个相关知识和信息的收集,主要的参考文献有http://www.jb51.net/softjc/233236.html和http://www.xuanyusong.com/archives/1919,通过对以上的了解基本可原创 2015-07-01 16:24:07 · 2427 阅读 · 0 评论 -
Unity协程(Coroutine)原理深入剖析
Unity协程(Coroutine)原理深入剖析 By D.S.Qiu尊重他人的劳动,支持原创,转载请注明出处:http.dsqiu.iteye.com 记得去年6月份刚开始实习的时候,当时要我写网络层的结构,用到了协程,当时有点懵,完全不知道Unity协程的执行机制是怎么样的,只是知道函数的返回值是IEnumerator类型转载 2015-06-17 18:02:55 · 528 阅读 · 0 评论 -
从有限状态机(FSM)到行为树(Behavior Tree)(1)
有限状态机维护了一张图,图的节点是一个个的状态,节点和节点的连线是状态间根据一定的规则做的状态转换,每一个状态内的逻辑都可以简要描述为:如果满足条件1,则跳转到状态1如果满足条件2,则跳转到状态2…否则,不做跳转,维持当前状态稍作整理的话,我们可以对状态机的几种跳转的情况一一描述出来,然后看看如果将这些情况用行为树来表示的话,可以怎么做。这就是我前面说的“转化模转载 2015-05-15 14:01:45 · 1383 阅读 · 0 评论 -
从有限状态机(FSM)到行为树(Behavior Tree)(2)
模式3:根据条件跳转到多个状态,包括自跳转这是在状态机里最常见的模式,由于是基于条件的跳转,所以可以非常方便的用选择节点和前提的组合来描述,特别值得注意的是,对于自跳转而言,其实就是维持了当前的状态,所以,在构建行为树的时候,我们不需要特别考虑自跳转的转换。如下图所描述了,我们先用序列节点来保证跳转的上下文(可以参考模式2中的相关内容),这里用到的另一个技巧是,我们会在状态a结束的时候,在转载 2015-05-14 16:52:32 · 1618 阅读 · 0 评论 -
行为树(Behavior Tree)实践(1)– 基本概念
我想通过一个例子来介绍一下行为树的基本概念,会比较容易理解,看下图:这是我们为一个士兵定义的一颗行为树(可以先不管这些绿圈和红圈是干吗的),首先,可以看到这是一个树形结构的图,有根节点,有分支,而且子节点个数可以任意,然后有三个分支,分别是巡逻(Patrol),攻击(Attack),逃跑(Retreat),这个三个分支可以看成是我们为这个士兵定义的三个大的行为(Behavior),转载 2015-05-14 16:19:15 · 2146 阅读 · 0 评论 -
在行为树(Behavior Tree)中使用黑板(BlackBoard)
黑板(Blackboard)是一种数据集中式的设计模式,一般用于多模块间的数据共享,我在做行为树的过程中,发现黑板非常适合作为行为树的辅助模块来使用,这次就来谈谈如何在行为树中使用黑板。行为树的决策一般要依赖于外部的输入,如下图所示。输入内容的来源取决于行为树用在整个AI架构的哪一层,可以是游戏世界的信息,或者是上层模块的输出。输入的形式,可以是分散的(Decentralized)转载 2015-05-14 15:54:43 · 2465 阅读 · 0 评论 -
unity资料大全
就作为一个记录吧,把平时看过的Unity相关的一些好的Blog记录并分享。好的论坛:Unity官方脚本 点评:这个不用说了,最核心的内容,理解整个Unity引擎的方方面面,梳理结构。Unity圣典 点评:适合英文不太好的同学看,阅读速度肯定比英文快。Unity圣典的论坛 点评:论坛嘛,很多问答以及经典文章。Unity wiki 点评:可以说跟Uni转载 2015-03-30 10:41:59 · 1004 阅读 · 0 评论 -
unity3D获取和设置鼠标的位置
Unity3d本身并不能设置鼠标的位置,需要依赖系统库,原创 2014-10-23 11:02:54 · 9704 阅读 · 2 评论 -
基于Unity行为树设计与实现的尝试
查阅了一些行为树资料,目前最主要是参考了这篇文章,看完后感觉行为树实乃强大,绝对是替代状态机的不二之选。但从理论看起来很简单的行为树,真正着手起来却发现很多细节无从下手。总结起来,就是:1、行为树只是单纯的一棵决策树,还是决策+控制树。为了防止不必要的麻烦,我目前设计成单纯的决策树。2、什么时候执行行为树的问题,也就是行为树的Tick问题,是在条件变化的时候执行转载 2015-05-26 14:31:32 · 819 阅读 · 0 评论 -
UGUI(一)List列表的封装
UGUI出来有一段时间了,官方也有相关的基础组件视频教程http://blogs.unity3d.com/2014/11/26/4-6-is-released-with-source-for-ui-system/因为基础都很相似,其参数和使用与NGUI等大同小异,在这里不作说明,所以这次封装属于进阶篇。 先看效果图:在中大型游戏开发中,UI制作会有单转载 2015-08-25 09:34:20 · 1647 阅读 · 0 评论 -
UGUI(二)摄像机渲染纹理
以前在项目中弄过摄像机渲染纹理,现在再来整理下思路。渲染纹理在游戏中的运用非常常见,比如任务对话框上的3DNPC模型显示,角色装备栏中玩家的3D模型显示等。先上图再来分析思路:在Unity中实现这个功能非常容易1.创建一个临时纹理RenderTexture2.新建一个单独的摄像机(可称为photo摄像机),将目标纹理设置为临时创建的纹理3.将临时创建的纹转载 2015-08-25 09:46:31 · 1492 阅读 · 0 评论 -
AssetBundle系列——共享资源打包/依赖资源打包
有人在之前的博客中问我有关共享资源打包的代码,其实这一块很简单,就两个函数: BuildPipeline.PushAssetDependencies():依赖资源压栈; BuildPipeline.PopAssetDependencies():依赖资源出栈。 直接看代码,下面为打包示例代码,Prefab1和Prefab2共享贴图资源Tex1,在打包时将Tex1单独打包转载 2015-07-21 15:34:00 · 549 阅读 · 0 评论 -
UGUI(十)美术字库
福利又来了! 使用NGUI时,游戏中字库和美术字库大家都知道用BMFont工具生成,但是UGUI却不一样,UGUI没有提供导入字库配置文件的接口,但是它提供新的功能组件【CustomFont】,可引入带有字库图片的材质球,并且提供字符信息的输入,比如ASCII码,UV信息,字体大小等。那么我们就有希望把美术字库用到UGUI上! 在这里尝试使用BMFont的字库信息导转载 2015-08-25 10:41:02 · 927 阅读 · 0 评论 -
UGUI(九)UI粒子特效
我们工作中使用的次时代界面NGUI,UGUI,在游戏窗口大小发生变化的时候,细心观察界面元素它的大小并没有变化(这个大小相对于电脑屏幕)。 但是3D场景中的模型大小是变化的,而粒子也一样会发生变化,如果我们想在UI上使用系统自带的粒子系统,这样就无法兼容各种大小的游戏窗口,因为无法使用系统粒子,就只能采用序列图或者摄像机渲染纹理的方式去做特效,这样做不是不可以,但是前者资源量大,后转载 2015-08-25 10:15:26 · 2673 阅读 · 0 评论 -
UGUI(八)UI节点制作
游戏开发中UI是由各种基本或者高级组件组合而成,UGUI,NGUI也是如此,不过它们是在可视化过程中进行制作,开发效率会很快。 以前用的NGUI只有一个UIRoot作为UI的父节点,能设置一些UI整体缩放类型,比如原始大小,自动适应等,还有它必须有一个UI摄像机带上UICamera组件,里面封装了各种操作事件等。 而UGUI的选择更多了,它的Canvas中可以直接设转载 2015-08-25 10:11:35 · 711 阅读 · 0 评论 -
UGUI(七)界面拖动和焦点界面
一般软件和游戏有多窗口多界面时,都可以拖动子界面和排序子界面【点击后变成焦点界面显示在最前面】。如下图:UGUI的官方例子中有实现拖动的脚本DragPanel,不过它没支持界面排序,加个排序很简单,在按下鼠标时调用tranform的SetSiblingIndex即可,值越大越靠前,在这里我只是简单的实现了这个基本功能,最终用到项目是需要设计一下的,因为很多时候需要记录打开界面的一些转载 2015-08-25 10:07:24 · 848 阅读 · 0 评论 -
UGUI(六)资源下载之Icon
说起icon相信大家都不陌生,如果是页游icon会做成动态下载,其实其他平台也是如此,需要单独给一组icon打包,然后游戏载入时根据类型和文件名加载图片。 如果你在学习UGUI相信也接触过NGUI,NGUI制作的图集作为prefab存在工程目录下,我们直接写打包工具就可以,而且游戏载入图集资源和显示时,在Game下也只是占用一个DrawCalls,这样挺好。 但是U转载 2015-08-25 09:59:04 · 1024 阅读 · 0 评论 -
UGUI(五)动画系统
Unity暂时没有单独给UGUI提供动画系统,用官方的动画系统也能做只是比较麻烦,所以我们有很多选择了。1.修改NGUI的UITweener在用UGUI上,轻量级动画系统。2.使用第三方插件入iTween,DoTween,HOTween等。 发现DoTween不错,就试试了。先来看效果图:这里用到了位置,旋转,缩放,颜色四个最主要的动画效果,暂时转载 2015-08-25 09:57:47 · 1291 阅读 · 0 评论 -
UGUI(三)无限循环列表
循环列表其实是针对列表组件的优化,如果有1000条数据普通列表会创建1000个item,这样在打开或关闭界面时会有很明显的卡顿现象。所以趁现在有空就尝试做个demo。NGUI的例子中有循环列表的例子,但是要用到项目中还得琢磨一阵子,而且这种功能自己尝试写一写是很好的事情。先上图:图中显示到1000条数据的位置,但是注意红框中的item个数它只有11个,所以界面打开关闭也不会转载 2015-08-25 09:52:46 · 2115 阅读 · 0 评论