mlgudi / rl-plugins

1 stars 0 forks source link

Bind camera movement relative to character #7

Open pettrs opened 3 months ago

pettrs commented 3 months ago

Currently, all camera movement is fixed to the map, would I be able to have them all be relative to the character? it doesn't have to follow the character, but move the point of focus to the current tile of when the sequence is started.

pettrs commented 3 months ago

my idea, also related to the other issues is to have something like this start to play when I go afk for a bit

https://github.com/mlgudi/rl-plugins/assets/75093127/ada2d05a-bf29-443f-8a81-2d0b766ef814

pettrs commented 3 months ago

to not spam you with issues, some features i think would be useful would be

mlgudi commented 3 months ago

I should mention, I've since moved to this repo for further work on this plugin (I haven't yet updated the plugin to use it, but the issues and code on there are the most up-to-date): https://github.com/mlgudi/keyframe-camera/issues

To address your suggestions one at a time:

Relative positioning of sequences

One of the changes I have made in the above repo is taking the local scene coordinates and making them relative to a world point. This allows the precise positioning within a scene to be preserved, even when the specific region loaded is not quite the same, and it will also allow for easier relative positioning of sequences.

The main benefit of this will be relocating/rotating sequences easily after they are created. This isn't strictly related to your suggestions, but is more of a pre-requisite worth highlighting.

Binding to player

Binding to player, as well as other entities, is something I do plan to implement soon (I referred to it as parenting): https://github.com/mlgudi/keyframe-camera/issues/5

This would (hopefully) also be possible in terms of the focal target - meaning that you could have position of the camera change while tracking to/looking at a chosen point/entity.

The main constraint here is more on the UI side than anything else. I am considering making a pop-out window for more freedom with these additional features, as the rather limited vertical UI of the side panel is cramped.

Disable on client interaction

Good suggestion and easy enough to implement. I shall get that in for the next version.

The only caveat to any of the above is that I want to be mindful of possible abuse. This was one of the concerns which held back camera setting in the RuneLite API for quite some time, so I want to ensure none of these changes could enable unfair/malicious use once implemented.

I believe I addressed your other suggestions in the other issues you posted. Thanks again for the input, it is appreciated. I am a bit busy working on an upcoming series at the moment, but hope to get back onto this project for a much improved version in the near future!