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联合仿真中所需要主要的代码调试的问题以及一些经验。本文比较简单,属于是水文。

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

相关推荐
玄同7654 分钟前
Trae国际版与国内版深度测评:AI原生IDE的双生花
ide·人工智能·ai编程·cursor·ai-native·trae
Jackson@ML7 分钟前
[Kimi重磅出击!]用Kimi Code智能高效开发Web应用程序指南
ide·python·kimi code
猿小猴子4 小时前
主流 AI IDE 之一的 OpenCode 介绍
ide·人工智能·ai·opencode
Pyeako4 小时前
opencv计算机视觉--DNN模块实现风格迁移
python·opencv·计算机视觉·pycharm·dnn·预处理·风格迁移
量子炒饭大师13 小时前
【一天一个计算机知识】—— VScode 极速搭建:打造你的全能代码武器库
ide·vscode·编辑器
gagaga....14 小时前
解决claude code for vscode对话返回 api error: 403 {“error“:{“type“:“forbidden“,“message“:.....的问题过程
ide·vscode·编辑器
hjx05101114 小时前
VSCode与Anaconda安装全攻略
ide·vscode·编辑器
小小管写大大码14 小时前
如何让vscode变得更智能?vscode接入claude实现自动编程
运维·ide·vscode·自动化·编辑器·ai编程·腾讯云ai代码助手
Serendipity_Carl1 天前
1637加盟网数据实战(数分可视化)
爬虫·python·pycharm·数据可视化·数据清洗
WarmSword1 天前
mac上用cursor/vscode调试root权限进程
c++·ide·vscode·macos·mac