CreativeMD / CMDCam

GNU Lesser General Public License v3.0
37 stars 21 forks source link

[1.18] CMDCam not compatible with Minema Resurrection #62

Closed Peca21 closed 10 months ago

Peca21 commented 2 years ago

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#1

Forge 40.1.0 CMDCam 1.5.27 Minema 1.0.0

mchorse commented 2 years ago

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).

CreativeMD commented 2 years ago

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).

CyanideX commented 2 years ago

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. 😛

CreativeMD commented 2 years ago

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

CyanideX commented 2 years ago

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

Crashes on /cam start.

CreativeMD commented 2 years ago

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

CyanideX commented 2 years ago

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. 🙂

CreativeMD commented 2 years ago

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.

CreativeMD commented 2 years ago

Any news @CyanideX ?

Peca21 commented 2 years ago

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?

CreativeMD commented 2 years ago

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.

Peca21 commented 2 years ago

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

CreativeMD commented 2 years ago

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

CyanideX commented 2 years ago

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.

CreativeMD commented 2 years ago

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

CreativeMD commented 10 months ago

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