Notifications
Article
Unity2019经典问题列表
Updated 3 months ago
1.9 K
3
好问题是开启交流的钥匙,欢迎各位开发者去Unity Connect App - “技术交流”群聊中提问。
大家的问题/建议能够帮助Unity讲师团队、答主、博主们了解大家最需要的支持,通过问答、博客、直播、教程等方式提供解决方案。
主要问题类型:
  • 教程建议和资源需求
  • 案例/特定效果实现思路
  • 和提高效率相关的问题
  • 实际操作中遇到的各种问题

教程建议和资源需求

想问:粒子系统中,那些新功能,能不能出个直播,专门讲一讲这块😂
提问者:Weichuan Wang
请留意2020年官方/博主直播,欢迎在Unity Connect群聊中提出您的教程建议/需求
connect app可以出一个专栏放一些技术教学视频吗? 我看code monkey讲的ecs系列是讲的真不错。 官方出的一些介绍都是碎片化的。希望能有个专栏专门讲一些系列化的技术合集。
提问者:🐷 🐷 👦
Unity Connect中的博客来自全球各地的开发者实践,如果需要比较系统的经验分享,推荐关注Unity中文博主们的专栏,目前博主们正在持续更新有关于shader, Houdini, ML-Agent, HDRP, Timeline, Addressable, Odin Inspector, ECS等技术点的系列教程。
点击查看博主文章列表/如何成为博主

案例/特定效果实现思路

大佬们好,有个Shader的问题想咨询下。 关于人物模型穿模检测的问题。 比如人物的手穿到身体内部的时候,能把穿透进身体部分的手用特殊的方法显示出来, 标红之类的都行。 且需要分两种情况: 1.手和身体是一个部件,同属一个Mesh; 2.手和身体属于不同的部件,是两个独立的Mesh。 现在想写个Shader实现这个效果,希望大佬们能指点下思路。
提问者:hjwu
答主问晴:你这个其实就是透视效果,网上可以搜索到一个 神奇的深度图 这个帖子在默认管线下直接就可以用了,如果是urp的话需要自己画。原理一样
想请教一下,想做一个2D全黑视野下,只有主角周围是有视野光亮的效果,需要怎么做呢。 遮罩需要跟随主角移动 查了下听说要用shader 但本人从未用过,应该从哪方面入手学习好一些
提问者:林智C
答主PROS: 你可以试试最新的2D渲染相关的功能,将你的项目更新到2019.2,然后安装LWRP,ShaderGraph等相关Package,然后把管线asset,2D Renderer设置好,将Sprite的材质更新,就可以享受2D着色器与2D灯光的全新开发流程了。更详细的教程官方近期也出过 可以去看一下
请问高手怎么做无穷无尽的海水(例如一直往前游),并且东西掉进水里会溅起水花?
提问者:Shyworm Feng
答主liming zhang: 一个思路是做多块水面,往前游的过程中把用不到的水面移动到游动方向的前方。也有更复杂的方法,需要在shader里根据水面顶点的世界坐标计算波形,这样让水面跟着人一起动就可以,不过这个方法实现起来麻烦一些。

和提高效率相关的问题

