I know similar questions has been asked many times before… but, for what I need, I’ve just not found a clear answer. I’m learning how to work with Unity as well as learning game development basics. For my first project, I decided to recreate the intro scene to The Legend of Zelda: A Link to the Past. I chose this because, A) it was my first RPG obsession all those years ago (Nov. 21 of '91… almost the anniversary, oddly enough!) and B) Almost every resource/asset for this game is widely available on the internet. I have everything put together in the intro scene, including audio. I have some transition effects and timing to tweak here and there, but it’s almost perfect! However, figuring out the text portion has been quite a challenge. Getting text on the screen, or even animating text, isn’t an issue. What is an issue is being able to emulate the way the game text is printed to the screen. I’m certain this will require the use of scripting, but anything that I’ve researched comes up short of the effect I’m looking for. So, I’m hoping someone out there could give me some insight and point me in the right direction.
Yup, this isnt really easy, at least from my experience with it…
The first thing you need to look into is UI Mask, which is how you achieve the scrolling effect.
This video should help you with specifically UI Mask scrolling with text.
The actual printing animation, can be done in a few ways…
You can create a long string and print out characters of the string at a certain rate, or even “words” of the string at a certain rate
Or you can create a text document, and read from it within Unity, and do the same thing print characters or “words” at a certain rate.
To get it to stop at a certain point, use a flag with your printing loop, so you can do it by a custom symbol (or set of symbols, like “:” if you think youll never use the colan in text, or “” to be specific in your code).
I would provide the code, but like I said, its kind of annoying to do, and it depends how you want to set it up, if you want to print by character/letter or print by word, and how you want to stop text at certain points, and all - then there is some finetuning with stuff like, if a word is too long to be displayed on the screen, how to handle that, how to break it up and stop it, without it completely breaking everything, stuff like that… Hopefully this at least points you in the right direction for this though.