unity

Unity3D Log文件所在

我怕爱的太早我们不能终老 提交于 2019-12-03 04:28:56
官方地址: https://docs.unity3d.com/Manual/LogFiles.html PS.有时候Unity直接崩溃,这时候使用日志文件查看日志会是定位问题的好方法。 链接附带各种情况下的log文件路径并且分别分平台简述。 来源: https://www.cnblogs.com/zhang-dkln/p/11777254.html

还在用难用的AssetBundle?快来运用Unity新的可寻址资源系统,助力游戏开发

白昼怎懂夜的黑 提交于 2019-12-03 04:19:54
Unity Addressables可寻址资源系统是一个强大的Unity资源包,它能够帮助解决游戏开发中最重要的一些挑战: 高效率和轻松的内容管理 。 在管理游戏资源时,往往很难维持好的标准,从而避免让项目变得杂乱无章。最主要的问题在于不同职责的资源管理系统之间的耦合。而且,项目中资源的存储,加载和载入后资源的使用方法都有紧密的联系。 例如:我们可能要在Resources文件夹存储某个精灵。这会让Unity在构建版本时,把精灵存到特定的存档文件中。由于精灵存在了这样的位置,我们必须通过Resources API来加载该精灵。 项目变得混乱的速度比你想象的更快,一种方法的选择将造成项目长期的结果。一个好的系统会避免我们轻易犯下草率的错误,一个优秀的系统也会易于学习和使用。 通过使用Unity Addressables可寻址资源系统,我们可以将资源管理问题分离。我们的目标是保持灵活性,同时让项目具有可维护性。 本文,我们将介绍开发者使用Unity Addressables可寻址资源系统创作游戏时,会获得的三个好处。 好处1:减少游戏的内存压力 在发布游戏时,大多数平台都会让开发者提供玩游戏所需的最低硬件配置要求,以便玩家在购买时参考。 原因很简单:要求的硬件配置越高,购买游戏的玩家会越少。而从另一个角度看,实现的内存管理越好,我们便可在游戏提供更多内容和乐趣。 Unity

Unity实现简易扫雷

为君一笑 提交于 2019-12-03 03:15:12
扫雷的核心思想就是递归,点击一个格子,四周八个格子都会进行检测雷的操作,直到不能检测,用的是广度搜索算法。因为不想写太长的博客,技术也有限,所以这是个简易的扫雷,可扩展性也不好,大家看看思想就好,有兴趣可以用一些架构的思想做一个高大上的扫雷,做完可以联系我交流一下。以下是代码,有注释,不解释。 注:地图的生成可以参考我上一篇博客,写的是TXT格式的存储和读取,存的就是地图信息。 using UnityEngine; using System.Collections; using UnityEngine.EventSystems; using System; using UnityEngine.UI; /// <summary> /// 格子类 /// </summary> public class Grid { public bool isLei; //是否是雷 public bool isClick; //是否点击了 public byte Count; //周围有几个雷 } public class Map : MonoBehaviour , IPointerClickHandler { [ SerializeField ](意义是在Inspect面板显示出来,但是再其他脚本无法调用) private Transform gridContainer; [

Unity 本地化比较实用的实现方案

孤人 提交于 2019-12-03 03:06:16
本篇笔记是在I2Localization插件的基础上针对项目需求,制定的一套本地化技术解决方案,目的是实现一个语言配置文件统一来管理整个游戏的语言本地化,个人认为是非常实用的,有兴趣的同学可以简单看下这个方案的解决思路。 游戏中的本地化考虑两种资源形式: 一、图片本地化 二、文字本地化 图片本地化 图片本地化分为两种情况: 1、用Unity编辑器制作的静态界面图片本地化,如图 这个UI图片不需要程序动态加载,属于静态UI,我们借助本地化工具I2 Localization插件,即可实现这个UI的本地化,使用方法下面再说。 2、代码控制的动态添加的图片资源本地化,如图 这种UI变化涉及到的逻辑比较复杂,我们可能想要程序动态创建和更换这些UI的显示,本地化插件不够灵活,这时候我们把资源放入相应的语言路径下,动态加载即可(动态的资源放入Resoucres) 动态加载方法: iconImg.sprite = Resources.Load(string.Format("UI/XXUI/{0}/{1}",GameTools.getInstance().getCurrentLanguageDict(),"Button"),typeof(Sprite)) as Sprite; 文字本地化 文字本地化也分为两种情况: 1、用Unity编辑器制作的静态文字界面本地化,如图

Unity3D 小地图 (1) 等比例映射

