Ja/Choreography creation/Implementation
racrolertaac æ¯ãä»ãã·ã¼ã³ã®å®è£
Introduction
ããã¯æ¯ãä»ããè¡ã£ãã·ã¼ã³ãã©ã®ããã«Source Engineã«åãè¾¼ããã¨ããå®éçãªãã¯ããã¯ãç´¹ä»ããããã®ãã¼ã¸ã§ããããã§ã®ç¦ç¹ã¯vcdãã¡ã¤ã«ã¨ãã®å¹æçãªä½¿ç¨æ¹æ³ã§ããããããé¢é£ãããã¯ããã¯ãfaceposerã«ã¨ã©ã¾ããããã³ãã¼ãXSIã¨ãã£ãå¤é¨ã«ãåºãããã¨ããã°ãã°ããã¾ãã
æ¯ãä»ãã·ã¼ã³ã®åºæ¬è¦ç´ ã«ãªããããã«ã¾ãããã¹ããã¨ã¯ãSDKã«å«ã¾ãã¦ãããµã³ãã«ããããå®è¡ãã¦ã¿ããã¨ã§ã:"...\SteamApps\<your username>\sourcesdk_content\hl2\mapsrc\sdk_faceposer.vmf"
ãã®ãããã¯HL2ã®è£½ä½ä¸ã«ãã¥ã¼ããªã¢ã«ã¨ãã¦ä½ããããã®ã§ãã
ãã³ãã¼ããããããã³ã³ãã¤ã«ããHl2ã«èªã¿è¾¼ã¿ã¾ãããã®ãããã§ä½¿ç¨ããã¦ããå
¨ã¦ã®VCDã¯ä»¥ä¸ã®å ´æã«ããã¾ã: "...\SteamApps\<your username>\half-life 2\hl2\scenes\ChoreoExamples"
å¯è½ã§ããã°ããããéã³ãªããããããã®VCDãFacePoserã§è¦ã¦ã¿ããã¨ããããã¾ããããHL2ãèµ·åãã¦ããéã«VCDãç·¨éãããªããã³ã³ã½ã¼ã«ã§scene_flush
ãå
¥åããããããããããåã¹ã¿ã¼ãããã¨å¤æ´ããVCDãè¦ããã¨ãã§ãã¾ãã
(以ä¸ã¯ã¢ã¦ãã©ã¤ã³ã®ææ¡ã§ããèä»ããã¦ãããã¡ã«å¤æ´ãã¦ããã¾ãã)
ãªãVCDã使ãã®ã?
- å¼·åãVCDã¯åºãç¯å²ã®è¦ç´ ãä¸ç·ã«ãããã¦ç²¾å¯ã«æ¯ä»ãããã¨ãã§ãã¾ã -- é³ãç¹æ®å¹æãã¢ã¯ã¿ã¼ã¸ã®æç¤º(ããããã³ã°)ãã¢ãã¡ã¼ã·ã§ã³ãããã¦ã·ã¼ã³ã»ãããã®ãã¸ãã¯ãªã©
- æ©ãç¹°ãè¿ããã¹ãã VCDã®å¤æ´ãè¦ãã®ã«ããããåã³ã³ãã¤ã«ããå¿ è¦ã¯ããã¾ãããScene_Flushã使ãã¾ããç¹ã«ã¤ãã³ãã®ã¿ã¤ãã³ã°ã調æ´ããã®ã«é©åã§ãã
Source Engineã§ã®VCDã®åçæ¹æ³
- ãããå ã§Logic choreographed sceneã¨ã³ãã£ãã£ã使ç¨
- Response Systemã使ç¨
- Lead/followæ¯ãèããµã³ãã«(aftermathå¾?)
ã·ã¼ã³ã¸ã®ã¢ããã¼ãã¨è¨ç»
- ã©ã®è¦ç´ ãé¢ãã£ã¦ããã®ã?
- ã©ã®ã¢ã¯ã¿ã¼ãé¢ãã£ã¦ããã®ã?
- ãã¬ã¤ã¤ã¼ã¯ã©ã®ããã«é¢ããã?
- ã©ã®ããã«ã·ã¼ã³ãããããã¸ãã¯ã«çµã¿è¾¼ã¾ããã?
- ã·ã¼ã³ãå§ã¾ãæ¡ä»¶
- ã·ã¼ã³ã®ä¸æåæ¢ã»åéãã¤ã³ã¿ã©ãããè¡ãæ¡ä»¶
- ã§ããã ãå¤ããVCDããé§åãããã¨ã®å¹ç¨
- 極ãã¦éè¦ãªFire Trigger(ããªã¬ã¼çºå°)ã¤ãã³ã
Blocking out a scene
- Info_targetã¨ã³ãã£ãã£
- DebugTextã®ä½¿ç¨
- æ°ãããã¤ã¢ãã°ã¨ã³ããªã¼ã®è¿½å
- ã·ã¼ã³ãã¸ãã¯æ©è½ã®å°å ¥
!Target#ã®ä½¿ç¨
"#"ã®é¨åã«1-8ã¾ã§ã®æ°åãå ¥ã£ã"!Target#"ã¨ããåå("!Target1", "!Target2",..."!Target8")ã¯Faceposerå ã§ã®ç¹å¥ãªä¸æçãªååã«ãªã£ã¦ãã¾ããVCDå ã§"!Target#"ã®ååã使ã£ã¦ããã¨ãã¨ã³ãã£ãã£Logic_choreographed_sceneã®ããããã£ãããã®ååãå®éã«æãã¨ã³ãã£ãã£ãæå®ã§ãã¾ãããã®æè»ãªååã使ã£ãæ¹æ³ã¯ãæ§ã ãªå ´æã§ä½¿ãããããã¢ã¯ã¿ã¼ã¨ã¤ãã³ãã¿ã¼ã²ããã®ååã¯æ¯åéããããªVCDã«ããã¦å½¹ç«ã¡ã¾ãã
"!Target#"ã®ååã¯ã¢ã¯ã¿ã¼ã«ãã¤ãã³ãã¿ã¼ã²ããã«ã使ããã¨ãã§ãã¾ãã(Figs 2a , 2b)
"!Target#"ååãã©ã®ã¨ã³ãã£ãã£ãæããã¯ãããå ã®Logic_choreographed_sceneã¨ã³ãã£ãã£ã®ããããã£ã§æå®ãã¾ãã(Fig 2c)
注æ Logic_Choreographed_Sceneã®ããããã£ã«ã¯Targetãã¼ããªã¥ã¼ã8ã¤ãããããããã"!Target#"("!Target1"..."!Target8")ã®ååã«å¯¾å¿ãã¦ãã¾ãã
ã·ã¼ã³ã®ä¸æåæ¢/åé
- Global Pauseã¤ãã³ãã®ä½¿ç¨
- èªèº«ã䏿忢ãããFire Triggerã¤ãã³ãã®ä½¿ç¨
- 䏿忢ããVCDã®æ¯ãèã
- ã¤ãã³ãã¯ã¢ã¯ãã£ããªã¾ã¾(lookAt-対象ãè¦ããfaceTo-対象ã«åããmoveTo-対象ã«ç§»åãããªã©)
- ã¸ã§ã¹ãã£ã¤ãã³ãã®"ã«ã¼ã"é¨åãç¹°ãè¿ã
- Nagã®è¨å®
ã¢ã¯ã¿ã¼ã®ã³ã³ããã¼ã«
- NPCã¨ã³ãã£ãã£ã®ã¤ã³ããããStart Scripting(ã¹ã¯ãªããéå§)
- NPCã¨ã³ãã£ãã£ã®ãã©ã°ã Use Alternate Collisions
- 徿¥ã«ãªãã¢ã¯ã¿ã¼ã®ä½¿ç¨
- Generic_actorã¨ã³ãã£ãã£
- ã©ã¸ãªã®ä¾
- ã©ãã¼
ã·ã¼ã³ã§ã®ãã¬ã¤ã¤ã¼ã®é¢ä¸
- ããªã¬ã¼ã®ä½¿ç¨ãLookããªã¬ã¼ãAI_Script_Condition
- Eliã®ç ç©¶æã®ä¾
ãã¬ã¤ã¤ã¼ããã³ã³ããã¼ã«ã奪ã
ã¹ã¯ãªããã·ã¼ã¯ã¨ã³ã¹ãæ ç»çã«è¦ããmachinimaã使ããã«ã¯ããã¬ã¤ã¤ã¼ã®ã«ã¡ã©ã®ã³ã³ããã¼ã«ã奪ããã¨ãå¿ è¦ã«ãªã£ã¦ãã¾ãããããã§ã®ã«ããã·ã¼ã³ã®ããã«ãã¬ã¤ã¤ã¼ã®ã«ã¡ã©ã®ã³ã³ããã¼ã«ã奪ãã«ã¯point_viewcontrolã¨ã³ãã£ãã£ã使ãã path_cornerã¨path_trackãã¼ãã®è¨å®ããããªãã¾ãã以ä¸ãã·ã¼ã³ãè¨å®ããåºæ¬çãªã¹ãããã§ã(ä»åãã¢ã¯ã¿ã¼ã¹ã¯ãªããã¨ããããåãå ´æã«ããã¨å®¶åºãã¦ãã¾ã)
- ã·ã¼ã³å ã§ã®ã«ã¡ã©ä½ç½®ã¨ç§»åã®è¨ç»
- point_viewcontrollerãã·ã¼ã³ã«é ç½®
- ã¹ããã1ã§ã®è¨ç»ã«åºã¥ããpath_cornersã¨path_tracksã®ãããã¯ã¼ã¯ãé ç½®
- ãã®ã«ã¡ã©ã«ããã·ã¼ã¯ã¨ã³ã¹ããããéå§ã¨ã¨ãã«å§ã¾ãå ´ålogic_autoã¨ã³ãã£ãã£ãé ç½®ãã¦ãã®"OnMapSpawn"ã¢ã¦ãããããpoint_viewcontrollerã®"Enable"ã¤ã³ãããã«æ¥ç¶ãã¾ããããã§ãªãå ´åã¯ä½ãå¥ã®ã¤ã³ãããã§point_viewcontrollerã"Enable"ãã¾ãã
- Point_viewcontroller
point_viewcontrollerã¯ä½¿ç¨å¯è½("enable")ã«ãªãã¨ãã¬ã¤ã¤ã¼ã®ã«ã¡ã©ã³ã³ããã¼ã«ã奪ãããããå ã®ã¨ã³ãã£ãã£ã®å ´æã«ã«ã¡ã©ãè¨å®ãã¾ãã
ããããã£
Name: point_viewcontrollerã¨ã³ãã£ãã£ã®åå
EntitytoLookAt: 使ç¨å¯è½ãªæã«ã«ã¡ã©ãåããã¨ã³ãã£ãã£ã®åå
TargetAttachment: ããè¨å®ããã¨ãã«ã¡ã©ã¯'EntitytoLookAt'ã§æå®ããã¨ã³ãã£ãã£ã«ããç¹å®ã®Attachmentã«æ³¨ç®ãã¾ãã
Hold: 'Hold'ã§æå®ããæéããããã¨ã«ã¡ã©ã¯ã³ã³ããã¼ã«ãéæ¾ãã¾ããã«ã¡ã©ãç¡éã«ã³ã³ããã¼ã«ããå¿ è¦ããã(machinimaæ ç»ãªã©)å ´åã¯ãFlagã¿ãã§'Infinite Hold Time'ããã§ãã¯ãã¦ãã ããã
PathCorner: ãã©ãã¯ã·ã¼ã¯ã¨ã³ã¹ã§æåã«ç§»åããpath_cornerã®åå
ãã©ã°
StartAtPlayer: ããããªã³ã ã¨ã«ã¡ã©ã¯ãã¬ã¤ã¤ã¼ã®è¦ç¹ããéå§ããããã§ãªãå ´åã¯point_viewcontrollerã®è¦ç¹ããéå§ãã¾ãã
FollowPlayer:
FreezePlayer:
Infinite Hold Time:
Snap to goal angles:
Make player non-solid:
Interruptable by player:
- Alyxã¤ã³ããã®ãµã³ãã«
- ä¹ãç©
- Breenã·ã¼ã³ãµã³ãã«
ã·ã¼ã³ã§ã®ã¢ãã¡ã¼ã·ã§ã³ã®åç
ã¸ã§ã¹ãã£ã¼ã¤ãã³ã
ã¸ã§ã¹ãã£ã¼ã¤ãã³ãã¯Source Engineã®ãã£ã©ã¯ã¿ãçãçãã¨ãããã®ã«ã§ããã¨ã¦ãå¼·åãã¤æè»ãªæ¹æ³ã§ããã¸ã§ã¹ãã£ã¼ã¤ãã³ãã¯ç¹å¥ã®åæã«ã¼ã«ããã£ãç¹æ®ãªã¢ãã¡ã¼ã·ã§ã³ç¨®é¡ã使ãã¾ãããããã¯ä¸è¬çã«ãã§ã«ããã·ã¼ã¯ã¨ã³ã¹ã®ä¸ã«ãã¶ããã¢ãã¡ã¼ã·ã§ã³ã§ããä¾ãã°ãé¼»ãã²ã£ããã¸ã§ã¹ãã£ã¼ã¢ãã¡ã¼ã·ã§ã³ã使ãããªãããã£ã©ã¯ã¿ã座ã£ã¦ãã¦ããç«ã£ã¦ãã¦ããæ©ãã¦ãã¦ããèµ°ã£ã¦ãã¦ãåæã«ãã®ã¸ã§ã¹ãã£ãåçã§ãã¾ããããã«ã¸ã§ã¹ãã£ã¼ã®å¼·ããã¿ã¤ãã³ã°ãFaceposerå ã§èª¿æ´ãããã¨ãã§ãã¾ãããã¨ãã¸ã§ã¹ãã£ã¼ã®ã©ã¤ãã©ãªãå°ããã¦ãããããã常ã«å¹æçã«ä½¿ããã¨ãã§ãããã¨ã«æ°ãã¤ãã§ãããã
ã¸ã§ã¹ãã£ã¼ã¤ãã³ãã¨ãã¦ä½¿ããã¨ãã§ããã¢ãã¡ã¼ã·ã§ã³ã¯PostureMacros.qciã¨GestureMacros.qciã®2ã¤ã®ãã¯ãã使ã£ã¦ã¢ãã«ã«åãè¾¼ã¾ãã¦ãã¾ããç¾å¨ã®ã¨ãããããã®qciã¯"...\Steam\SteamApps\<your username>\sourcesdk_content\hl2mp\modelsrc\humans_sdk"
ã«ããã¾ãã詳細æ
å ±ã®ãªã³ã¯ã追å ããäºå®ã§ãã
ãã¼ãº(Postures)ãã¸ã§ã¹ãã£ã¼(Gestures)ãããã£ã¸ã§ã¹ãã£ã¼(BodyGestures)
ä»ã¾ã§ä½¿ã£ã¦ãã"ã¸ã§ã¹ãã£ã¼"ã¨ããè¨èã¯åºç¯ã«ããããã®ã§ãããããã¯ç¹å¥ãªåæã«ã¼ã«ããã£ãã¢ãã¡ã¼ã·ã§ã³å ¨ã¦ãæãã¦ãã¾ãããå®éã®ã¨ããå¤ãã®ç¨®é¡ãåå¨ãããããã3ã¤ã®ã¡ã¤ã³ã®ç¨®é¡ã«ã¾ã¨ãã¦ãã¾ã: ãã¼ãº(Postures)ãã¸ã§ã¹ãã£ã¼(Gestures)ãããã£ã¸ã§ã¹ãã£ã¼(BodyGestures)ã§ãã
ããã3種é¡ã¯å ¨ã¦Faceposerã®ã¸ã§ã¹ãã£ã¼ã¤ãã³ãã§é ç½®ããã¾ããããããã以ä¸ã®ãããªç¹å¾´ãããã¾ãã
ãã¼ãº(Postures)
ååã示ãããã«ããã¼ãºã¯ãã£ã©ã¯ã¿ã®å ¨èº«ãã³ã³ããã¼ã«ããã®ã«ä½¿ããã¾ãããã£ã©ã¯ã¿ã®å ¨èº«ã®ä½å¢ãã³ã³ããã¼ã«ããã®ã«ä½¿ç¨ãã¦ãã ããã(éå¿ã®ç§»åãããããããåããã¿ãã¹ã¯ã¯ãããªã©) ãã¼ãºã¯ãã£ã©ã¯ã¿ãidle(å¾ æ©ç¶æ )ã®å ´åã®ã¿åçããã¾ãããã£ã©ã¯ã¿ãç§»åãã(æ©ããèµ°ããªã©)å ´åã¯åçããã¾ããã
- ãã¼ãºã®è©³ç´°ã¯ããã«è¿½å äºå®ã§ã
- ä»ã®ç¨®é¡ã®ãã¼ãºã«ã¤ãã¦ã®æ å ±ã¯ããã«è¿½å äºå®ã§ã
- ãã¼ãºã¢ãã¡ã¼ã·ã§ã³ã®ä½æã¨ã¢ãã«ã¸ã®ã³ã³ãã¤ã«æ¹æ³ã¯hereåç §
- HLMVã§ãã¼ãºãè¦ãã«ã¯(ãªã³ã¯è¿½å äºå®)
ã¸ã§ã¹ãã£ã¼(Gestures)
ã¸ã§ã¹ãã£ã¼ã¢ãã¡ã¼ã·ã§ã³ã¯å¤§é¨åãè ã¨ä¸å身ã«é¢ããã¢ãã¡ã¼ã·ã§ã³ã§ãã話ããªããæã§ã¸ã§ã¹ãã£ã¼ãè¡ã£ã¦ãããã£ã©ã¯ã¿ãæ³åãã¦ã¿ã¦ãã ãããããããç¨éã®ããã«ã¸ã§ã¹ãã£ã¼ãããã®ã§ããã¸ã§ã¹ãã£ã¼ã¢ãã¡ã¼ã·ã§ã³ã¯ãã£ã©ã¯ã¿ã®è ãæãæã«ã¤ãã¦ã¯å®å ¨ã«ã³ã³ããã¼ã«ãã¾ãããè °ãè骨ãé¦ãé ã®ã¢ãã¡ã¼ã·ã§ã³ã¯å ã®ãã®ã«å ç®ãã¾ãããã®ãããæ¢ã«åçãã¦ããã¢ãã¡ã¼ã·ã§ã³ã®ä¸ã«è¿½å ãããã®ã«ãªãã¾ããã¸ã§ã¹ãã£ã¼ã¯ãã£ã©ã¯ã¿ãä½ããã¦ãããã«é¢ããããã¤ã§ãåçããããã§ãã¾ãã
- ã¸ã§ã¹ãã£ã¼ã®è©³ç´°ã¯ããã«è¿½å äºå®ã§ã
- ä»ã®ç¨®é¡ã®ã¸ã§ã¹ãã£ã¼ã«ã¤ãã¦ã®æ å ±ã¯ããã«è¿½å äºå®ã§ã
- ã¸ã§ã¹ãã£ã¼ã¢ãã¡ã¼ã·ã§ã³ã®ä½æã¨ã¢ãã«ã¸ã®ã³ã³ãã¤ã«æ¹æ³ã¯ããã«è¿½å äºå®ã§ã
- HLMVã§ã¸ã§ã¹ãã£ã¼ãè¦ãã«ã¯(ãªã³ã¯è¿½å äºå®)
ããã£ã¸ã§ã¹ãã£ã¼(BodyGestures)
ããã£ã¸ã§ã¹ãã£ã¼ã¯ä¸çªç®ç«ããªããã®ã§ãã¢ã¯ã»ã³ãã«ä½¿ããã¾ãããããã¯å ¨ä½çã«å ç®ããããã®ã§ããã§ã«åçããã¦ããã¢ãã¡ã¼ã·ã§ã³ã®è °ãè骨ãé ãè ãæã®åãã®ä¸ã«è¿½å ããã¾ããããã£ã¸ã§ã¹ãã£ã¼ã®ããããä½¿ç¨æ¹æ³ã¯ä¼è©±ã«ã¢ã¯ã»ã³ããã¤ãããã¨ã§ããããã£ã¸ã§ã¹ãã£ã¼ã¯ãã£ã©ã¯ã¿ãä½ããã¦ãããã«é¢ããããã¤ã§ãåçããããã§ãã¾ãã
- ããã£ã¸ã§ã¹ãã£ã¼ã®è©³ç´°ã¯ããã«è¿½å äºå®ã§ã
- ããã£ã¸ã§ã¹ãã£ã¼ã¢ãã¡ã¼ã·ã§ã³ã®ä½æã¨ã¢ãã«ã¸ã®ã³ã³ãã¤ã«æ¹æ³ã¯ããã«è¿½å äºå®ã§ã
- HLMVã§ããã£ã¸ã§ã¹ãã£ã¼ãè¦ãã«ã¯(ãªã³ã¯è¿½å äºå®)
- faceposerã§ã®ç·¨æ
- XSIã§ã®æ°ããã¸ã§ã¹ãã£/ãã¼ãºã®ä½æã¨ã¢ãã«ã¸ã®è¿½å
- Scripted SequenceãActBusyã§ã®ã¸ã§ã¹ãã£ã¤ãã³ãã®åç
- ã¸ã§ã¹ãã£ã§ã®IKã«ã¼ã«ã®ä½¿ç¨
- Barneyã®æãè °ã«ãã¼ãº
- Alyxã®ãã¿ã³æ¼ãã¸ã§ã¹ãã£
å³è§£
Faceposerãèµ·åããBarney.mdlãèªã¿è¾¼ã¿ã¾ãããããã "...\Steam\SteamApps\<your username>\half-life 2\hl2\scenes\ChoreoExamples\sdk_barney1.vcd"
ãèªã¿è¾¼ã¿ã¾ãã
ãã®VCDã¯ãã¼ãºãã¸ã§ã¹ãã£ãããã£ã¸ã§ã¹ãã£ãHL2ã«ããã¦ã©ã®ããã«ä½¿ããã¦ãããã示ãè¯ãä¾ã«ãªã£ã¦ãã¾ãããã£ã³ãã«ãããã«ã¯ãªãã¯ããã¨ç¡å¹ã«ãããã¨ãã§ãã¾ããããããã¨ããããã®ãã£ã³ãã«ãçµæã«ã©ãå½±é¿ãã¦ããããã¿ããã¨ãã§ãã¾ãã
注æï¼ NULLã¸ã§ã¹ãã£ã¤ãã³ãã使ããã¨ã§åããã£ã³ãã«ã®ã¸ã§ã¹ãã£ã¤ãã³ãã®éãããããã¨ãã§ãã¾ãã
ã·ã¼ã¯ã¨ã³ã¹ã¤ãã³ã (æ éã«ä½¿ç¨ãããã¨)
Flex animationãã¬ãã¯ã¹ã¢ãã¡ã¼ã·ã§ã³
ã·ã¼ã³ã§ã®Scripted Sequenceã®ä½¿ç¨
- ã¢ã¯ã¿ã¼ã®å®ä½ç½®ã¸ã®ç§»å
- Fire_triggerã¤ãã³ãã§Scripted Sequenceãéå§
- NULLã·ã¼ã¯ã¨ã³ã¹ã¤ãã³ãã使ã£ã¦ã¢ãã¡ã¼ã·ã§ã³ã«ä»ã®ã¤ãã³ã(ä¼è©±ãªã©)ã®æéããã
- Look At !Selfã使ã£ã¦AIã®é ã®åããæå¶
- Scripted Sequencesã®OnFrameEventã¢ã¦ããããã使ã£ã¦ä»ã®ã·ã¼ã³ã¤ãã³ããããªã¬ã¼
ããã«å
容ã追å ããäºå®ã§ãã
Template:Otherlang:jp
Template:Otherlang:jp:en