Unity版本:2018.4.8f1 问题:项目将Android的打包改为了il2cpp;首次需要打很久,然后就是增量编译,也比较快。 但还是会出现重新编译的情况,我想问一下大家,具体哪些情况下会出现重新编译而不是增量编译?
提问者:u/jeffxun-s
点击查看回答
今天遇到个随机换衣问题,服装覆盖面不同, 为防止穿插,人体贴图需要几张通道融合成一张,shader里multilpy很方便,但在inspector里数量是恒定的,不灵活,有没有其他办法?
提问者:ar4ds
答主liming zhang: 可以用Substance Designer做多纹理混合
请教一个性能问题 3D动作项目 用的是Unity最新的2019.2.6f1 场景无光照,没有烘焙 人物角色平均2500个面,战斗场景同屏约30000个面 其主要有2个场景 大厅场景(预览角色,角色是3D的模型);战斗场景(类似王者荣耀的战斗) 后处理我使用了PostProcessv2,只常驻了Bloom,其它效果未使用 在编辑器下看Profiler,没有任何耗时的函数 出安卓包(使用Mono模式)在真机上看,就会有以下问题: 1.在未锁帧的情况下,大厅场景平均帧数在48帧,大厅场景中有一个名为MeshSkinning.Update的函数耗时13ms,这应该是更新蒙皮,但为什么耗时这么夸张?我已经在模型上勾选了OptimizeGameObject,压缩了模型网格 2.在未锁帧的情况下,战斗场景平均帧数在26帧,在大厅场景中的MeshSkinning.Update耗时却降到了0.07ms,可战斗场景模型明明更多了,为什么蒙皮更新反而减少了呢? 3.战斗场景的主要耗时在UGUI.Rendering.UpdateBatches上其平均耗时有21ms,可战斗场景里只有角色身上的血条是用UGUI的World Canvas实现的,其它都是NGUI,为什么这个耗时这么夸张?
提问者:u/lu-fan-pk
点击查看回答
为什么说静态合批比动态合批要占内存一些啊。 动态合批不也是对批处理的网格进行合并, 假设两个相同的模型数据分别是data1, data2不也是将两个网格合并也就是data1+data2 一起传送么? unity shader 入门精要上说 如果在静态批处理前一些物体共享了相同网络, 那么在内存中每一个物体都会对应一个该网格的复制品,即一个网格会变成多个网格再发送给GPU. 书上这句话没搞懂啊,一个物体肯定对应一个网格啊,为什么说会变成多个网格呢?而且对于动态合批,这方面有区别吗?
提问者:fsh1994
答主Hujiabin:因为对于静态合批,如果你只用到了其中的一个部分,也会加载整个资源。而动态合批只是把运行中的资源进行合批处理。
Unity随着工程变大,运行越来越慢,有什么好的优化策略和管理资源的方案么?另外请教一下,游戏里使用了一些插件,把插件放到Pluging文件夹内会提升编辑器的运行速度么?
提问者:u/liwei-o6u
点击查看回答

实际操作中遇到的各种问题