試著忘記壹切 提交于 2019-12-03 03:03:59
在一些地图比较小的游戏还有MOBA游戏中,小地图是通过等比例映射的方式实现的,有些人在进行开发游戏的时候,是通过另一个摄像机渲染图片,实时同步在小地图上的,但这种做法十分消耗性能且功能拓展性很差, 是不推荐使用的。 根据需求进行分析: 1.获取角色在地形上的相对位置坐标。 角色相对地形位置=角色世界坐标-地形世界坐标 2.获取角色在地形上的比例位置,以Vector2(x,z)的形式存储。 角色在地形上的比例 = 相对地形位置/地形长宽 3.比例同步到小地图上,设置地图的RectTransform 小地图位置 = 小地图长宽*比例 using System.Collections; using System.Collections.Generic; using UnityEngine; public class MipMapSyn : MonoBehaviour { //小地图场景图 Transform mipMapImage; //小地图中的人物位置 Transform playerImage; //场景中人物的位置 Transform playerTrans; //地形 Terrain terrain; //小地图的尺寸 Vector2 mipMapSize; //等比例映射后角色在小地图的位置 Vector2 position; //人物相对于地形的坐标 Vector3

Unity 2017.2.0f3 with Facebook 7.10.1 build error FormatException: Input string was not in the correct format

匿名 (未验证) 提交于 2019-12-03 03:03:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I am building a Unity project (targeting Android) under Unity 2017.2.0f3 (64bit MacOS High Sierra) with Facebook's Unity plugin v7.10.1 (released a few days ago), and am seeing this error at BUILD time: FormatException: Input string was not in the correct format System.Int64.Parse (System.String s) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System/Int64.cs:458) System.Convert.ToInt64 (System.String value) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System/Convert.cs:1404) Google.VersionHandler+FileMetadata

mapbox for unity 再现真实地图

孤街浪徒 提交于 2019-12-03 03:02:48
说到游戏中的真实地图,大家脑海中浮现的第一款游戏应该都是火爆全球的AR游戏《Pokémon Go》吧。今天这篇教程将为大家介绍Mapbox Unity SDK,能够在游戏中获取真实的世界地图,或是根据真实地图生成游戏中的体素世界。这些地图数据可以预先存储在游戏或应用中,也可以在运行时动态生成。 注册官网账号 打开mapbox官网( 传送门 )账号注册成功并登录后,点击Get Started 并选择Unity的sdk 记得复制下来它给你提供的密钥哦 导入unity 将下载的sdk导入unity,此时在菜单栏就会出现Mapbox选项 输入你的密钥后,我们就可以正式开始啦。 【如果Token生效,编辑器会出现“TokenValid”提示。】 注意:博主亲身体验的情况,在导入后,出现了在网上查询不到的报错; 代码中所有涉及到mesh的语句都报错了,博主到网上查了半天,因为有关的教程很少,也不知道是什么原因,如何有大神知道,麻烦留言告知我啦 反正我的解决方法简单粗暴,就是把报错的代码都注释掉了,神奇的是,对使用没有啥影响(至少现在我没看出来qwq) 示例场景 Mapbox插件提供了大量示例场景,其中最简单的示例场景Slippy,也是游戏项目较为常用的功能案例。它展示了地图从选中的某点开始不断向外延伸,根据视野范围的变化来实时加载新的地形,这也是游戏中追踪某个对象的真实地理位置时常用的功能。

Unity singleton manager classes

匿名 (未验证) 提交于 2019-12-03 02:56:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: In Unity, whats a good way to create a singleton game manager that can be accessed everywhere as a global class with static variables that will spit the same constant values to every class that pulls those values? And what would be the way to implement it in Unity? Do I have to attach it to a GameObject? Can it just be there in a folder without being in the scene visually? 回答1: Like always: it depends. I use singletons of both kinds, components attached to GameObject and standalone classes not derived from MonoBehaviour . IMO the overall

Unity 3 and Error “The type name or alias ”xxxxx“ could not be resolved. Please check your configuration file and verify this type name.”

匿名 (未验证) 提交于 2019-12-03 02:56:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: Is there any way to resolve this problem with Unity 3 ? I have made all that is possible to bypass this message error, but I can't resolve; I have already did everything I've seen in googles searches. I am almost giving up and trying another DI solution. My configuration file: <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Microsoft.Practices.Unity.Configuration" /> </configSections> <unity xmlns="http://schemas.microsoft

Unity Resolve Multiple Classes

匿名 (未验证) 提交于 2019-12-03 02:56:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: How do I get microsoft unity to 'construct' a list of classes for a given interface type. Very Simple example: List<IShippingCalculation> list = new List<IShippingCalculation>(); list.Add(new NewYorkShippingCalculation()); list.Add(new FloridaShippingCalculation()); list.Add(new AlaskShippingCalculation()); //Not What I want public void calcship(List<IShippingCalculation> list) { var info = new ShippingInfo(list); info.CalculateShippingAmount(State.Alaska) } //Somehow in unity, must i do this for all the concrete classes? //how does it know