unity

Unity 应用的消息推送――极光推送

匿名 (未验证) 提交于 2019-12-03 00:18:01
https://blog.csdn.net/qq_37310110/article/details/80423463 以下资料来源网络,如有侵权请告知 IOS本地推送 : Unity内部封装了在iOS下的本地推送功能,可以很方便的实现在iOS设备上的简单本地推送。 命名空间为:UnityEngine.iOS 在Unity中的代码和直接用swift的代码基本类似。具体代码实现: static void NotificationMessage(string message, System.DateTime newDate, bool isRepeatDay) { //推送时间需要大于当前时间 if (newDate > System.DateTime.Now) { UnityEngine.iOS.LocalNotificationlocalNotification = new UnityEngine.iO S.LocalNotification(); localNotification.fireDate = newDate; localNotification.alertBody = message; localNotification.applicationIconBadgeNumber = 1; localNotification.hasAction = true; if

Unity DC优化技巧

匿名 (未验证) 提交于 2019-12-03 00:18:01
1 :粒子大小,如果可以的话,粒子的 size 应该尽可能地小。因为 Unity 的粒子系统的 shader 无论是 alpha test 还是 alpha blending 都是一笔不小的开销。同时,对於非常小的粒子,建议粒子纹理去掉 alpha 通道。大块的特效最好在模型上面做,不好用粒子。 2 :大面积使用的粒子,或者模型,尽量使用 add 模式,因为 blend 模式会渲染通道,消耗比较大的内存。 3 :如果粒子叠加层次比较多,尽量使用中空模型,会大大降低渲染的压力。 如图,如用到大面的环形效果,建议用右边的模型,中空,降低渲染压力。 4 : shader 的使用方面,特效一般情况使用 mobile 模式下的 shader ,如有特殊需求,可以用 shader forge 做 shader ,并由程序优化至确认可以使用。 5: 粒子系统的使用方面,每个发射器发射多少个粒子,最大粒子数就写多少个,因为最大粒子数默认的 1000个是粒子池,会占用内存。粒子特效基本不接收光影和产生光影,故光影的效果选项去掉。如下图: 6: 大部分特效不要加入灯光,如想表现灯光效果,可以用 glow模拟光照效果。 7: 特效中需要用的模型资源能合并,尽量在 max中合并,因为在unity中,模型只要k了动画就算一个dc,如果模型事先没在max中合并,几个模型就有几个dc,例如翅膀特效。

Unity 发布WebGL出错失败

匿名 (未验证) 提交于 2019-12-03 00:18:01
首先贴出报错: Exception: E:\Unity\Editor\Data\il2cpp/build/il2cpp.exe did not run properly! UnityEditorInternal.Runner.RunManagedProgram (System.String exe, System.String args, System.String workingDirectory。。。。 搞了很长时间,试了很多方法,都不行,最后换了个文件夹就成功了,猜测可能是因为之前那个文件夹和项目名有中文的原因。 本人亲测,肯定不是因为打包路径和项目路径不一致的原因 文章来源: Unity 发布WebGL出错失败

Unity搭建大型场景技术路线

匿名 (未验证) 提交于 2019-12-03 00:18:01
技术路线图及需要解决的若干问题 总结 本文档从大型场景导入、场景优化、场景切换三个角度考虑,目的是实现明确对导入场景的要求、在Unity里优化大型场景。 思考 目前仅考虑了大型场景导入、场景优化、场景切换三个方面的内容,相信还有些因素会影响大型场景在Unity里的显示,这在后续工作中要不断完善。 文章来源: Unity搭建大型场景技术路线

Unity中的几种渲染队列

匿名 (未验证) 提交于 2019-12-03 00:18:01
在渲染阶段,引擎所做的工作是把所有场景中的对象按照一定的策略(顺序)进行渲染。最早的是画家算法,顾名思义,就是像画家画画一样,先画后面的物体,如果前面还有物体,那么就用前面的物体把物体覆盖掉,不过这种方式由于排序是针对物体来排序的,而物体之间也可能有重叠,所以效果并不好。所以目前更加常用的方式是z-buffer算法,类似颜色缓冲区缓冲颜色,z-buffer中存储的是当前的深度信息,对于每个像素存储一个深度值,这样,我们屏幕上显示的每个像素点都会进行深度排序,就可以保证绘制的遮挡关系是正确的。而控制z-buffer就是通过ZTest,和ZWrite来进行。但是有时候需要更加精准的控制不同类型的对象的渲染顺序,所以就有了渲染队列。今天就来学习一下渲染队列,ZTest,ZWrite的基本使用以及分析一下Unity为了Early-Z所做的一些优化。 Unity中的几种渲染队列 首先看一下Unity中的几种内置的渲染队列,按照渲染顺序,从先到后进行排序,队列数越小的,越先渲染,队列数越大的,越后渲染。 Background(1000) 最早被渲染的物体的队列。 Geometry (2000) 不透明物体的渲染队列。大多数物体都应该使用该队列进行渲染,也是Unity Shader中默认的渲染队列。 AlphaTest (2450) 有透明通道,需要进行Alpha Test的物体的队列

【Unity】图形相交检测

匿名 (未验证) 提交于 2019-12-03 00:18:01
前言 图形相交检测常常用在伤害判定,使用自定义的图形相交检测,可以在一定程度上控制性能。 比如2D格斗游戏中使用的矩形包围盒(AABB),一些动作游戏中常常出现的扇形攻击。 2D的图形相交检测能够满足大部分的需求,且可以拓展成为柱状的3D物体,2D比3D的计算复杂度会低很多,3D的图形检测原理与2D相似,本文会实现几个圆形与其他2D图形的相交检测: 通过简单化处理,把被判定物都处理成由圆柱或多个圆柱构成的区域,所以只需要考虑圆形与其他形状的相交。 圆形与圆形 两个圆形的相交检测非常简单直观,只需要判断半径只和与距离的大小。 定义圆形区间: 相交判断: 分离轴定理 分离轴定理(separating axis theorem, SAT)分离轴定理是指,两个不相交的凸集必然存在一个分离轴,使两个凸集在该轴上的投影是分离的。 判断两个形状是否相交,实际上是判断 分离轴 是否能把两个形状分离。若存在分离轴能使两个图形分离,则这两个图形是分离的。 基于以上理论,寻找分离轴是我们要做的工作,重新考虑两个圆形的相交检测,实际上我们做的是把圆心连线的方向作为分离轴: 上图中两图形的投影在分离轴上是分离的,存在分离线将两者隔开,于是我们可以断定两图形是分离的。 胶囊体的本质 定义一个线段 u,距离 d。胶囊体实际上是与线段 u 的最短距离小于 d 的点的集合。判断一个点 x 处于胶囊体内部

在Unity 5中优化SkinnedMeshRenderer

匿名 (未验证) 提交于 2019-12-03 00:17:01
过早优化是万恶之源”――Donald Knuth 第一次迭代――使用不带动画的网格 第二次迭代――SkinnedMeshRenderer.BakeMesh() 第三次迭代――网格合并 第四次迭代――更高一级 总结 不要过早优化,可以适当晚一点。 善于发现漏洞!如果某个东西不适用于X,那能否暂时将它变为Y呢? 用创造性的技巧换取性能。 内容下载链接: https://github.com/Ryxali/StateCapital 来源:博客园 作者: 天马yp 链接:https://www.cnblogs.com/yptianma/p/11806339.html