!target

choreography とか faceposer がさっぱりわからんのでもう基礎からやることにした。

sdk_faceposer.vmf を見ると、 logic_choreographed_scene で target が指定されてないものがあり、 指定されているものもある。 なぜターゲットの NPC の指定が無いのに動くのかというのをまず調べてみた。 すると scene は VCD (Valve Choreography Data) というものに結びつけられているのだが、 VCD の中で actor 名がハードコーディングされている場合にはその actor にしか scene が働かないので、ターゲットを指定しなくてよい、ということのようだ。

いろんな種類の NPC が同じ VCD を共有する場合には、 ターゲットの actor の名前を !target1 とか !target2 などという名前にしておいて、 scene の中で target1 はどの NPC ですよとか記述するのでよい。

single player でプレイヤーは !player。

hoge という NPC が joge という trigger を起動して、joge が koge という logic_relay を動かしたとすると、koge の出力に対して hoge が !activator、joge が !caller、koge が !self となる、などなど。

まだまだわからんことがある。