unity

unity3d [EGL] Unable to acquire context: EGL_BAD_NATIVE_WINDOW: A NativeWindowType argument does not

不羁的心 提交于 2020-01-14 21:05:54
对于unity 引擎错误:[EGL] Unable to acquire context: EGL_BAD_NATIVE_WINDOW: A NativeWindowType argument does not refer to a valid native window 解答: 这个错误的最终抛出,来源不是unity引擎,而是一个OpenGL ES EGL的错误,android和ios都会发生,unity只做了捕获抛出而已。 https://developer.android.com/reference/javax/microedition/khronos/egl/EGL10 问题常发生在app被切到后台重新被唤醒,猜想在接入sdk后sdkActivity和unityActivity切换之间也可能发生,不确定条件的偶发。 u4上没有,主要是2017引擎做了渲染线程独立后出来的。应该是引擎渲染线程使用存在bug, https://unity3d.com/cn/unity/whats-new/unity-5.1.5 unity在u5开始就在多个版本尝试修复,然而没什么效果,unity给的解决方案是:建议只要没有Crash可以忽略。 查询了Crash收集后台的fabric和crashreport相关日志均没有关于这个错误造成的crash 所以我们只能忽略。 来源: CSDN 作者:

unity 获取场景所有物体

吃可爱长大的小学妹 提交于 2020-01-14 19:49:53
unity 获取场景所有物体 https://blog.csdn.net/u013341672/article/details/81129641 Unity 遍历场景所有物体(包括隐藏及被禁用的物体) //用于获取所有Hierarchy中的物体,包括被禁用的物体 private List<GameObject> GetAllSceneObjectsWithInactive() { var allTransforms = Resources.FindObjectsOfTypeAll(typeof(Transform)); var previousSelection = Selection.objects; Selection.objects = allTransforms.Cast<Transform>() .Where(x => x != null) .Select(x => x.gameObject) //如果你只想获取所有在Hierarchy中被禁用的物体,反注释下面代码 //.Where(x => x != null && !x.activeInHierarchy) .Cast<UnityEngine.Object>().ToArray(); var selectedTransforms = Selection.GetTransforms(SelectionMode

Unity批处理生成/拆分图集

怎甘沉沦 提交于 2020-01-14 19:46:39
要写游戏Demo,所以临时扒了游戏资源来用,你懂的。然鹅~,非Unity开发的游戏,大多使用TexturePacker制作图集,这东东Unity无法直接使用,虽然Sprite Editor自带三种拆分图集的方法,但是会有误差,往往不能达到要求,尤其是帧动画图集对子图大小和偏移要求必须精准,稍有误差就会鬼畜。 网上找了好久图集拆分工具,要么是根据透明像素自动拆分,要么是python写的,还需要配置一堆环境,安装所需库。最终无果,一怒之下自己写个吧,毕竟也算个痛点。 图集一般会包含两个文件,一个是记录子图位置和偏移的图集配置表,通常是plist格式,另一个是合图。 一.生成图集:这里的生成图集指的是根据图集表精准还原生成子图的大小和偏移数值。 实际上就是根据图集表自动填充如图所示区域的数据: 图1 这个需求很简单,怎么实现我不管😎: 很明显只需以下两步: 1. 解析图集配置表: 很遗憾,我随手扒来的游戏资源是使用 libgdx (一款小众游戏引擎,我没用过的统统算小众!!!) 开发的。它使用的图集格式与plist不同,所以想要解析plist格式,那就自己个儿写解析部分吧! libgdx所用图集格式: img_atlas.png format: RGBA8888 filter: Linear, Linear repeat: none img_0 rotate: false xy: 2,

unity含枚举类型json数据的序列化和反序列化

