Metlivi-blog

Een personage van gezichtsuitdrukking laten veranderen tussen dialoogregels in een game in retrostijl

Om de gezichtsuitdrukking van een personage tussen dialoogregels te veranderen, maak je voor elke uitdrukking een passende sprite en wissel je de weergegeven afbeelding van het personage vlak vóór de regel waarop die wordt gebruikt. Houd de positie en het algemene silhouet van de sprite consistent, zodat de verandering in het gezicht duidelijk overkomt zonder de scène te verstoren. In Ren’Py is de eenvoudigste methode om elke uitdrukking dezelfde afbeeldingstag te geven en opnieuw show te gebruiken met een nieuw uitdrukkingsattribuut; conceptueel werkt dezelfde reeks ook in andere engines, al verschillen de opdrachten.

15 oktober 20266 minuten leestijdDoor Metlivi Editorial Team
Sectie 1

Bepaal waardoor de verandering wordt geactiveerd

Begin bij het dialoogscript, niet bij het spriteblad. Markeer alleen regels waarbij de gezichtsuitdrukking van het personage verandert op een manier die de speler moet opmerken: een nieuwe reactie, een verandering in toon of een terugkeer naar neutraal. Als het gezicht bij elke regel verandert, draagt de uitdrukking weinig informatie meer over en neemt de hoeveelheid tekenwerk snel toe.

Noteer voor elke gemarkeerde regel de beoogde uitdrukking en het spritebestand dat die moet weergeven. Een kleine verzameling, zoals neutraal, blij, bezorgd en verrast, kan in veel scènes volstaan. Voeg alleen varianten toe wanneer een specifieke scène ze nodig heeft. Dit is een redactionele keuze, geen regel van de engine: de juiste verzameling hangt af van de vormgeving en dialoog van de game.

Sectie 2

Maak sprites met uitdrukkingen die netjes wisselen

Gebruik voor elke uitdrukking dezelfde uitsnede, schaal en verankeringspunt van het personage. Als elke afbeelding een volledige sprite is, lijn dan de ogen, het hoofd en het lichaam in alle bestanden op elkaar uit, zodat het personage niet lijkt te verspringen wanneer de afbeelding wisselt. Houd de achtergrond transparant wanneer de sprite over een scène moet worden geplaatst.

Bekijk de afbeeldingen bij pixelart op de daadwerkelijke weergaveschaal van de game. Een verschuiving van één pixel kan goed opvallen wanneer sprites wisselen, en het formaat wijzigen kan het pixelraster vervagen of vervormen. Exporteer elke uitdrukking bij voorkeur met dezelfde afmetingen en gebruik consistente instellingen voor filtering en schaling bij het importeren. Dit zijn praktische controles tijdens de productie; de exacte instellingen hangen af van de engine en het project.

Kies voorspelbare bestands- of afbeeldingsnamen, zoals mira neutral en mira worried. In Ren’Py bestaan afbeeldingsnamen uit een tag gevolgd door optionele attributen; de tag identificeert de afbeelding van het personage die een nieuwe show kan vervangen. De afbeeldingsdocumentatie van Ren’Py beschrijft deze naamgeving en het vervangingsgedrag.

Sectie 3

Verander uitdrukkingen in Ren’Py

Definieer de spreker met een afbeeldingstag en gebruik daarna uitdrukkingsattributen op dialoogregels. Bijvoorbeeld:

define m = Character("Mira", image="mira")

label scene:
    show mira neutral
    m "The door is open."

    m worried "I thought I locked it."

    m "Maybe the wind caught it."

Hier is mira de afbeeldingstag en is neutral of worried het attribuut. De bezorgde regel werkt de weergegeven afbeelding van het personage bij; op de volgende regel blijft die uitdrukking behouden omdat er geen nieuw attribuut is opgegeven. Voeg m neutral \"...\" toe aan die laatste regel als het script haar expliciet naar neutraal moet laten terugkeren. In de dialoogdocumentatie van Ren’Py staat dat een personage dat met een afbeeldingstag is gedefinieerd, afbeeldingsattributen in de say-instructie kan krijgen, en dat die attributen werken als een bijbehorende opdracht show wanneer de afbeelding al wordt weergegeven. Dialoog en afbeeldingsattributen in Ren’Py

