Please use this topic for feature requests!
A lightweight yet highly customisable pngtuber app · By
Hi folks, I'm temporarily locking this topic for now, to avoid myself getting burnt out thinking about all these cool things I wanna do and don't have time for! Once I catch up with the suggestions, I'll unlock again. Thanks for understanding!
Hello! More of a question than a suggestion but do you plan on making a linux version? It works quite well through wine without using too much cpu/ram and the hotkeys problem is also not that big for my purposes so it's not really that important but having a linux option would be just nice (if it's not too much of a hassle to port it for linux ofc).
I agree, I'd love to make a Linux version. Unfortunately I don't have a Linux machine to test on, and the code currently relies on a lot of windows-specific things so it would be a big task to make it platform-independent.
There are more and more people asking for this though, so I'll start to seriously consider doing it.
Thanks for the suggestion!
Thanks for the suggestion! They're not supported by the framework I'm using, so I'd have to work out my own way of decoding and displaying them. If i can figure that out, then I'll do it!
In the mean time, you can use ezgif.com to split all of those formats into a sprite sheet that RahiTuber can use.
Some kind of Streamer.bot integration would make this an insanely powerful option for me. Though it's already my favourite for PNGtubing/VTubing by far.
I'm wondering as well if there are plans to add anything else in terms of the types of physics available? Some squash + stretch options would be super neat. Though idk how difficult that would be to implement. I do already like what we have as is
Somehow I didn't notice the folder feature before and it's a gamechanger for the erase blend!!! I've just realized an inverted version of that blend called "Alpha mask" or something like that would be enough to make it more functional (and it would hopefully be easier to implement? I have no idea)
Edit: Nevermind, I thought folders would limit the layers that the erase blend would affect. I guess that would be its own request 😓
So I've been investigating SFML a bit and:
-Clipping masks have been requested for a long time and they seem to be coming to SFML3. The only workaround I found (if I'm not mistaken, It's all a bit confusing for me) is to make a custom GLSL shader. I also found this but I can't fully understand it.
-There's this tutorial that I think could be used to improve the layer blends to limit where to apply shadows, highlights, erase blend, etc. I think a checkbox for folders to turn them into groups individually would be useful.
Is any (or both) of these things possible?
Also, an unrelated request. Can we get an option to make the mouse tracking movement limits be elliptical instead of rectangular? Corners are a bit broken when using it for circular things like eyes or faces, although right now it's perfect for effects similar to SPUD tablet.
Either way, awesome job. The rate at which you add new features is awesome ^-^
Thanks! Yeah, I can definitely do custom shaders, I've done those in SFML before. It's just a case of when I get time to implement it. Clipping layers (especially inside groups etc) will need a slight rewrite of the way layers are currently rendered.
I think I see what you mean about the mouse tracking. I'll add an elliptical option when I can!
https://rahisaurus.itch.io/rahituber/devlog/831991/update-2024-11-11-v115-more-c...
Elliptical mouse tracking is done!
Hey, first of all, great job on Rahituber, and thanks for sharing it with everyone! If I had a suggestion, (besides spout capture as someone mentioned above) i'd suggest support for the f13-f24 keys, and maybe virtual keys? Just to make sure there's plenty of hotkey options that aren't perhaps already being used by another program. Thanks again!
I was SO stoked to find out about mouse tracking!!!
one thing I was wondering about would be the ability to toggle off all of the mouse tracking with a button somewhere in global settings? in case we want it off for a certain game or activity where maybe there's a lot of mouse movement? I'm planning to use the mouse tracking to make eyes that follow my cursor, slash put together an animated avatar that I can use as a puppet in just chatting scenes. I'm so excited :)
https://rahisaurus.itch.io/rahituber/devlog/831991/update-2024-11-11-v115-more-c...
I've added both the things you suggested, thanks for those!
There maybe is a different way to facilitate what i'm wanting, but would there be a way to have states also have a show/hide on exiting a state? Alternatively, maybe have states cause a layer to also switch from one idle picture/spritesheet to another, or like toggle a layer between idle and blink in addition to show/hide for a state?
The use case here is that I'm making a tuber whose finger movements will mirror my own on a gamepad controller. It's working pretty well! the gif is me actually moving my thumb and not animation, these are all when-held states corresponding to key events with controller. But can you see how my thumb zips back to the joystick after pressing a button?
Right now the neutral state of my right thumb is resting on the analog stick. I want it so that when I trigger a state for one of the face buttons, I want my thumb's resting picture to change from the pic of it resting on the analog stick to resting over the buttons (like how my left thumb is resting on the dpad) until I use the stick again, then I want to switch the thumb to be resting on the stick instead of over the buttons.
Is there a way to potentially do this already with the current states?
It should be possible. If you set up your layers so that only the neutral position (the finger resting over the buttons) is visible before any states are active, then it should revert to that point when those states deactivate again.
To help you understand the expected behaviour:
Internally, the default visibility of every layer is saved and updated whenever there are no states active. The States are added to a stack when they're activated, so it starts from the defaults, then adds each State effect one by one in order of activation. When the State is deactivated, it's removed from the stack, so it should stay at default when no states are active.
If that's not happening for you, let me know because that would be a bug.
For example, If do like you suggest and have my only neutral thumb position when no states are active be where it's resting over the buttons. The movement with the buttons looks better, but if I do something like move up to down on the joystick (and over the dead zone where no states are active), the thumb movement is much less natural b/c the ThumbAnalogNeutral isn't made visible
So is there a way I could make the ThumbAnalogNeutral layer visible and the ThumbBtns layer invisible after I use the stick, and then reverse when I press buttons?
You could have two "permanent" states: one activated by the thumbstick, to show rightThumbAnalogNeutral. (you'd currently have to have that duplicated for each axis direction but I will hopefully add an "any axis" trigger soon). The second permanent one would be activated by the buttons to show rightThumbBtns.
The thing with "permanent" states is that they alter the default visibility, so they would go behind any "while held" states and appear once they deactivate.
Either that, or you could have all the current states being "permanent" instead of "while held", which would mean the thumb just stays in the last position it was at, but you wouldn't have either idle pose then.
It's definitely not ideal setup, but that's currently how it could be possible. I like your idea of the "after" trigger, I'll see if I can add something like that soon!
I went out for walk and I think I came upon a solution similar to what your taking about! So the Folders! They also show up in the list of layers that you can show/hide/no change for the states. I made folder called rightThumbNeutral, I put both the neutral poses in there. Now instead of hiding specific neutral thumbs for all those when-held states, I just hide the folder. Then as you suggested, I made permanent states for the buttons/stick, those will then show/hide the specific neutral thumb. Viola! Now I can hide the neutral thumb while also changing neutral thumb
Idk if the folders are actually necessary, but it helps for me to figure it out anyway. Thanks for helping me think through this!
right now, I'm using face buttons/dpad to switch from resting on stick to resting on buttons, and the just u on the sticks for the reverse, which suits most of my purposes. An "Any Axis" trigger would be appreciated though
Heyo! Loving the software so far, I shared some thoughts and ideas in a video, which I'll highlight below.
I'd love if you added a way to enable a constant movement of all parameters (scale, rotation, position, etc) outside of the breathing mechanic. It'd work similar to an LFO in music, where you have a way to achieve constant motion. In the test avatar I made in the stream that the video was taken of, I was hoping the cloudy layers I have would be able to have a rotation while being unaffected by the breathing (or rather in addition to it), but I found no such option. I can imagine a plethora of ways that this can be made useful; Even different patterns of LFO type things could be fun (a sine wave going smoothly from 0-359 degrees and resetting, a square wave or step sequence going from 0 to 180 to 0 again or in whatever steps people desire, etc!
Other things I mentioned probably belong better in the bugs/glitches category, so I'll post there as well!
Hello Rahi my goat! I'm working on setting up a new model in rahituber and I'm trying to keep track of some of the things that come to mind as I go. They're a couple things that I don't think are super necessary but would be cool to use in the future.
The first thing would be something along the lines of having it so that we can copy and paste Motion Inherit data to other layers. That and/or maybe able to apply the same settings as you get in layer settings (Motion Inherit, Transforms, Screaming etc) to an entire folder? (The transforms would be the more important part in my case)
There was something else that occurred to me but I'm unsure of how to word it in a way that makes sense - I also don't know if it's realistically possible - but a way to trigger a transformation with a hotkey press, like in States? An example would be making the character jump by pressing 'up" (and having the physics still work with it somehow). I know there's probably a way to cheese that through showing/hiding layers that have the transforms I need applied to them but then I don't get the physics! <- Super not necessary btw but I think it would be neat
Thank you for everything that you do! I'm a huge fan of the software!
I've been thinking of removing that limitation actually, so it's good to know somebody wants it. I originally did it to avoid complexity in my program but that's a lost cause at this point 😅. The snag is I now have to retain the existing functionality by default so I don't break anyone's existing setups, so it'll have to be an option somewhere.
Hello again!
I was wondering if a "soft body deformation" feature would be possible. Making tentacles/tails is a pain right now, if I had to duplicate and move each part of it I'd have nightmares. The result is a bit rough too, but that might be my fault, I couldn't find info or examples and mostly improvised.
Thanks again for everything! ❤
I understand, no worry and thank you I will look into that (I am no expert either ahah) and I will keep updated here if I can make it work :)
EDIT: I got it launching with Wine indeed ! But I can't get the microphone working... It was so close ! Usually I get a prompt from Mac OS to authorize an app to use microphone but it's not showing here, so I don't know if there is a way to add manually the authorization... Or maybe it's a different issue...