CMDCam

CMDCam

646k Downloads

[1.18] CMDCam not compatible with Minema Resurrection

Peca21 opened this issue · 16 comments

commented

When I set a path in CMDCam and type /cam start and at the same time start recording with minema, player will start teleporting around (lagging) like there is no minema mod. When flying without cam start (manually), recording looks fine with no teleporting (CMDCam is still preset).
Video and minema issue thread: pupnewfster/minema_resurrection#1

Forge 40.1.0
CMDCam 1.5.27
Minema 1.0.0

commented

The possible solution to this is to rewrite the code responsible for camera traversal to rely on ticks instead of real time (so instead of calculating how much time has passed, the camera’s position would be calculated based on how many ticks have passed, which should be incremented from update loop).

commented

I think there are some downsides to use the ticks instead of real time. Especially if you are running on a server where tick rate is often not as high as it should be.
I could add an option for tick based timing. But even better would be an integration with Minema Resurrection, right? CMDCam could start and stop the recording when playing (and make sure to run the path based on ticks).

commented

Oh right ... fixed it. Sorry for all the trouble. Hope it works now.

commented

Hm ... in theory the cam is tick based once it detects Minema. Can you setup a path, record and upload it here, once in the old version before the integration and once with the newest update. Because I got no idea what is going wrong.

commented

CMDCam now runs without crashing and the start/stop integration is fantastic; however, there still needs to be syncing to ensure that the pathing is frame-time based to hit the target fps and path duration otherwise you end up with clips that look like they're fast forwarding (depending on how fast your PC is).

I am no too familiar with what is needed to accomplish this so I can only suggest looking at how BauerCam did it.

If you'd prefer this to be added in a separate issue as a suggestion, let me know. 🙂

commented

I would love to have CMDCam sync with Minema, espeically when using engine speed modifications. Syncing the output fps to engine speed was the only reason I ever used Minema/Bauercam back in the day. Doing something like /cam start 30s and only getting 7s of video isn't ideal. 😛

commented

The newest version of CMDCam has support added. Would be quite happy if you could try it out and see if it works (untested).

commented

Just a quick crash log for yah: https://pastebin.com/isCaQjTX

Crashes on /cam start.

commented

@CyanideX ok, makes sense. Thanks for you response!

commented

Any news @CyanideX ?

commented

Here is a testing clip that is 5 seconds long but should be 10 seconds long because game is still not paused during lag, making it faster
https://streamable.com/887znr
CMDCam_FORGE_v2.0.7_mc1.19

EDIT: I just noticed i have syncMinema: false in the config, does it have to be true for engine sync or is this used only for play pause sync?

commented

Yes. It needs to be set to true. Can you try with it turned on?
Also update CreativeCore there was an issue with loading configs.

commented

Same thing with true sync
https://streamable.com/6vdj1s
I set the duration to 10s but the video is 4 secs
CreativeCore_FORGE_v2.7.1_mc1.19.jar - latest on curseforge

EDIT: but the video is not lagging or skipping like it was when I first reported this, it's just faster
Also when recording, frame rate drops because of minema, but the path itself still takes 10secs in game

commented

@mchorse how does Minema affect the ticks? Seems like the synchronization is smooth but still the timer is off.

commented

I appreciate the time you spent looking into all the issues I submitted and for the quick replies to my questions.

Unfortunately, at the moment, I don't have any plans to test this further. After discussing a few ideas with Minema's dev, BauerCam has since ported and integrated directly into the latest version of Minema. Because BauerCam was designed specifically for Minema, it just made sense to keep them together as a single package.

commented

Added support for it in the newest version. Needed some more redesign to make it work.