Status
Not open for further replies.

Rhino

~Inactive~
Veteran
Joined
Feb 28, 2017
Messages
482
Reaction score
795
First Language
English
Primarily Uses
RMMV
Hello! I’d like to request a plugin to make talking character busts possible! The basic role of this plugin is to show a looping animation for as long as text characters are being drawn in the message window. There’s no ‘vanilla’ way to do this with eventing.

I think talking busts would be an awesome addition to MV as;

1) They add more to the world/characters, the visual impact from even such a small animation is huge!

2) They make it really clear to the player who is talking, it’s especially handy in visual novel style scenes where two or more characters might be shown on screen at any one time.

To allow for the widest range of use and compatibility, this plugin should be designed for use with busts made using a show picture event, rather than being incorporated with a bust plugin. (e.g. Galv’s Message Busts)

Example:
giphy.gif


Basic features of this plugin:
-Shows a looping animation above pictures whilst text is being drawn in the message window. Must be compatible with the default text codes \., \|, \!, \>, \<, and if the player were to force all the text to appear at once by pressing enter. Should also be compatible with Yanfly’s message core \w[x] and fast forward feature. (Allows the player to skip text at the press of a button.)

-User chooses the images they wish to loop, and the co-ordinates to show the animation at. There should be no defined frame number, to allow the freedom to make simple or more complicated animations.

-Space for multiple animations to be set up (for other characters.) I would suggest at least 30. (A single character may need more than one animation for default talking vs shouting, different poses etc)

-Each animation can be turned on and off easily via switch, variable, or plugin command (ie an intuitive way to make two character busts talk in conversation)
Other Recommended Features:
-The ability to define the closed mouth image that shows once the speech is finished- allows for a simpler way to have a character smile or frown at the end of the animation, rather than having to make two animations with different closed mouths.

-The ability to show more than one looping animation at once- adds functionality for this plugin to be more than just talking busts, by allowing room for other character animations (e.g sweat drops, sparkles etc)
Optional, but cool:
-The ability to turn the animation on/off during a message (by adding some sort of code within the show text command.)

-Ensuring compatibility with Kino's Slow Text.
In Exchange for this plugin:
I will create simple speaking animations for the SF Actor Busts that came in the Extra Assets for MV to be used with this plugin. (Example given in the graphics to use whilst testing.) These will be released to the community free for use in commercial and non-commercial games.

I would be happy to create a little something for the plugin writer in exchange for their time. I am an artist with just under a decade of experience, so can assist in character art/design, sprites or generator pieces. Disclaimer: I have the most experience in drawing anime style characters, and less experience in pixel art. You can see examples of my art and pieces I’ve made for the generator in the spoiler below. If you’d like to see more, please send me a PM.
MV Pieces- My first attempt at a sprite and an original generator piece. You can find more by looking at my resources (linked in my signature.)
preview.gif jet.gif
Character Busts- (Left) One of the Examples I've made recently for my upcoming game! She's got a blinking animation, but I'd LOVE to make her talk! (Right) A bust I made in 2014 with a more advanced talking animation for lip syncing.
serasmall.gif classcivrismall.gif
Size has been compressed to fit the forum upload limit, so some quality has been lost.
Graphics to use whilst testing:
Body position: Origin: Center 627 x 239

Mouth positions: Origin: Center 602 x 215

Animation: Mouth closed, 1, 2, 3, Mouth Closed. Should be run at a fast frame rate.
SF_Actor1_1.gif
Download Here

The download includes two versions of the bust (with and without a starting mouth.) I wasn’t sure which would work better.
Plugins to look at for inspiration:
Iavra Gif - A potential way to create the animation if single images aren’t feasible.

Soul Sequence Message Bust - The inspiration for this plugin. Whilst Soul’s plugin gives functionality for animated busts, unfortunately it has no features to stop the animation once the message has been displayed, meaning the character just keeps talking on until player input. I know it doesn’t sound like much, but personally I find it makes the bust look sloppy, so between this and static images, I’d rather lose the animation. (Which is a shame, since it adds so much to the game!)

Thanks so much for reading!
 

Astfgl66

Veteran
Veteran
Joined
Jan 5, 2016
Messages
733
Reaction score
594
First Language
French
Primarily Uses
I wanted to take a look at this, but I can't get the google drive link to work.
Could you re upload it somewhere else, perhaps using the attachments system of the forum?
 

Rhino

~Inactive~
Veteran
Joined
Feb 28, 2017
Messages
482
Reaction score
795
First Language
English
Primarily Uses
RMMV
Thanks so much for even taking the time to look at this!! :kaoluv::kaoluv::kaoluv:

