CRYENGINE V Schematycスニペット

よく使うSchematycの設定とノード

目次

スポーンポイントの設定

スポーンさせたい場所に「Empty Entity」を置く。「Empty Entity」のNameは「SpawnPoint」など分かりやすい名前にする。

SchematycのEntityを以下の画像のようにする。

“スポーンさせたい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」が必要

  1. 情報を送る「Send」 Schematyc Entity
  2. 受け渡しの中継地点「Library」 Schematyc Library
  3. 情報を受け取る「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のワールド空間の位置を指す。

Gポイント

コメントを残す