今天测试反馈了个刷屏的警告”Particle System is trying to spawn on a mesh with zero surface area“根据翻译判断是使用了体积为0的mesh,但是当我在网上查找资料的时候,网上说的是因为 ParticleSystem 中 ShapeModule 要求引用的 Mesh 必须开启 Read/Write 选项.

经过我的实验和调试发现并不是这么回事,简单的就是因为某个特效的shape类型选择了mesh然而没有指定一个mesh给他,而且选择的Mode为Edge,如下:

满足以上几个箭头所指的条件后就会不断刷如下警告:

要想去掉这些警告,可以改变shape的类型或者指定一个mesh给它,也可以改变Mode的类型为Vertex都可以去掉这些烦人的警告,具体方法需要根据自己的特效情况设置.

如果需要查找项目中有问题的特效可以使用以下编辑器脚本:

using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine;public static class MeshToolForParticle
{[MenuItem("Tools/ParticleSystem/FindScenes", false, 20)]public static void FindScenes(){var guids = AssetDatabase.FindAssets("t:Scene");foreach (var guid in guids){string path = AssetDatabase.GUIDToAssetPath(guid);var scene = EditorSceneManager.OpenScene(path, OpenSceneMode.Single);var roots = scene.GetRootGameObjects();bool found = false;foreach (var go in roots){found |= Find(go);}if (found){Debug.Log(path);}}}[MenuItem("Tools/ParticleSystem/FindPrefabs", false, 20)]public static void FindPrefabs(){var guids = AssetDatabase.FindAssets("t:Prefab");foreach (var guid in guids){string path = AssetDatabase.GUIDToAssetPath(guid);var prefab = AssetDatabase.LoadAssetAtPath<GameObject>(path);Find(prefab);}}private static bool Find(GameObject go){bool found = false;var particles = go.GetComponentsInChildren<ParticleSystem>(true);foreach (var particle in particles){if (particle.shape.enabled && particle.shape.shapeType == ParticleSystemShapeType.Mesh &&particle.shape.mesh == null){string prefabPath = PrefabUtility.GetPrefabAssetPathOfNearestInstanceRoot(particle);Debug.LogWarning(string.Format("Path: {0}\nPrefab: {1}", particle.gameObject.GetGameObjectPath(), prefabPath));found = true;}}return found;}
}

把上面的脚本放到项目的Editor目录下然后点击菜单Tools/ParticleSystem/FindPrefabs,即可打印出有问题的特效名称。

Unity3d关于Particle System is trying to spawn on a mesh with zero surface area的警告相关推荐

  1. Unity3D学习笔记——组件之Effects(效果/特效)——Particle System(粒子系统)

    Effects:效果/特效. Particle System:粒子系统.可用于创建烟雾.气流.火焰.涟漪等效果. 在Unity3D 3.5版本之后退出了新的shuriken粒子系统:   添加组件之后 ...

  2. 详解Unity中的粒子系统Particle System (四)

    前言 上一篇我们主要讲解了Shape形状模块,以及Emission发射模块,这是粒子系统中最为重要的两个模块,学会了它们我们足以做出惊艳的效果,比如霰弹枪的发射,蘑菇蛋的冲击波等等.本篇讲的内容依旧重 ...

  3. Particle System Modules (Shuriken)

    Initial Module 初始化模块 This module is always present, cannot be removed or disabled. 这个模块总是存在的,不能删除或禁用 ...

  4. [Unity2D/3D]Particle System粒子系统/以实现烟雾效果为例

    [Unity3D]Particle System粒子系统 首先看一下效果 1.创建一个Particle System:右键Effects->Particle System Pause暂停播放粒子 ...

  5. Unity中使用粒子特效(Particle System)制作烟花和烛光效果

    Unity中使用粒子特效(Particle System)制作烟花和烛光效果 烟花 烛光 烟花 Unity&烟花效果实例 烛光 Unity3d粒子特效:制作火焰效果 由于烛光的火焰是比较稳定的 ...

  6. Cesium中级教程9 - Advanced Particle System Effects 高级粒子系统效应

    Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ 要了解粒子系统的基础知识,请参见粒子系统入门教程. Weathe ...

  7. OpenGL Compute Shader Particle System计算着色器粒子系统的实例

    OpenGL Compute Shader Particle System计算着色器粒子系统 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include &l ...

  8. 详解Unity中的粒子系统Particle System (七)

    前言 本篇来讲一讲Collision和Triggers模块,这两个模块主要用于粒子系统与物理世界的交互,一个是碰撞器,另一个是触发器.有了这两个模块我们又可以做出更炫酷的粒子效果啦! 目录 前言 本系 ...

  9. Unity 特效:Particle System(粒子系统)

    创建粒子: 方法一:为空物体添加Particle System组件. 方法二:在Hierarchy视图右击 ---> Effects ---> Particle System      I ...

最新文章

  1. EasyUI-子页面增加显示tabs的一个问题
  2. iOS 11开发教程(十七)iOS11应用视图之使用按钮接收用户输入
  3. HTML中transform菜鸟,HTML canvas
  4. 智能芯片的下一场战争是什么?
  5. body-content取值的意义
  6. 英特尔为苹果代工基带芯片 是为X86逆袭移动市场铺路?
  7. 在SQL Server 2000中使用Transact-SQL建立数据库
  8. BZOJ3190[JLOI2013] 赛车
  9. 这可能是最全的JAVA入门教程 ~
  10. 一帆风顺幼儿园管理软件 v3.01 bt
  11. PS——规定尺寸的证件照的制作
  12. 奥运五环的绘制-进阶
  13. 强制删除windows文件的终极解决方法
  14. ORB_SLAM2 原理、论文解读、代码流程
  15. 移动硬盘在计算机中不显示数据能恢复,移动硬盘在电脑上不显示怎么办?分享常用电脑知识...
  16. idea项目相关错误与常用操作教程
  17. 软件设计师必考精华 - 多媒体、信息安全、法律
  18. 不同软件求解超导温度用的方程
  19. Spring HikariDataSource连接MySQL8.0
  20. 摔倒检测+yolov5

热门文章

  1. 函授大专计算机知识点,计算机函授大专作业
  2. 【软考学习14】绝对路径和相对路径的区别和联系
  3. 百度地图---之---桩号转坐标
  4. 不动点迭代之安德森加速
  5. 未来计算机dl攻城略地进程
  6. 三、SIGNALING PACKET FORMATS
  7. oracle阴历解决方案
  8. pdf文档转换器下载
  9. 关于mdm9206 threadx_os的I2c操作相关的API,
  10. 声纹图-声谱图-js之wavesurfer.js(配置、事件、方法中文版翻译)