I've attached the zip to this message for you, hope it works.
 

Attachments

  • Talking Bust.zip
    353.4 KB · Views: 41

Astfgl66

Veteran
Veteran
Joined
Jan 5, 2016
Messages
733
Reaction score
594
First Language
French
Primarily Uses
Okay, I think I've got it.
Please download the plugin here on pastebin.

Spoiler'd below is my event in game to make two busts speak to each other, in case the plugin help file does a poor job explaining.
Code:
◆Show Picture:#1, SF_Actor1_1_Blank, Center (627,239), (100%,100%), 255, Normal
◆Show Picture:#2, mouth_closed, Center (602,215), (100%,100%), 255, Normal
◆Show Picture:#4, mouth_closed, Center (202,215), (100%,100%), 255, Normal
◆Show Picture:#3, SF_Actor1_1_Blank, Center (227,239), (100%,100%), 255, Normal
◆Script:$gameScreen.picture(2).setAnim(["mouth_closed","mouth_1","mouth_2","mouth_3"],5)
:      :$gameMessage.setAnim(2)
◆Text:None, Window, Bottom
:    :aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\.\.<br>
:    :bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\|\|<br>
:    :cccccccccccccccccccccccccccccccccccccccccccccccccccc<br>
◆Script:$gameScreen.picture(4).setAnim(["mouth_closed","mouth_1","mouth_2","mouth_3"],10)
:      :$gameMessage.setAnim(4)
:      :$gameMessage.removeAnim(2)
◆Text:None, Window, Bottom
:    :aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\.\.<br>
:    :bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\|\|<br>
:    :cccccccccccccccccccccccccccccccccccccccccccccccccccc<br>
 

Rhino

~Inactive~
Veteran
Joined
Feb 28, 2017
Messages
482
Reaction score
795
First Language
English
Primarily Uses
RMMV
Sorry for my late reply!

I got round to testing this, and it works amazingly!!!!! :kaojoy: The way you've set it all up is great (I had it in my head that all the animations would have to be made through plugin parameters) but this way is so much easier! I love the customisable frame rate too, that's a great feature to have!

I tried it with two busts which works great as well. I've attached SF_Actor1_2 if you'd like to see it. I've used her x at 156, and width -100% to flip it over. To make the resources easier to use, I decided to leave the mouth the same size as the body, so you don't have to fiddle with setting a different position for the body and mouth.

It's working with Yanfly's Message Core, but not Kino's Slow Text (that was an optional compatibility though, so it's ok.)

The only things I noticed is that \> doesn't work. It'll play the animation once when you're using it. Again, not the end of the world. The animation can always be removed beforehand.
I also I can't get $gameScreen.picture(pictureId).freeze(); to work though, I added it as a script before a message to test it but the mouth kept moving anyway.

When you think this plugin is ready to go in releases, let me know if you're happy to wait and I'll make the talking edits so they can all go together, else I can just add them into MV resources with a link to the plugin. :kaoluv:
 

Attachments

  • SF_Actor1_2.zip
    180.8 KB · Views: 16

Astfgl66

Veteran
Veteran
Joined
Jan 5, 2016
Messages
733
Reaction score
594
First Language
French
Primarily Uses
Glad it's working.
Freezing animations is intended for out of message use. The message synching acts by freezing and unfreezing as required when the message pauses or is writing, so it won't work. Remove the animation beforehand, and add it again after if needed. Edit3: with the new text codes, you can also desynchronize it from within the text box for the same effect.

I have no idea what the \> command does and I've never used it before, I'll check it.
Edit: the \> command doesn't make the animation appear at all in my tests, just like using fast forward. It's the expected behaviour.

No promises on compatibility with slow text.

I've made a small update, adding the possibility of setting a frozen image independant from the loop, and also removing it.

You can grab it over here.

I think releasing the plugin and the graphics pack together would be nice, so I'll wait until you're ready.

Edit2: I've also added the following text codes:
\fa[pictureId] : freezes the target picture animation
\ufa[pictureId]: unfreezes the target picture animation
\sa[pictureId]: synchronizes the target picture animation with the message window.
\da[pictureId]: desynchronizes the target picture animation with the message window and freezes it.

Other than compatibility with Kino's slow text, I think that's everything.
 
Last edited:

Rhino

~Inactive~
Veteran
Joined
Feb 28, 2017
Messages
482
Reaction score
795
First Language
English
Primarily Uses
RMMV
Ah ok, so if you just wanted to make an animation that isn't synced in time with the text (so, something like an emotion rather than a mouth flap,) you'd be using the freeze feature? That's neat ^^