unity5.0之后如何Mac调用.dylib ?用的是unity2018.3.1,我下了官方的demo工程,这个demo竟然是5.0之前的版本创建的,运行一直报警告 Couldn't open 错误DllNotFoundException: XXX,不知道5.0之后又改动了什么,反正以前的教程都无效了,求解答。 demo地址:https://docs.unity3d.com/uploads/Examples/SimplestPluginExample-4.0.zip 此外再问个问题,有没有大神试过QT C++和unity在mac上互调用?
提问者:u/zxstudiogame
点击查看回答
UGUI Text.text赋值后,Debug.log(Text.text)可以显示正确值, 但在UI文本显示框和屏幕上都无显示,有可能是哪方面的原因? 试了下,用TextMeshPro在同样的情况下不会出现这个问题。
提问者:Kenshin Belong
答主liming zhang: 感觉是一个bug,需要提供工程和unity版本号给Unity调查一下
请问各位大佬,我想做个挂机的系统, 就是离线后再次登录会有收益。现在遇到两个问题,问题1:我们unity怎么判断什么时候离线呢,我想取网络时间不是本机时间; 问题2:如果我要做弱联网,这种情况保存数据到服务器在什么情况下触发保存,或者保存的频率如何;请大佬帮忙指导一下
提问者:吱唔咿呀
答主地心:有个退出程序自动调用方法,关键字Quit
请教前辈们一个问题。 很旧以来遗留下来的问题了。 我是做PC端软件开发的,遇到一个问题就是需要调用 Window窗口交互。 引用了System.Windows.Forms库,会导致IL2CPP不能正常打包。 只有将脚本版本切换为 3.5 才可以IL2CPP打包。切换为 /或者是用Mono 才可以 请教前辈们一个问题。 很旧以来遗留下来的问题了。 我是做PC端软件开发的,遇到一个问题就是需要调用 Window窗口交互。 引用了System.Windows.Forms库,会导致IL2CPP不能正常打包。 1:只有将脚本版本切换为 3.5 才可以IL2CPP打包。 2:或者是用Mono 才可以(但Mono和3.5 在正式发布项目时,肯定没有IL2CPP好) 脚本版本 4.0 如何才能保证正常调用window窗口交互(或引用System.Windows.Forms库)的情况下,出IL2CPP包。 Baidu都搜遍了,方法都试了 都是报错。 从2017到2019都不行。这问题已经有一年多了 新建一个空项目,只要包含System.Windows.Forms ,并且Scripting Runtime Version 为 .Net4.x。就一定会报错。报错原因:ArgumentException: The Assembly Mono.WebBrowser is referenced by System.Windows.Forms ('Assets/StandaloneFileBrowser/Plugins/System.Windows.Forms.dll'). But the dll is not allowed to be included or could not be
提问者:毋桐
答主liming zhang: Unity目前还不支持System.Windows.Forms,建议通过其他方式实现。
最近个人在开发插件,想在脚本里调用audio mixer的功能,但是好像连动态添加删除group这样的接口都没有, 试了playable也没法挂载mixer,明明animator是可以通过UnityEditor.Animations.AnimatorController.CreateAnimatorControllerAtPath 来生成并对内部进行修改,请问audio这边没用相应的API吗? 我是想在脚本里替代audiomixer窗口的功能,实现新建删除group和snapshot等,而demo里都只是简单的在脚本里声明public然后挂载, 本质还是得在audiomixer设置,所以达不到我想要的功能,而animation是有API来脚本自定义一个animator的,audio我却没找到,不知道该怎么解决 难道我该反射出audiomixer窗口构建时的方法去调用?
提问者:Lijunsen
答主Pengyue Li:https://bitbucket.org/Unity-Technologies/audiodemos/src/default/ 这有个官方demo示例,可以参考下
请问有没有大佬处理过这种问题:一个整体模型,使用默认的Standard Shader, 如果渲染模式用Opaque,模型显示就是正常的,如果渲染模式使用Transparent, 模型的内部物件就显示到外层上面了,而且这时候alpha还是1呢,按理说不应该出现透明的
提问者:ZQY
答主liming zhang: 这种是Alpha半透明乱序的问题。因为Alpha Blend要求所有三角面严格按照从后往前画才能保证渲染效果的正确。对多个简单半透明模型,可以根据模型到相机的距离进行排序。但是对单个复杂面数的模型,直接渲染不能保证三角面的渲染顺序,就会导致效果出错。这种情况或者考虑在Transparent模式下开启depth write,只渲染最前面的一层半透明面;或者可以使用一些复杂的OIT算法,可以参考这里https://en.wikipedia.org/wiki/Order-independent_transparency
我在使用unity的 Terrain paint Trees笔刷,发现比较扁平的植被,刷在地形上,是一直保持平行的, 没有跟随地形的法线方向去走,是否有参数可以调整?在默认的植被参数中,我没发现有可以调整这个属性的参数。
提问者:scottxie
答主liming zhang: Unity Terrain目前不支持沿法线方向种树,因为现实世界中树都是沿竖直方向向上生长的。不过使用Polybrush是可以在普通mesh上面种树的,可以沿法线方向。

请在群聊组“技术交流”中提问。

  • 移动端群聊:Unity Connect App - 群聊 connect.unity.com/connectApp/download
  • 网页版群聊:connect.unity.com/messages
  • 编辑器内置群聊Messenger:connect.unity.com/p/bian-ji-qi-qun-liao-gong-ju-nei-ce-ban-shang-xian
Tags:问答
Website:unity.cn
Unity社区简报
15
Contributors
梦想在路上的Jeremy
从像素风开始 - Programmer
Comments
xunshu
Staff
4 months ago
根据第三问的回答给出的链接不对啊
更新了,多谢
0
根据
4 months ago
第三问的回答给出的链接不对啊
0
Dncry
4 months ago
"请教一个性能问题 3D动作项目 用的是Unity最新的2019.2.6f1 场景无光照,没有烘焙 ",那个回答的链接贴错了吧?
0