UE4与pycharm联合仿真的调试问题及一些仿真经验

文章目录

ue4与pycharm联合仿真的调试问题

前言

因为在实验中我需要用到py代码输出控制信息给到ue4中,并且希望看到py端和ue端分别在运行过程中的输出以及debug调试。所以,即使ue4中可以直接调用py代码执行,我也没有利用,同时我也不会用。

尽管我通过TCP通信将ue4与py端进行了通信,在代码执行过程中如何debug仍然是一个让我手忙脚乱的问题,有时候需要重新运行多次,才可以轻松地在想要的代码位置进行调试。

ue4端的debug过程

在ue4端的debug过程比较简单,在运行模拟游戏/仿真之后,选中一个调试对象,即可在蓝图中看到信息流的传递并在对应的引脚上停留,会输出实时的信息,从而帮助我们进行debug的调试。

同时,如果编写的蓝图有错误,在程序运行结束之后,或者编译时就会指出错误所在的地方,因此在与py端的联合仿真中,ue4的debug调试还是比较简单和直观的。

pycharm端

因为这个工程暂时只需要py文件和ue4联合仿真就能够完成任务,我使用的IDE是pycharm。本来在pycharm上进行调试也是很简单的事件,只需要打断点慢慢debug就可以了。但由于ue4端的信息是实时在运行着的,因此如果打断点的话,下一次的ue4端的输入信息会与上一次的输入差别较大,这也不是正常仿真下会出现的情况。

因此在进行pycharm端的仿真时应当首先进入"调试"状态。但该状态下是不存在断点的,也就是说代码是能够畅通无阻的运行的。当你想查看某一部分目前的代码运行是否按照你的预期,这时候应该按照以下步骤进行调试:

  1. 暂停ue4端的仿真,使得ue4端的所有actor、Pawn等的对象状态不再变化;

  2. 由于ue4输出的状态信息是不变化的,此时对应py端执行代码得到的结果也应该是不变的。打断点让代码运行到你希望断点的位置。

    从而能够按照正常pycharm中的代码调试进行调试。

    同时还要注意的是如果ue4和py端中有用到时间,并且时间没有同步的状况下,要注意到调试对两端运行时间所带来的影响,避免在调试过程中得到的信息较真实运行时有所不同。

一些仿真经验

经验总结:

  1. 首先应该仔细检查数值仿真与3D仿真中的代码是否一致,尽量能够在3D仿真的代码中复现数值仿真所得到的结果图;

  2. 其次应当注意到数值仿真中是右手坐标系 ,虚幻引擎是左手坐标系,因此虽然在算法上二者不需要进行修改,但在某些方面二者是不相同的;例如顺时针和逆时针

  3. 绕Z轴旋转的角取值范围是 − π , − π -\\pi, -\\pi −π,−π,且以X轴正半轴为起始,以Y轴正半轴为增加的方向,增加图以更好地说明。

  4. 在3D仿真中,对于控制参数可能更加敏感,需要小心调整;

  5. 要注意python的数组起始是0索引,MATLAB是1;

小结

本文主要简单讲述了一下在UE4和PyCharm联合仿真中所需要主要的代码调试的问题以及一些经验。本文比较简单,属于是水文。

如果您觉得我写的不错,麻烦给我一个免费的赞!如果内容中有错误,也欢迎向我反馈。

相关推荐
紫_龙3 小时前
window 维护多版本Android studio
android·ide·android studio
曹牧5 小时前
Eclipse 批量文本替换
java·ide·eclipse
vistaup9 小时前
Android studio 历史版本
android·ide·android studio
Duo1J11 小时前
【UE】Slate 编辑器工具开发03 - 节点编辑器 (EdGraph)
ue5·编辑器·游戏引擎·ue4
ikun_文13 小时前
Python进阶—函数编程
python·pycharm
这就是佬们吗13 小时前
Python入门⑤-异常处理、文件操作与实战项目
开发语言·数据库·python·算法·pycharm
游戏开发爱好者814 小时前
iOS开发IDE有哪些 Xcode 和 快蝎 轻量替代方案
ide·vscode·ios·个人开发·xcode·swift·敏捷流程
张太行_14 小时前
vscode在open folder如何设置默认路径
ide·vscode·编辑器
今心上15 小时前
关于d2l中train_ch3以及softmax中图在pycharm中显示不出来的解决方案
深度学习·机器学习·pycharm
qq_452396231 天前
第二篇:《Go 开发环境搭建:SDK、IDE、Module 与 Hello World》
开发语言·ide·golang