I've just re-tried it, and the \> isn't actually doing it's job for me. :kaoswt2: I originally tested your plugin with a blank project, so I went and tried using \> on my others, and it's just displaying them letter by letter instead of all at once, so that's an error on my end. I just moved to a new computer so I'm running the trial of MV for now until I'm certain it's safe to use my code. :guffaw: I'll probably try reinstalling it all.

It's not a big deal if you can't get it to work with Slow Text. I thought it might be nice way to add some personality to the characters, but seriously, you've already done a fabulous job with this plugin! :kaoluv:

I really like the frozenbmp feature. I just finished SF_Actor_1_3 and he looks really weird with his mouth closed, so it's nice that he can still have a big grin at the end of the text.

I had to rethink my naming method, so the files are going to be called stuff like "SF_A1_1_M_Closed", "SF_A1_1_M_1", and for characters who already have an open mouth on their portrait, they get an extra file called _M_Default. Kind of a mouthful in itself. :guffaw: It might be helpful to change the plugin help to reflect this. (There's also a typo on 'animation' in the last line about \sa[pictureId] )

You were so fast making this I think it might take me a bit still just to finish the edits. (They're not hard to draw, but making it look good on the MV style faces is harder than I thought... Giving it my best shot though!) I'm aiming to have them done at least this time next week. I'm also going to have a crack at making a video to demonstrate how it can be used, so we'll see how that ends up....

After that, I can finally get to adding this in my game! :kaojoy:And of course, if there's anything you'd like me to make you in exchange, we can discuss it then :)
 

Astfgl66

Veteran
Veteran
Joined
Jan 5, 2016
Messages
733
Reaction score
594
First Language
French
Primarily Uses
Ah ok, so if you just wanted to make an animation that isn't synced in time with the text (so, something like an emotion rather than a mouth flap,) you'd be using the freeze feature? That's neat ^^
Exactly. Or if you wanted to create an animation only to start it further down the road in the message, you create it, freeze it so it doesn't show and in the message synch it via text code.

I've also added a final text code to to create an animation directly in the message box. It's a bit trickier to use, namely because it requires setting up a game variable, but it allows you to effectively store animations in game variables to reuse them later.

Link here.

I'm in no rush to release it to the public, so take your time.
All in all, I'd say it took me about 5h to do.
 

Rhino

~Inactive~
Veteran
Joined
Feb 28, 2017
Messages
482
Reaction score
795
First Language
English
Primarily Uses
RMMV
I charged ahead so I've finished the graphics. :kaoluv: With the exception of SF_Actor3_8 as she's not in the MV style so probably isn't that helpful to anyone wanting to use the rest of these edits, plus, she doesn't really have much of a mouth for me to go off. :guffaw:

I started the video whilst testing out the variable feature. It syncs well to the message box, but I noticed it doesn't un-sync, if that makes sense. I imagined that the animation would only continue inside the message you've used the code in, however it just keeps showing in all the following messages. I suppose you could always set the variable to 0 and remove the animation, but I'm not sure if you'd consider making this a default thing?
 

Astfgl66

Veteran
Veteran
Joined
Jan 5, 2016
Messages
733
Reaction score
594
First Language
French
Primarily Uses
I won't for the sake of consistency: It behaves just like every other animation.
The whole point is to store the animation in a game variable so you can use it throughout the game so I don't get why you would set it to 0. Just unsynch it with a text code or remove it when it's not needed.

I intended it so that you can store your party members animations and start them with a simple text code.
If your bust is image 1 and the animated part is image 2, thanks to that text code you just have to change the bust in image 1 via event commands and then use the text code to set the proper animation each time you change speakers, no need to type the whole script call again.
And also if further down the road in development you want to change the animation you won't have to go through all your events again, just change the set variable call.

I've added two small features: the ability to set a wait time in between animation loops, and the ability to set how many loops you want the animation to do (again, intended for out of message use). This concludes what I wanted to do with that plugin, so I'll just wait for requests ,if any.

When the video and the image pack is ready, send the links to me and I'll make a thread in releases.
 

Rhino

~Inactive~
Veteran
Joined
Feb 28, 2017
Messages
482
Reaction score
795
First Language
English
Primarily Uses
RMMV
Ah, ok I see! I thought because it's made with a variable, it'd need a different code to desynchronize it, but yeah, \da works. :kaopride:

So, am I right in thinking that if you're using the variable method, it's going to be automatically synced to the message window, unless you were to add in an edit to the loop? So you can just write \ca[x] and don't have to write \sa[x] after? (The note in the example is confusing me a bit, when I tried it \ca synced to the window as long as you didn't have anything set up for loopInterval /loopTimes)

