Unity3D
文章平均质量分 78
IQ007伟哥
只喜欢炫耀各种技术的宅男
展开
-
Unity技能系统框架(三)分析一个具体被动技能
这一篇分析一个具体的被动技能:蚁人的影矛 首先看下技能描述:“每个蚁人都是天生的掷手,投掷出长矛刺穿目标的身躯。普通攻击有几率对攻击范围内其他{0}名目标进行相同攻击。”,只要是个程序猿,智商足以总结出该技能重点:“普通攻击有几率攻击范围内其他{0}名目标”,其他的都是废话。不过要注意,这个攻击是以弹道的方式攻击多个目标,而不是分裂伤害。分析下这个技能的逻辑思路,这里可以拆分成这...原创 2020-03-26 23:01:06 · 5072 阅读 · 9 评论 -
Unity技能系统框架(二)技能抽象模块细化
看了上一篇的技能效果Demo,接下来大概说下该技能系统可实现的一些技能事件和效果。技能一般包含这几个要素: 数据(配置表和资源)、技能属性(消耗能量、冷却时间等)、事件操作(这是一个大的范畴,后面分析)、目标(施法者、目标、攻击方、弹道、目标点)、施加的状态Modifier(这也是一个比较大的范畴,后面分析)。 关于技能数值方面,采用了与知乎博客一样的方式,即Excel...原创 2020-03-21 17:01:06 · 7784 阅读 · 12 评论 -
Unity技能系统框架(一)技能效果
一场疫情,让我居家办公了两个月,感觉人生快颓废了…… 这里记录下个人仿DOTA2编写的技能系统结构,借鉴了知乎博文的编辑器思想,使用了ProtoBuf和AdvancedInspector,最后仿照DOTA2的技能数据结构,编写了一套技能系统,个人感觉完全可以用在MOBA、MMORGP上,而且主动技能、被动技能、Buff和Debuff都可实现。大姑娘头一次上娇,比较怂……欢迎各位的...原创 2020-03-20 19:29:23 · 11243 阅读 · 0 评论 -
关于Unity的平台转换的坑(Path路径、AssetBundle等)
近期移植公司项目,从PC平台移植到Android平台,遇到了各种坑……真是自己知识浅薄啊!!!!原创 2017-12-08 21:14:33 · 5237 阅读 · 0 评论 -
Unity5与Android交互通信(使用Android Studio2.4) 详细操作一
转载请注明出处! 现在网上的Unity与Android通信的教程,要么是Unity版本不是较新的,要么使用的是Eclipse配置Android。写这篇博文主要是简单说明一下Unity5.3.6和Android Studio2.4的配置,来完成Unity脚本(C#)与Android脚本(Java)的交互通信。PS:以下详细操作截图是本人的真实操作,能考虑到的重点已经说明,如果存原创 2016-11-09 20:08:41 · 4846 阅读 · 11 评论 -
[推荐]Unity资源机制
1、概述 本文意在阐述Unity资源机制相关的信息,以及一些关于个人的理解与试验结果。另外还会提及一些因机制问题可能会出现的异常以及处理建议。大部分机制信息来源于官方文档,另外为自我验证后的结果。 2、资源概述 Unity必须通过导入将所支持的资源序列化,生成AssetComponents后,才能被Unity使用。以下是Unity对A转载 2017-02-28 20:43:03 · 2387 阅读 · 1 评论 -
Unity3D中Monobehaviour中自带的重要函数
在Unity3D游戏开发中会使用到很多函数,如果熟练知道每个函数的用法会极大的提高开发效率,为此下面就给大家介绍下Unity3D中的一些重要函数,不是很清楚的就一起来看看吧。 Update 当MonoBehaviour启用时,其Update在每一帧被调用。 LateUpdate 当Behaviour启用时,其LateUpdate在每一转载 2017-02-28 20:41:45 · 3790 阅读 · 0 评论 -
腾讯开源手游热更新方案:Unity3D下的XLua方案介绍
转自:http://gad.qq.com/article/detail/7182055写在前面 xLua是Unity3D下Lua编程解决方案,自2016年初推广以来,已经应用于十多款腾讯自研游戏,因其良好性能、易用性、扩展性而广受好评。现在,腾讯已经将xLua开源到GitHub。 2016年12月末,xLua刚刚实现新的突破:全平台支持用Lua修复C#代码bug。转载 2017-02-28 20:39:26 · 1253 阅读 · 0 评论 -
Unity5.4 Assetbundles官方说明三(AssetBundle资源包的内部结构)
转载请注明出处! 上一篇介绍了AssetBundle的压缩格式,接下来将说明一下AssetBundle资源的内部结构。(了解即可)一个AssetBundle资源包本质上是一组对象组合成的一个序列化文件。这个文件有一个稍微不同的结构,结构的不同取决与这是一个普通资源包还是场景包。普通资源包的结构: 场景资源包的结构: 资源包的压缩: 官方说明(不再翻译): The Compressed block原创 2016-10-25 15:16:24 · 2665 阅读 · 2 评论 -
Unity5.4 Assetbundles官方说明一(AssetBundles打包详解)
转载请注明出处! 目前网上有一些关于Unity5的Assetbundles不错的中文教程,例如:1、http://liweizhaolili.blog.163.com/blog/static/16230744201541410275298/阿赵http://liweizhaolili.blog.163.com/blog/static/162307442015282017852/阿赵2、htt原创 2016-10-25 15:16:18 · 12310 阅读 · 2 评论 -
关于Unity的EditorPrefs遇到的坑
EditorPrefs和PlayerPrefs都是保存持久层的数据,以键值对的方式存储,都可以保存和获取Int类型、string类型、float类型的数据,其中EditorPrefs中比PlayerPrefs多了一个Bool类型的键值对,即SetBool(string keyName, bool value)和GetBool(string keyName);也可以删除保存的数据,具体的可以看接口A原创 2017-11-23 10:08:20 · 5584 阅读 · 0 评论 -
UnityWebRequest下载网络资源,支持断点续传、多文件同时下载
今晚研究了下关于Unity中文件下载的断点续传功能,Unity已经封装了网络资源的下载API,当然也可以使用C#中的API进行资源下载。 首先说一下断点续传的大概思路: 1、下载一个文件时,向服务器发送下载请求,发送一个Range的报文,指定从文件数据的什么位置开始获取数据,把从服务器路径接收到的文件数据,用文件流操作按顺序写入到本地临时文件流,当中断下载时,保存已下载的临时文件数...原创 2017-12-12 21:04:18 · 12504 阅读 · 6 评论 -
Unity AssetBundle加载音频,无法播放音效并报错的坑
在使用AssetBundle加载音频资源时,有时会有类似以下错误:Error: Cannot create FMOD::Sound instance for resource archive:/CAB-aca4c22c96bd4237efc93d78dd357c51/CAB-aca4c22c96bd4237efc93d78dd357c51.resource, (File not found...原创 2018-03-15 19:30:14 · 19760 阅读 · 11 评论 -
Unity5.4 AssetBundle的完整项目源码(包括打包和加载)
转载请注明出处! 之前写了十篇文章,把官方文档的AssetBundle大体翻译和解释了一下,也分享了基本的打包和加载的流程。下面我就把AssetBundle用于实际项目的源码分享给大家,很实用的。(个人感觉整合的源码框架还是挺牛逼的,自己整合,有更好的求分享!) 主要包括的知识点有:UGUI、C#的反射(程序集)和委托、单例、接口、Coroutine协程、AssetBundle的打包和加载、资...原创 2016-10-25 15:17:04 · 4005 阅读 · 11 评论 -
关于Unity打包Android平台应用,访问不到StreamingAssets中的资源问题
Unity中StreamingAssets文件夹中的资源,在打包时会原封不动的包含到包体中,如图我在StreamingAssets文件夹的资源:当我打包apk后,用解压软件查看apk的内部资源,会在assets文件夹下找到StreamingAssets中的资源。如图: 在assets文件夹中有一个bin文件夹,这个文件夹中存放着除了StreamingAssets文件夹之外所用到的资源,而且文...原创 2018-03-05 21:31:26 · 14303 阅读 · 3 评论 -
Unity 关于Plugins放入dll在IOS端运行异常的bug
好久没写博客了,今天被一个问题困扰了好久,网上了查不到相应的解决方案,自行解决后才觉得还是写写博客吧,说不定能帮助别人少走弯路…… 首先说明我的运行环境:MAC系统版本号10.13.4, Unity版本号2018.1.0。解释下当前环境的问题,首先MAC系统升级到10.13版本后,文件系统改为了APFS格式,而Windows系统中的Unity 工程是在NTFS格式的文件系统中创建的,...原创 2018-06-12 11:45:18 · 2997 阅读 · 0 评论 -
Unity常用的Attribute特性
标记字段的特性[Space]在Inspector面板上显示的字段之间形成一个空隙,可以带参数[Space(30)],表示空隙的宽度。[Header(“XXX”)]在Inspector面板上给定义的字段的上一行加段描述,可以将显示的字段内容隔离开,形成分组的感觉[Tooltip(“XXX”)]在Inspector面板上鼠标移上定义的字段弹出描述[Range(min, max)]限制...转载 2018-10-26 11:44:59 · 938 阅读 · 2 评论 -
关于Unity技能系统的设计
分享几篇好文章,这几篇消化下,技能系统设计基本没问题了。常规MMO技能系统:https://zhuanlan.zhihu.com/p/26077188UnityACT技能编辑器的制作(上):https://zhuanlan.zhihu.com/p/38001896方便扩展的被动技能,Buffer系统(和编辑器):https://zhuanlan.zhihu.com/p/38326478...原创 2019-04-12 14:09:35 · 13295 阅读 · 0 评论 -
(恶搞)Unity 之 项目中如何坑害你的同事
GitHub代码维护根本不存在的,让他们知道你就这个项目的上帝,你写的不是代码,你写的是密码!加密性很高的密码!!!只要你离开,项目就会分崩离析,而且你也是游走在崩溃的边缘,就是这么6,玩的就是心跳~1. 预制体名称后缀加空格(加载的时候明明和预制体名称一致但是无法找到,是不是很6)2. 使用牛逼的字体,让1(数字)和I(i)或者和l(L)看着如此相似3. Info和Data这种...转载 2019-04-12 18:08:31 · 625 阅读 · 0 评论 -
Unity接入ILRuntime时需要注意的问题
研究了一段时间用ILRuntime做热更的方式,感觉整体还是不错的,但是官方技术文档不是很详细,把重点需要注意的问题说明了一下,但是出现bug的情况多种多样,在此,我把自己遇到的问题记录一下,如有描述错误的,还请阅读者指正。(以下把Unity3D工程中脚本记为Unity,把热更脚本的C#工程记为Hotfix)1、Unity调用Hotfix的方法,开销相对较大。这里抽象比喻一下,假如同时调用...原创 2019-07-04 15:58:13 · 9685 阅读 · 3 评论 -
Unity的50个使用技巧(2016 Edition)
开发流程1. 确定开始的缩放比例,并以相同缩放比例构建所有原型。否则,你可能需要后续重做assets(例如,无法总是正确地缩放动画)。对于3D游戏,采用1 Unity单位= 1m通常是最佳的。对于不使用照明或物理的2D游戏,采用1 Unity单位 = 1 像素(在“设计”分辨率阶段)通常是较好的。对于UI(以及2D游戏),选择设计分辨率(我们使用HD或2xHD,并将所有assets设计为以转载 2016-11-10 15:49:14 · 782 阅读 · 0 评论 -
Unity3d中对象池(ObjectPool)的实现
转自:http://gad.qq.com/article/detail/7172110转载 2016-10-26 08:25:58 · 7188 阅读 · 0 评论 -
Unity5.4 Assetbundles官方说明八(数据安全方面的处理)
转载请注明出处! 尽管资源(Assets)在传输时可使用加密进行保护,但在数据流入客户手中后,其内容就有可能被获取,例如,有的工具可以记录驱动程序上的3D数据,允许用户获取传送至GPU的模型和纹理,因此,我们的立场通常是在用户决定提取资源时,才满足用户要求。 当然,如果需要,也可以对资源包(AssetBundle)文件使用自己的加密方式进行数据加密。 一种方式是,使用文本资源(TextAss原创 2016-10-25 15:16:38 · 1728 阅读 · 1 评论 -
Unity5.4 Assetbundles官方说明七(在AssetBundle中存储和加载二进制数据)
转载请注明出处!第一步是用".bytes"的扩展名保存二进制文件,Unity将把这个文件作为一个TextAsset文本资源,这样就可以打包成AssetBundles。一旦下载了AssetBundle资源包并且加载了TextAsset文本资源对象,我们就可以使用TextAsset文本资源的.bytes属性来检索二进制文件。以下是官方的例子://下载地址string url = "http://www原创 2016-10-25 15:16:35 · 3578 阅读 · 0 评论 -
Unity5.4 Assetbundles官方说明六(保留下载的AssetBundle)
转载请注明出处! Unity只允许AssetBundle在程序中实例化一次,如果之前一个AssetBundle从WWW加载出来并没有释放(Unload),那么就不能再次加载同一个AssetBundle,例如我们已经通过以下脚本获取了AssetBundle资源包对象:AssetBundle bundle = www.assetBundle;然后在这个资源包没有释放的情况下,又通过这个脚本获取同一个原创 2016-10-25 15:16:33 · 2347 阅读 · 0 评论 -
Unity5.4 Assetbundles官方说明五(从AssetBundles的加载和卸载资源对象)
转载请注明出处! 之前已经说明了如何创建AssetBundle资源包,以及如何下载的加载AssetBundle资源包对象。在此假设我们已经从下载的资源数据中创建了AssetBundle资源包对象,现在要从AssetBundle资源包中读取资源对象,官方提供了以下三种方法:1、Object LoadAsset(string name):这种方式是使用资源名称作为参数来加载需要的资源,例如Asset原创 2016-10-25 15:16:29 · 7312 阅读 · 3 评论 -
Unity5.4 Assetbundles官方说明四(AssetBundles的下载和加载)
转载请注明出处! 前面三篇文章主要介绍AssetBundle的简单打包和基本原理,接下来几篇文章将介绍AssetBundles下载方面的内容。本篇假设你已基本了解了创建AssetBundles的操作,如果还不清楚,请先查看我的第一篇文章:Unity5.4 AssetBundles官方说明一(AssetBundle打包详解)说明:本篇只说明基本的下载和加载,不包含依赖资源,所以有依赖的资源会丢失。原创 2016-10-25 15:16:26 · 2639 阅读 · 0 评论 -
Unity5.4 Assetbundles官方说明二(AssetBundle压缩与解压)
转载请注明出处! 上篇AssetBundle的文章:Unity5.4 Assetbundles官方说明(一),简单说明的Unity5.4中AssetBundle的打包操作,接下来将介绍AssetBundle的压缩和解压的内容,如果有误,麻烦大家尽量指正,我会立马更改……一、AssetBundle的压缩方式 Unity支持三种AssetBundle打包的压缩方式:LZMA, LZ4, 以及不压缩原创 2016-10-25 15:16:21 · 12809 阅读 · 1 评论 -
关于初学者如何学习Unity3D的问题-_-!(纯吐槽)
新手如何学Unity3D?Unity3D怎么入门?……“探索”类似的问题都是我们一种寻求捷径的心理。然而现实是没有捷径的…… 我也是一名入门Unity不久的新人,现在在一家游戏开发公司工作。大学专业是软件工程,学的是面向网站系统的JAVA方向。然后大四开始我自学Unity3D。我也有过类似的学习疑问……也爬过好多的坑……现在我的技术不算好,不过在公司进步是很快的。我发现没有必要去买一些原创 2016-10-25 15:16:15 · 6882 阅读 · 2 评论 -
Unity3D的SystemInfo类,获取运行设备硬件信息(CPU、显卡、类型等)可用于手机
转载请注明出处! 近期才发现Unity3D还有一个访问硬件设备信息的类SystemInfo。这么晚才发现,我也是醉了。今整理了一下这个类的相关内容。PS:个人整理,有不符的地方望大家指正。嘿嘿。概述: UnityEngine.SystemInfo类中的属性都是只读属性,存储着运行平台的一些硬件信息,找出底层平台和硬件的功能,如:设备的名称、设备的类型、显卡原创 2016-09-22 09:20:17 · 25695 阅读 · 2 评论 -
Unity5.4 Assetbundles官方说明九(资源包中包含脚本文件)
转载请注明出处! 脚本可以作为文本资源(TextAsset)包含在资源包中,但是它们不会作为实用的可执行代码。如果我们想在资源包(AssetBundle)中包含脚本代码,并且希望脚本可以在程序中被执行,那么脚本需要被预编译成程序集,并且使用反射类来加载程序集中的脚本(注意:反射不支持使用AOT进行编译的平台,例如IOS平台)。具体的程序集和反射特性内容可以参考我的另一篇文章:C# Assembl原创 2016-10-25 15:16:41 · 2586 阅读 · 0 评论 -
Unity5.4 Assetbundles官方说明十(官方疑难问题解答)
转载请注明出处!一、如何使用资源包(AssetBundle)? 使用AssetBundle主要有两大步:第一步是从服务器上或磁盘路径下载AssetBundle,这是用WWW类完成操作;第二步是从资源包(AssetBundle)中加载程序要使用的资源(Assets)。下面是官方的C#脚本案例,创建一个GameObject:using UnityEngine;using System.Collect原创 2016-10-25 15:16:44 · 1600 阅读 · 0 评论 -
Unity5.4 Assetbundles十一:遇到的坑和整理的打包和加载流程(资源包更新的简易框架)
转载请注明出处! 关于Unity5.4 AssetBundle的最后一篇博文中,我把自己学习过程中遇到的坑和解决方法分享给大家,望广大学习者能够尽快掌握Assetbundle。遇到的坑:1、首先说明一下,Unity5.x以后的打包流程跟Unity4.x的版本完全不一样了,Unity4.x版本打包时需要先获取打包的对象或资源,然后针对资源进行打包操作,而且有依赖资源的时候需要用特定的方法来打包依赖资原创 2016-10-25 15:16:47 · 13414 阅读 · 8 评论 -
给你一个关于怎么去设置Canvas(画布)工作的建议
转自:http://www.manew.com/thread-95049-1-1.html转载 2016-10-26 08:47:06 · 6581 阅读 · 0 评论 -
手机客户端弱网络下的断线重连处理
转载:http://gad.qq.com/article/detail/7172105转载 2016-10-26 08:21:42 · 6984 阅读 · 0 评论 -
动作手游实时PVP帧同步方案(客户端)
转自:http://gad.qq.com/article/detail/7171195转载 2016-10-26 08:52:38 · 9312 阅读 · 3 评论 -
关于Unity5.x版本AssetBundle打包Shader的问题
转载请注明出处! 打包AssetBundle时,不注意的话,某些Shader是无法打包到AssetBundle中的。这两天一直被这个问题困扰,抽空就研究了一下。 Unity打包Assetbundle时,要想将Shader一起打包,需要注意两种Shader:项目中自建的Shader文件和Unity内置的Shader文件。自建的Shader文件在Unity项目中是可以看到的,而Unity内置的Sh原创 2016-10-25 15:17:15 · 7658 阅读 · 2 评论 -
Lua的协程和协程库讲解
我们首先介绍一下什么是协程、然后详细介绍一下coroutine库,然后介绍一下协程的简单用法,最后介绍一下协程的复杂用法。一、协程是什么? (1)线程 首先复习一下多线程。我们都知道线程——Thread。每一个线程都代表一个执行序列。 当我们在程序中创建多线程的时候,看起来,同一时刻多个线程是同时执行的,不过实质上多个线程是并发的,因为只有一个CPU,所以实质上同一个时刻只有一个线程在执行。原创 2016-10-25 15:17:12 · 567 阅读 · 0 评论 -
Unity性能优化(主要是内存的优化)
Unity手游的性能优化过程更像是一门时空转换的艺术, 持续在CPU和内存之间取得一个平衡。空间不足时则需要释放一些无用数据,以获得更优的空间使用率;时间太长时就需要降低不必要的函数开销。以下是腾讯游戏在Unity游戏开发过程中内存和性能优化的一系列解决策略和方法。贴图:l 控制贴图大小,尽量不要超过1024 x1024;l 尽量使用2的n次幂大小的贴图,否则GfxDriver里会有2份原创 2016-10-25 15:17:09 · 7010 阅读 · 0 评论 -
Unity游戏Mono内存管理与泄漏
ortant;" >ortant;" >ortant;" > 这几天看了一篇腾讯WeTest中关于Unity内存管理和泄漏问题的文章,感觉非常棒,报了了下来。原文地址:http://mp.weixin.qq.com/s?__biz=MzA3NjA3NTI5Mg==&mid=2656329129&idx=1&sn=81e7c9481ce03dadc51658b28213cfd6&sce原创 2016-10-25 15:17:07 · 715 阅读 · 0 评论