대사
pet_voice/에는 캐릭터마다 파일이 하나씩 있고, 파일 이름은 성격 파일과 같아요.
json
{
"lines": {
"tame": [{ "text": "voice.chiikawa.usagi.tame.1", "weight": 1 }],
"idle": [
{ "text": "voice.chiikawa.usagi.idle.1", "weight": 1 },
{ "text": "voice.chiikawa.usagi.idle.2", "weight": 1 }
]
},
"chance": { "idle": 0.002 },
"cooldown_ticks": 200,
"crowd_limit": 3,
"talk_ticks": 60,
"hearing_range": 16.0
}| 필드 | 뜻 |
|---|---|
lines | 순간마다 할 말, 가중치로 한 줄을 뽑아요 |
chance | 선택 사항. 순간마다 말을 꺼낼 확률이고, 적지 않으면 1이에요. idle은 틱마다의 확률이에요 |
cooldown_ticks | 한마디 한 뒤 조용히 있는 시간 |
crowd_limit | 근처에서 이미 몇 마리가 말하고 있으면 잠시 말을 참는지 |
talk_ticks | 말풍선이 머리 위에 떠 있는 시간 |
hearing_range | 플레이어가 얼마나 멀리서 볼 수 있는지 |
순간은 tame 길들여질 때, hurt 다칠 때, hunt 토벌하러 나설 때, paid 보수를 받을 때, shop 무언가를 살 때, gift 선물을 줄 때, revive 되살아날 때, idle 할 일이 없을 때, whistle 피리 사탕 소리를 들었을 때, exam_pass 시험에 붙었을 때, exam_fail 떨어졌을 때, photo 하치와레가 셔터를 누를 때, photographed 사진 포즈를 잡을 때가 있고, 작은 장면에서 쓰는 cling, clung_to, turned_down, crab_greeting, treat, treated, given_coffee, listen도 있어요.
어떤 순간에 대사가 없으면 그 순간에는 말하지 않아요. 랏코는 다쳐도 소리를 내지 않아서 파일에 hurt가 없어요.
text에는 언어 파일의 키를 적고, 대사 자체는 리소스 팩의 assets/<namespace>/lang/ko_kr.json에 적어요. 그래서 같은 데이터 팩으로도 언어마다 알맞은 말을 해요.