Als je de volledige sprite van het personage niet op het scherm wilt tonen, kun je hetzelfde idee toepassen met een portretelement in de dialooginterface. De engine moet nog steeds weten hoe de huidige spreker en uitdrukking aan een afbeelding gekoppeld zijn; een portretinterface kan een andere naamgevingsconventie of gegevensstructuur gebruiken. Raadpleeg de documentatie van het gekozen framework voordat je de Ren’Py-syntaxis naar een andere engine overneemt.

Sectie 4

Kies voor een directe wissel of een overgang

Een directe wissel past bij een strakke retro-uitstraling en koppelt de verandering in uitdrukking nauw aan de dialoogregel. Een overgang kan de vervanging verzachten, maar gebruik die alleen als de visuele stijl van de game erbij past. Een korte overvloeing kan een verandering minder abrupt laten aanvoelen; bij een lange overgang duurt het mogelijk te lang voordat de nieuwe uitdrukking goed zichtbaar is.

Ren’Py ondersteunt overgangen zoals dissolve bij wijzigingen van afbeeldingen. Met show mira worried with dissolve wordt bijvoorbeeld een overvloeing toegepast wanneer de weergegeven afbeelding verandert. De gedocumenteerde standaardinstelling dissolve duurt een halve seconde, wat traag kan aanvoelen bij snelle dialogen; test het tempo in de context en kies zo nodig een kortere aangepaste duur. Documentatie over overgangen in Ren’Py

Vergelijk bij pixelart de overgang met een directe wissel op de beoogde resolutie van de game. Bij een overvloeing worden de oude en nieuwe pixels tijdens de verandering gemengd, waardoor het beeld zachter kan ogen dan bij een bewust stapsgewijze of directe wissel. Dat is een stijlkeuze die je in een draaiende scène moet beoordelen; het is geen effect dat automatisch moet worden toegevoegd.

Sectie 5

Houd de sprite stabiel terwijl het gezicht verandert

Controleer voordat je meer artwork toevoegt of de wissel van uitdrukking iets verandert buiten het bedoelde kenmerk. Vergelijk opeenvolgende frames of schermafbeeldingen op positie, schaal en silhouet van de sprite. Als het personage lijkt te trillen, lijn dan de bronafbeeldingen uit of corrigeer hun gedeelde draaipunt of oorsprong in de engine.

Controleer ook de beeldlagen en timing van de dialoog. Een spritewisseling mag niet per ongeluk de achtergrond wissen, het personage achter een andere afbeelding plaatsen of een extra invoer van de speler vereisen voordat de nieuwe regel verschijnt. In Ren’Py vervangt show een afbeelding met dezelfde tag, terwijl hide doorgaans wordt gebruikt wanneer een personage de scène verlaat; de documentatie raadt specifiek aan een emotionele uitdrukking te vervangen met show in plaats van de sprite in afzonderlijke stappen te verbergen en weer te tonen. Regels voor afbeeldingsweergave in Ren’Py

Sectie 6

Controleer de verandering in de daadwerkelijke dialoogreeks

Speel de scène af vanaf ten minste één regel vóór de eerste verandering tot en met de volgende verandering van uitdrukking. Controleer of het gezicht op de bedoelde regel verandert, daarna de gewenste uitdrukking behoudt en alleen naar neutraal terugkeert wanneer het script dat aangeeft. Test zowel de directe wissel als de versie met overgang als je twijfelt.

Bekijk de reeks op de doelresolutie van de game en met het dialoogvenster zichtbaar. Controleer of het gezicht niet wordt bedekt, afgesneden of te klein is om te lezen. Als de verandering er verkeerd uitziet, zoek de oorzaak dan in deze volgorde: controleer de uitdrukkingsnaam in het script, bevestig dat de bijbehorende afbeelding bestaat en door de engine wordt herkend, en controleer daarna de uitlijning en het gedrag van de overgang. Zo kun je een ontbrekend bestand of een niet-overeenkomende naam onderscheiden van een probleem met de plaatsing van de afbeelding.

De uiteindelijke opzet moet elke verandering doelbewust laten aanvoelen: het script noemt de uitdrukking, de bijbehorende sprite behoudt de positie van het personage en een korte speelsessie bevestigt dat de wissel goed leesbaar is binnen het tempo van de dialoog.

Sectie 7

Bronnen

Gerelateerde artikelen

Blijf dit onderwerp verkennen