よく使うSchematycの設定とノード
目次
スポーンポイントの設定
スポーンさせたい場所に「Empty Entity」を置く。「Empty Entity」のNameは「SpawnPoint」など分かりやすい名前にする。
“スポーンさせたいEntity”のFind By NameノードのNameにはスポーンさせたい場所に置いたEntityのNameを設定する。
Find By NameノードはGet系ノードに繋げることで指定したNameのEntityの値を取得出来る。Get Entityノードは、このSchematyc Entity自身を取得。
Entityを回転させる方法
https://answers.cryengine.com/questions/5939/how-to-rotate-entity-with-schematyc.html
マウスでEntityを回転させる 未完成
SchematycにComponentsのInput、Meshを追加。
Construction Graphの設定
Construction Graphを以下の画像のようにノードを設定する。
input idはXとY
NameはSignal Graphで参照するので後で分かる名前にする。
Variables(変数)の設定
TypeはFloatに設定
名前はSignal Graphで参照するので後で分かる名前にする。
Signal Graphの設定
説明
On Action Changed
Action Name
キー、マウスなどでボタンが押されるなどすると「Action Name」からConstruction Graphで設定した「input id」名が出力される。
Value
Valueからはキーなら0か1、マウスなどは、上下左右 -1、1 それぞれ対応している。(うまく説明できない)
マウスなどは他にも素早く入力すると-100とか数値が大きくなる。
Switch
TypeをStringに設定。CasesからValueを追加。
On Action ChangedのAction Nameから出力された「input id」名を受け取り、一致したValueがあればそのValueに進む
Schematycのデバック
SchematycエディターのLogにコメントやエラーなどデバッグ情報を書き込む。
デバッグ情報を画面に描画する
ComponentにDebug Drawを追加する。「Draw2DText」ノードなどで画面に情報を描画。
Int、Vector3などの値は「ToString」ノードで文字に変換してから「Draw2DText」ノードのTxetポートに繋げる。
未完成 Entity間のデータの受け渡し方法
データの受け渡しには2つの「Schematyc Entity」と1つの「Schematyc Library」が必要
- 情報を送る「Send」 Schematyc Entity
- 受け渡しの中継地点「Library」 Schematyc Library
- 情報を受け取る「Receives」 Schematyc Entity
まず、受け渡しの中継地点「Library」にFloatなどでdamage変数を設定する。
次に、「Send」Entityで情報を「Library」Entityに送る
送り方
「Send」EntityのSignalGraph内のSignal > Receiveに「Library」Entityで設定したノードがあるので選択し設定。これで、「Library」Entityのdamage変数に送られる。
受け取り方
受け取るには、「Receives」EntityのSignalGraph内のSignal > Send内の「Library」Entityで設定したノードがあるので選択。これを、「Receives」Entity内のHP変数などに送る。
- Schematyc Library データのみの情報でエディターで配置できない。他のSchematycから参照される情報が入っている。Entity間のデータの受け渡しに使える。
- Schematyc Entity オブジェクトなどのエディターで配置できる情報。
ExpandとCreateノードの使い方の例
作成
Create
UE4のMake RotationなどMake系に相当
展開
Expand
UE4のBreak RotationなどBreak系に相当
「GetEntityId」と「GetTransform」ノードで自分の位置、回転、Scaleを取得し、「Expand」ノードで位置、回転、Scaleのポートに分解、「Add」ノードなどで足し引きなどをして「Create」ノードで位置、回転、ScaleをTransformにまとめる。まとめたら、「SetTransform」ノードなどに繋げる。
function > Standard > によく使われるノードがある。
Entityでよく使われるノード例
SetPosition
SetRotation
SetTransform
TransformはEntityの位置、回転、Scaleが含まれている。
PositionはEntityのワールド空間の位置を指す。