I'm very happy with all the features you've got! Though, whilst I was speed running through the project I'm going to record for the video, I noticed something weird with animation synced to the message window. I'm not sure if it's only happening on my end, so I just thought I should ask.

If the player presses enter, it'll skip to the next text code pause, but if there's there's text after that, the mouth doesn't start moving again.
E.g. the line I'm using is "Oh. \.So, it'd come in handy for talking animations? \|That's what I'd use it for, \.\.at least." If you press enter whilst "So, it'd come in handy for talking animations?" it'll show that whole section at once, and close the mouth as it should, but then the rest of the text continues drawing letter by letter, and the mouth stays closed.

I haven't tried reinstalling MV yet, but I looked at \> again. It's now working to show all the text at once. However, I did notice that if you're using the word wrap feature in Yanfly's Message Core, it causes that single animation loop problem. If the plugin is on and word wrap is false, \> works as it should.
 

Astfgl66

Veteran
Veteran
Joined
Jan 5, 2016
Messages
733
Reaction score
594
First Language
French
Primarily Uses
Yes, it synchronizes the animation automatically. I had forgotten to say it in the help file, and also made a typo on that line it should have been \ca and not \sa.

I'm not having the same behaviour as you do. Once you press enter in a message what's remaining of the message is set to fast forward, so the animation doesn't show, as it should.
Taking your text as an example, if I press enter at the same spot, the remaining text fast forwards, with the wait respected: that's the expected behaviour.

And I'm testing everything with word wrap on, since the begininning, so it shouldn't have any effect on your end either.
 
Last edited:

Rhino

~Inactive~
Veteran
Joined
Feb 28, 2017
Messages
482
Reaction score
795
First Language
English
Primarily Uses
RMMV
How weird... Well, at least it's working for you. :guffaw: I'm going to get 1.5.0 soon and see if it improves anything, though I guess it's also going to break a lot of other things until they also get updated :rswt

Anyway, I'm all done, so I'll be sending you a PM shortly! :kaoluv:
 

kyorin_707

Warper
Member
Joined
Dec 8, 2020
Messages
3
Reaction score
0
First Language
english
Primarily Uses
RMMV
Okay, I think I've got it.
Please download the plugin here on pastebin.

Spoiler'd below is my event in game to make two busts speak to each other, in case the plugin help file does a poor job explaining.
Code:
◆Show Picture:#1, SF_Actor1_1_Blank, Center (627,239), (100%,100%), 255, Normal
◆Show Picture:#2, mouth_closed, Center (602,215), (100%,100%), 255, Normal
◆Show Picture:#4, mouth_closed, Center (202,215), (100%,100%), 255, Normal
◆Show Picture:#3, SF_Actor1_1_Blank, Center (227,239), (100%,100%), 255, Normal
◆Script:$gameScreen.picture(2).setAnim(["mouth_closed","mouth_1","mouth_2","mouth_3"],5)
:      :$gameMessage.setAnim(2)
◆Text:None, Window, Bottom
:    :aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\.\.<br>
:    :bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\|\|<br>
:    :cccccccccccccccccccccccccccccccccccccccccccccccccccc<br>
◆Script:$gameScreen.picture(4).setAnim(["mouth_closed","mouth_1","mouth_2","mouth_3"],10)
:      :$gameMessage.setAnim(4)
:      :$gameMessage.removeAnim(2)
◆Text:None, Window, Bottom
:    :aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\.\.<br>
:    :bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\|\|<br>
:    :cccccccccccccccccccccccccccccccccccccccccccccccccccc<br>

Hi, I tried the plugin but doesn't work :(
 

slimmmeiske2

Little Red Riding Hood
Global Mod
Joined
Sep 6, 2012
Messages
8,923
Reaction score
5,848
First Language
Dutch
Primarily Uses
RMXP

@kyorin_707 , please refrain from necro-posting in a thread. Necro-posting is posting in a thread that has not had posting activity in over 30 days. You can review our forum rules here. Thank you.


Please make a new thread in Plugin Support.
 
Status
Not open for further replies.

Latest Threads

Latest Profile Posts

It makes sense that you try to focus on the squishy mages at the back of the party first, right? If the mage can out-DPS the enemy DPS before the latter can kill the tank in front, the fight becomes boring.
finally got footage of my main character running around the main hub world. I've fixed a few things tho even since this video unsurprisingly lol.
 …I think I might need to switch from standard ATK/DEF up/down buffs to parameter altering states. I just had an actor whose usual attack against an enemy does ~25 do a buffed attack against a debuffed enemy for ~600…
just saw that titan quest is free on steam until the 23rd

Forum statistics

Threads
115,228
Messages
1,088,245
Members
149,822
Latest member
ddkovi
Top