Unity的BUG记录(持续更新)

bug1:生命周期函数的Start函数

理解unity生命周期函数的执行顺序是一件重要的事情,但是看下面这张图容易记忆错乱认为当对象从隐藏到活跃时调用OnEnable函数之后还会再调用Start函数。

反正笨狗我就是被自己真的蠢到了。

但是在游戏运行期间,如果将游戏物体从活跃状态转换成隐藏状态会调用OnDisable函数。如果再从隐藏状态转换成活跃状态Unity会自动调用OnEnable函数,但是OnEnable函数执行完之后不会再次执行Start函数。总之,Start函数和Awake函数只执行一次,OnEnable函数、OnDisable函数在游戏物体每次激活、失活时调用。

记忆生命周期函数执行顺序的同时也要注意执行时机。

bug2:摄像机的Transform组件位置设置错误

这个错误比较容易在2D游戏中遇到,就是一般摄像机的位置是如下图的:

重点在Position的Z轴位置,默认是-10

如果不小心把摄像机的位置修改了,比如红笔圈起来的位置被改为0,那么就会发现摄像机拍不到我们在场景中设置的任何物体。理解起来的话,就是想象自己拿着摄像机拍摄东西,如果需要拍摄的物体在摄像头后方的位置,那么摄像机自然拍不到我们需要的东西了。

bug3:写完脚本后忘记挂载到对应物体或者忘记给脚本属性赋值

这个也是非常容易犯的错误,特别是忘记给脚本一些属性赋值,会造成没有出现效果或者报脚本属性值为空的错误。

为了减少这种低级错误,我们写完代码之后要注意给物体设置好脚本。

bug4:使用cinemachine做摄像头跟踪效果的屏幕边缘限制镜头移动中添加的碰撞体应该是PolygonCollider2D

具体过程参考下面链接

【游戏开发实战】2D游戏摄像机镜头跟随,屏幕边缘限制镜头移动(使用Cinemachine组件)_unity相机添加边缘限制不动-CSDN博客

里面给CinemachineConfiner组件的Bounding Shape 2D添加PolygonCollider2D组件,好像必须是PolygonCollider2D组件,换成其他collider就无法达到这个效果。不知道是哪里出现了问题,我以为是任何类型的collider都能实现限制镜头移动范围的效果。

后记

这篇文章主要是记录自己学习unity遇到的一些bug,仅供提醒自己的作用。

也会不断记录新的bug

### 回答1: Unity 的 SRDebugger 是一个非常实用的调试工具,它提供了许多强大的功能,以帮助开发者进行游戏的调试和测试工作。 首先,SRDebugger 提供了一个可自定义的调试窗口,用于显示各种有用的信息,如帧率、内存占用、时间缩放等。开发者可以根据自己的需求,自定义这个窗口的布局和显示内容,以便更方便地监控游戏的运行状态和性能。 除了基本的调试信息,SRDebugger 还提供了一些其他的强大功能。其中一个是调试命令,开发者可以通过在调试窗口的命令行中输入命令来实时修改游戏的变量、执行特定的操作,甚至是运行自定义的脚本。这对于快速进行测试和调试非常有帮助,可以节省开发时间。 另一个有用的功能是内存和性能分析器。SRDebugger 可以帮助开发者分析游戏在运行时的内存占用和性能瓶颈,为优化和改进游戏的性能提供参考。开发者可以通过查看内存分配、垃圾回收等信息,找出潜在的问题,并进行相应的优化,以提升游戏的运行效率。 总之,Unity 的 SRDebugger 是一个功能强大的调试工具,它提供了丰富的功能以帮助开发者进行游戏的调试和测试工作。无论是监控游戏的性能,还是实时修改变量和执行操作,或是分析内存和性能瓶颈,SRDebugger 都能帮助开发者更高效地进行游戏开发工作。 ### 回答2: Unity SRDebugger是一个在Unity编辑器和游戏运行时中调试和监控工具。它提供了一套用户友好的界面,用于显示和修改游戏中的各种变量、检查性能指标和调试问题。 在游戏开发过程中,我们经常需要监控游戏中的各种变量,比如角色的生命值、能量、得分等等。SRDebugger提供了一个轻松的方式来显示和修改这些变量的值。通过简单的代码注释,我们可以将需要监控的变量标记为可监视的,然后在运行时使用SRDebugger的界面来查看和修改这些变量的值。这使得我们可以方便地调试游戏中的逻辑和变量。 除了变量监视,SRDebugger还提供了一些检查性能指标的功能。比如,它可以显示游戏的帧率、内存使用情况和CPU使用情况等等。这些信息对于优化游戏性能非常有帮助,我们可以通过观察这些指标来找到潜在的瓶颈和优化的空间。 SRDebugger还包含了一些其他的调试功能。比如,它可以显示场景中的对象层次结构,方便我们查看和调试场景中的物体关系。它还可以显示Unity事件和调用堆栈,用于查找问题的根源。它还提供了一个全局的日志记录器,方便我们在游戏中查看和筛选日志信息。 总的来说,Unity SRDebugger是一个功能强大的调试和监控工具,为Unity开发者提供了很多便利的功能。它可以帮助我们调试和优化游戏的逻辑和性能,提高游戏开发的效率和质量。 ### 回答3: Unity SRDebugger是一个非常实用的调试工具,可以帮助开发者在Unity编辑器环境下快速进行游戏的调试和性能优化。 首先,Unity SRDebugger提供了丰富的调试功能,可以帮助开发者查看并修改游戏中的变量值,例如场景中物体的位置、旋转角度等等。这样可以帮助开发者快速调试游戏逻辑,找到错误并进行修复。 其次,Unity SRDebugger还支持查看游戏中的日志信息,包括普通日志和错误日志。这对于定位游戏中的bug和排查问题非常有帮助,开发者可以快速找到错误的来源并进行修复。 除了调试功能,Unity SRDebugger还提供了性能优化的功能。它可以显示游戏中每个物体的性能消耗情况,包括渲染消耗、CPU消耗等等。这样,开发者可以从性能方面进行优化,提高游戏的帧率和流畅度。 另外,Unity SRDebugger还有一个特别有用的特性,就是可以在游戏运行时进行修改参数。开发者可以通过它来修改游戏的各种参数,例如游戏难度、音量大小等等。这样可以帮助开发者在测试游戏时快速修改参数,使得测试工作更加高效。 总的来说,Unity SRDebugger是一个非常实用的调试工具,可以帮助开发者在Unity编辑器环境下快速进行游戏的调试和性能优化。它的丰富功能和易用性使得开发者能够更加高效地进行游戏开发工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值