♀尐吖头ヾ 提交于 2020-01-14 15:46:10
unity含枚举类型json数据的序列化 编程环境win10+unity5.3f+VS2017 unity的json功能不支持枚举类型的数据,这里写一下刚学到的转化方式。 建立一个枚举类 public enum UIPanelType { ItemMessage, Knapsack, MainMenu, Shop, Skill, System, Task } 主要思想是利用String存储枚举类型,并且在每次生成对象时把String转换为枚举类型。 using UnityEngine; using System.Collections; using System; [Serializable] public class UIPanelInfo :ISerializationCallbackReceiver { [NonSerialized] public UIPanelType panelType; public string panelTypeString; public string path; // 反序列化 从文本信息 到对象 public void OnAfterDeserialize()//这个方法在每次序列化后调用 { UIPanelType type = (UIPanelType)System.Enum.Parse(typeof(UIPanelType),

Unity WWW类Http Content-T 文本类型讲解

微笑、不失礼 提交于 2020-01-14 14:09:47
MediaType,即是Internet Media Type,互联网媒体类型;也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息。 类型格式:type/subtype(;parameter)? type 主类型,任意的字符串,如text,如果是 号代表所有; subtype 子类型,任意的字符串,如html,如果是 号代表所有; parameter 可选,一些参数,如Accept请求头的q参数, Content-Type的 charset参数。 例如: Content-Type: text/html;charset:utf-8; 常见的媒体格式类型如下: text/html : HTML格式 text/plain :纯文本格式 text/xml : XML格式 image/gif :gif图片格式 image/jpeg :jpg图片格式 image/png:png图片格式 application/xhtml+xml :XHTML格式 application/xml : XML数据格式 application/atom+xml :Atom XML聚合格式 application/json : JSON数据格式 application/pdf :pdf格式 application/msword : Word文档格式

Unity WWW类Http Content-T 文本类型讲解

谁都会走 提交于 2020-01-14 14:09:43
MediaType,即是Internet Media Type,互联网媒体类型;也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息。 类型格式:type/subtype(;parameter)? type 主类型,任意的字符串,如text,如果是 号代表所有; subtype 子类型,任意的字符串,如html,如果是 号代表所有; parameter 可选,一些参数,如Accept请求头的q参数, Content-Type的 charset参数。 例如: Content-Type: text/html;charset:utf-8; 常见的媒体格式类型如下: text/html : HTML格式 text/plain :纯文本格式 text/xml : XML格式 image/gif :gif图片格式 image/jpeg :jpg图片格式 image/png:png图片格式 application/xhtml+xml :XHTML格式 application/xml : XML数据格式 application/atom+xml :Atom XML聚合格式 application/json : JSON数据格式 application/pdf :pdf格式 application/msword : Word文档格式

Unity双指拖动

烂漫一生 提交于 2020-01-14 07:11:05
Unity双指触控缩放视野 夜神模拟器的双指操控 键盘操控 -> 常用工具 -> 拖动按钮编辑按键 来源: CSDN 作者: Hunger720 链接: https://blog.csdn.net/u011076940/article/details/103907181

Unity游戏开发之C#快速入门

为君一笑 提交于 2020-01-14 05:48:50
C#是微软团队在开发.NET框架时开发的,它的构想接近于C、C++,也和JAVA十分相似,有许多强大的编程功能。 个人感受是C#吸收了众多编程语言的优点,从中可以看到C、C++、Java、Javascript、python的影子,设计思想都是相通的(过段时间一定要看看设计模式),对比迁移地学习基本只需要记关键字、语法和包的用法。我是为了unity游戏开发课程学的,不是很深入,某些细节可能也没有涉及到。 就先复习了以前学C++、java的笔记,然后对照着简单学了C#,会重点学unity中用到的包。 1.C#程序结构 C# 中的关键组织结构概念包括 程序、命名空间、类型、成员和程序集 。 一个C#版HelloWorld直观感受一下。 using System; //包含命名空间 namespace HelloWorldApplication //声明一个命名空间 { class HelloWorld //类声明 { static void Main(string[] args) //Main入口函数 { /* 我的第一个 C# 程序*/ Console.WriteLine("Hello World"); //输出 Console.ReadKey(); } } } 与 Java 不同,文件名可以不同于类的名称。 2.数据类型、类型转换 值类型 (从System.ValueType中派生)

[Unity3D基础]VR全景视频

限于喜欢 提交于 2020-01-14 02:11:17
全景视频 相关介绍 Unity操作步骤 需求和思路 代码 相关组件Video Player Resources用法 相关介绍 陀螺仪脚本GyroContoller,发布到移动端,根据手机水平旋转来自动检测器方向并进行相关角度的变化。 根据项目需求创建模型 游戏对象父子集关系 根据需求设置Camera 材质球 VideoPlayer组件,Audio Source组件 Unity操作步骤 添加资源VRVideo 创建一个球Sphere,重置position 将Main Camera放在Sphere的子对象上,重置position 创建一个材质,shader设置为Sprites的Default 创建一个文件夹,命名为Resources(不要拼错),将VRVideo视频加入本文件夹 创建VideoTest脚本,绑定在Sphere上 需求和思路 需求:通过脚本读取视频和音频 思路一:通过URL方式 /// 1、通过脚本添加2个组件—声音和视频 /// 2、修改VideoPlayer属性Source属性为URL /// 3、读取视频所在路径 /// 4、播放视频 代码 using System . Collections ; using System . Collections . Generic ; using UnityEngine ; //引入命名空间 using UnityEngine

Unity 世界坐标转UI坐标

社会主义新天地 提交于 2020-01-14 00:28:20
/// <summary> /// 世界坐标转UI坐标 /// </summary> /// <param name="value,包含世界坐标的位置和要创建的数字"></param> void CreateDmageHint ( BeHurtData value ) { //创建一个伤害数字 Transform temp = _sp_Pool_DamageHint . Spawn ( "DamageHintItem" ) ; //世界转屏幕 Camera_Main世界的摄像机 Vector3 pos = Camera_Main . WorldToScreenPoint ( value . v3_BeHurtPos ) ; Vector3 worldPoint ; //屏幕转UI ui(当前的canvas) _camera_UiCamera(UI的摄像机) if ( RectTransformUtility . ScreenPointToWorldPointInRectangle ( ui , pos , _camera_UiCamera , out worldPoint ) ) { temp . position = new Vector3 ( worldPoint . x , worldPoint . y , worldPoint . z ) ; } } 来源: CSDN 作者