Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Ewen

#1
Thanks guys! Your help has been exceptional. I'm pretty happy with this solution for now. I'll perhaps dive deeper into what's possible with .dat files in the update but I'll stick with the module as I am able to use it pretty easily. Thanks again.
#2
Some positive news on my end! I altered the code and updated the loop and the mouth is now working perfectly!! However, the speech is not playing.

Quote from: Snarky on Yesterday at 05:22:43Are you in fact using LucasArts speech, Ewen?

Yes I am. As a workaround, I have done what Eri0o said and put the .wav file in the Speech folder. However, I had to then enable the old-style voice clip naming rule for it to work. BUT it does work now! Do you think this will be okay going forward or is there a more streamline way to do it (with the WAV file in the sync folder)?

Thank you! This has been super helpful.
#3
Thanks for the response Snarky. Its great that you can try and help! I have implemented your suggestions but it still doesn't work.

Quote from: Snarky on Mon 11/08/2025 22:07:13This is correct if E:/2025/Rhubarb Test/Rhubarb Testing/ is your game project folder (the folder where the game.agf file is).

Yes, the game.agf is in the Rhubarb testing file, where the sync folder now is.

Quote from: Snarky on Mon 11/08/2025 22:07:13I assume you mean the setting "Package custom data folder(s)"? This is not correct. It should just be "sync" (the path is relative to the project folder). I think this is why it is not working.

I have updated this now.

Quote from: Snarky on Mon 11/08/2025 22:07:13the important part is that the automapping assumes that G and H are at frame 8 and 9.

I have updated this in the View in AGS. One small change here: the mouth moves to the A frame and stays there until the text is gone and then it reverts to the idle view. My new pattern, for clarification, is A,B,C,D,E,F,F,G,H,X.

I tried dropping the .wav into the speech folder (also in the Rhubarb Test folder) and the voice clip did play.

Do you have any other thoughts about why its not working? As mentioned, its a blank game other than what I added in specifically for this test.

The only thing I can think of is that I've exported the .dat incorrectly from the command prompt (but the file looks right) or maybe I've downloaded the wrong version of the module. I downloaded version 0.6 from the forum, rather than going into the github links.

Any help to resolve this would be amazing. Thank you!
#4
Hello I was wondering if I could have some assistance with the TotalLipSync module.

I've made a game that works well and would like to add lip syncing with voice via the module but I can't seem to get it to work. Its my first time trying a module. I started a brand new game to test it. The game is just one room with one character who says one line. I'm sure I've taken a wrong step or two as I'm getting no lip sync and no voice (the character is just staying on one frame). Here is my process so far (I am using the most up-to-date version of AGS, I downloaded the module from Snarky's 2017 forum post and the latest version of Rhubarb).

1) I used Adobe After Effects to create 9 mouth shapes on a character based on Rhubarb's guidelines. The different mouth shapes are drawn on top of a fixed face in each frame, rather than the mouth as a separate layer.

2) I have nine mouth shapes based on the Rhubarb guidelines so A (frame 1 at 00:00) is P, B and M, B (frame 2 at 00:01) is K, S, T etc. I have used A, B, C, D, E, F, G, H and X as instructed.

3) I put my .wav file into C:/Rhubarb.

I) In After Effects, I selected File > Scripts > Rhubarb Lip Sync.jsx and then animate.

4) Everything looks good so far. I used the Windows Command Prompt (something I'm admittedly a novice with) to export the .dat file like so:
cd C:\Rhubarb
rhubarb JIMM.wav -o JIMM.dat
- perhaps the .dat data needs more fine tuning?

5) This created a .dat file. Opening the .dat file in notebook gives me the following information:

0.00   X
0.13   C
0.31   E
0.66   B
1.08   C
1.15   B
1.43   E
1.64   X
2.03   X

6) The character in my AGS game is called Jimmy (cJimmy) so the files are called JIMM1.wav and JIMM1.dat

7) I downloaded the TotalLipSync module and imported it into Scripts in AGS.

8) I added the following code to my global script:
Code: ags
function game_start()
{
  TotalLipSync.Init(eLipSyncRhubarb);
  TotalLipSync.AutoMapPhonemes();
}

9) I made sure that the lip sync option is disabled in the Lip Sync property.

10) I created a folder called 'sync' and placed it in my project folder (E:/2025/Rhubarb Test/Rhubarb Testing/sync). I placed both the .wav and .dat files in there.
- I'm not totally sure where these files should go so also tried moving these to different locations but none were successful.

11) In Compiler in general settings, I added the following: E:/2025/Rhubarb Test/Rhubarb Testing/sync
- Again, not totally sure if this part is correct.

12) I made sure the character's Speech View was set to View 3 (where I placed all of the frames in order.
- Rhubarb advised on 9 frames, TotalLipSync advises 10. In AGS, I currently have frame 0 set as his neutral mouth shape followed by A (frame 1),B (frame 2) etc.

13) I entered this in the room script:

Code: ags

function room_AfterFadeIn()
{
 cJimmy.SaySync("&1 My text is here.");
}

If anyone knows where I'm going wrong (probably multiple places!), I'd love to know. I'm not an expert and realise that this is quite advanced but I'm a keen learner and, if I can learn how it works in a test room, I think I can apply it to the whole game with some time.

Thank you!
#5
Quote from: Crimson Wizard on Sun 10/08/2025 00:15:36With the increase of the text length, this constant's effect gradually diminishes.

Thanks so much for this explanation. This makes sense now and I understand the issue. Really interesting. I'll definitely check the module out and try that method going forward.

Thanks for all the help, everyone. I appreciate it.
#6
Quote from: eri0o on Sat 09/08/2025 23:12:04If you are trying to lipsync with voice, why not do that? Also I would suggest that with the TotalLipSync module. You need to prepare the lipsync files beforehand for the module if you go that way.

Oh cool. I'll certainly look into that. Is it compatible with Lucasarts speech style?
#7
Quote from: Snarky on Sat 09/08/2025 21:54:03In that case it sounds like an engine bug that still needs to be fixed.

Ah! Okay. Thanks very much for your help anyway. I'm at least glad that its not an issue on my end.

Is there a way I can report the bug? Sorry - I'm fairly new to the forum.

Thanks
#8
Quote from: Snarky on Sat 09/08/2025 21:06:49So I would test it without the voice clips to see if the inconsistent animation speed is due to that.

I removed the audio and the problem continues unfortunately. The mouth animation is still dependent on the length of the displayed text.

Quote from: Snarky on Sat 09/08/2025 21:06:49Since the bug fix was made on a 3.6.1 patch, we need to know the fourth version number part as well. (Or just if you downloaded it quite recently. Patch 6 was released in September 2024.)

I just downloaded the most up-to-date version after reading your post and the problem is still there.

Quote from: Snarky on Sat 09/08/2025 21:06:49Line up with what? Do you mean that you are trying to get it to line up with the voice sound clip?

Yes - that's what I was aiming for, only as an experiment to fix the problem but it is not a solution I will use.

I understand what you are saying about text-based sync not really meant for games with voice and that's totally fine. If the mouth speed was consistent, then I'd be happy with the voice not 100% lining up. I just hope to resolve the problem with the mouth speed zooming off as it is quite bizarre to watch!

Thank you :)
#9
Thanks so much both for getting back to me!

Quote from: Eon_Star on Sat 09/08/2025 20:11:45Did you check your animation frame speed options?

Yes. I'm pretty good with animations and frame speeds and everything seems fine on that end, as far as I can tell.

Quote from: Snarky on Sat 09/08/2025 20:27:47I assume you mean text-based lip sync? Are you actually playing a voice sound clip at all?

Yep. Sorry. I did indeed mean text-based. And I am playing voice clips which are working as normal.

Quote from: Snarky on Sat 09/08/2025 20:27:47What AGS version are you using?

I'm using V3.6.1

I'll try and provide some more detail, if it helps:
I'm using Lucasarts style text
I'm using the SayAt option to place the text in a consistent location.
I'm using Speech.SkipStyle = eSkipKeyMouse;

Everything else in the game is working a treat, its only the sync (something I've never used before) which is causing issues.

The only work around I've found so far (which is a really long one) is to use game.lipsync_speed after every line to manually line it up which is not ideal!

Any further help would be much appreciated.

Thanks again for your help so far.
#10
Hello! I was wondering if anyone can help me.

I'm trying out lip sync for voice for the first time using test-based lip syncing. I've uploaded all my mouth movement frames (for each letter sound) and it works really well.

However, when the text on screen is a bit longer, the animation speed from frame to frame increases. Is there any way to keep text at a universal speed?

I'm not sure if I've explained this well enough but thank you :)
#11
Amazing! That did the job. Thanks so much for your help.
#12
Thanks both of you for the suggestions. I went with Khris' suggestion and it works really well. The only issue is that, when the room loads there is a bit of a camera jump from one part of the map to another. This seems to be linked to the position of the invisible player when they enter the room and also the position of the cursor on the room before when clicking the button that opens the map.

Is there any way to set the starting position of the camera and the cursor so that it doesn't look jumpy on entering the room? I've played around with setting the cursor's position and the player position but its not quite there.

It is otherwise working brilliantly.
#13
Hello,

I have added a map screen to my game. The map itself is a room and the background image is currently the same screen resolution as the rest of the game (which is cool and works really well) but I was wondering if it is possible to import a larger version of the map and then to have the camera move across it with the mouse cursor. For example, if the mouse moves to the top of the screen, the map moves with it.

I know its easy to have the camera following a character as they walk through a room bit I'm not sure if movement can be assigned to mouse movement.

This seems like it should be possible but, as a beginner, I'm not sure where to start. Any thoughts on this would be very welcome :)

Thank you!

Ewen
#14
Believe it or not, this worked and all the issues are resolved! Thank you. You've saved me a whole lot of work.
#15
Hi Khris, I used this exact code and and solved the main issue and I'm able to understand how to change cursors over objects etc now using custom properties. Thank you so much for this.

However, one slight issue is that cursor is no longer changing when inventory items are selected. Do you have any thoughts on this? When I delete the code, the cursor works as normal on inventory items again.

EDIT: In addition, when I use an inventory item (which still has the interact cursor) on an object, the cursor changes to that of the object.

Any help on this would be greatly appreciated. Thank you.
#16
Thank you. I really appreciate both of you getting back to me and this all seems super helpful. I look forward to jumping into this and it seems doable. Thanks again for taking the time to get back to me.
#17
Hello!

I'm an amateur AGS user but have spent quite a lot of time developing a children's game with custom GUIs and a 'left click only' interface where specific animated cursor icons are displayed when hovering over interactable things. This is really easy to do with hotspots but I was hoping someone might be kind enough to answer the following question:

Is there a way to have different cursors activate when specific objects are hovered over? E.g. a door object should have an animated cog but an item object should have a 'pick up' animated icon.

I've spent a lot of time on this and, so far, have found some solutions but none are doing exactly as I want. For example, via the global script, I could make ALL objects have the same custom cursor instead of specific cursors for different objects.

I'm tempted to revert to a more standard verb coin template but I'm delighted that I've managed to do some pretty complex things so far and I'm not quite ready to give up on the current direction of the game.

Thank you!
SMF spam blocked by CleanTalk