CryENGINE」カテゴリーアーカイブ

CMakeでCRYENGINE Vをビルド

CRYENGINEバージョン 5.3以降ではCMakeでCRYENGINE Vをビルドする。

CMakeをインストール

CMake
https://cmake.org/

GitHubからCRYENGINEのソースコードを取得

まず、GitHubからCRYENGINEのソースコードを取得し、任意のフォルダに置く。

https://github.com/CRYTEK/CRYENGINE

CRYENGINE SDK」のダウンロード

エクスプローラを開き「download_sdks.exe」を実行「CRYENGINE SDK」が自動でダウンロードされる。
続きを読む

CRYENGINE V Schematycについて

SchematycはUnityのコンポーネント、プレハブに相当するビジュアルスクリプトツール機能です。

一見すると、SchematycはFlow Graphと同じように見えますが、2つのシステムは異なる目的で構築されています。

Flow Graphはlevelスクリプト制御を提供するように設計されているの対し、Schematycはlevel内のObjectのみを制御するように設計されています。

続きを読む

CRYENGINEの現状

CRYENGINEの現在の状況のまとめ
2019年03月22日 時点
過去の情報は「CRYENGINEの歴史」を見てください。

CRYENGINE全般

言語は英語

CRYENGINEのロードマップ
https://www.cryengine.com/roadmap
5.6は2019夏?
ロードマップの予定は基本的に遅れている。

年間の総収入USD 5,000以上のプロジェクトごとに5%の支払いが発生する。
USD JPYの為替レート計算式 USDJPY
1ドルが112.66円なら5,000ドルは563,300円
563,300円の5%は28,165円
563,300
0.05=28,165

CRYENGINE Vマニュアルは、まだ未完成。分からないことはforumで聞く。

サンプルプロジェクトのGameSDKはCrysis2のアセット、システムが元になっているので古い

続きを読む

CRYENGINE V Character Tool 使い方

Character Toolの主な役目は、プレイヤーなどのキャラクターの定義(メッシュ、Skeleton、アニメーションの関連付け)をすることです。BlendSpaceでアニメーションをBlendする際にも使います。

キャラクターの定義に必要なファイル

.cdfに必要なファイル

  1. .chr(キャラクターのSkeletonデータなど含む)
  2. .skin (キャラクターのメッシュ)
  3. .chrparams(キャラクターパラメータファイル)

.cdf(キャラクターの定義)
XMLファイル構造
キャラクター定義ファイルは、Sandbox内のCharacter Toolで作成します。
.cdfには、.chrファイル、.skinファイルとその他の添付ファイルの参照が含まれています。

.chr(キャラクターのSkeletonデータなど含む)
character
.chrファイルは3Dモデリングソフトで作成され、アニメーション、ラグドールシミュレーションに使用されるSkeleton、ヒット検出の物理プロキシを含んでいます。

.skin (キャラクターのメッシュ)
.skinファイルは3Dモデリングソフトで作成され、Characterの メッシュデータが含まれています。
メッシュ、頂点重み付け、頂点色など含んでいます。

The .skin file is created in the 3D application and contains skinned character data. It can be any asset that is animated with bone-weighted vertices like humans, aliens, ropes, lamps, heads, and parachutes. The .skin file includes the mesh, vertex weighting, vertex colors, and morph targets.

.chrparams(キャラクターパラメータファイル)
XMLファイル構造
http://docs.cryengine.com/display/SDKDOC2/Mapping+Animation+Assets

CryEngineは、定義しない限り、どのアニメーション(.caf)がどのSkeleton(.chr)に属しているかを認識できないため.chrparamsファイルにキャラクターのSkeletonに対応したアニメーションのリストなどを定義する必要があります。

これらの定義は、LOD、IK、およびアニメーションリストの3つのグループに分類されます。

.chrparamsファイルは、参照するキャラクター(.cdf)のファイルと同じ名前を持っています。

*(アスタリスク)使用可能
.chrparamsファイルは、手動で作成

<AnimationList>
  <Animation name="$AnimEventDatabase" path="characters/ambient_life/bear/bear_baby.animevents"/>
  <Animation name="#filepath" path="characters/ambient_life/bear/animations"/>
  <Animation name="*" path="*/*.caf"/>
  <Animation name="*" path="*/*.bspace"/>
  <Animation name="*" path="*/*.comb"/>
</Animation>

Skeletonの登録

Skeletonを登録してから、メッシュ、添付ファイルを追加する。Skeletonを登録するには、Character ToolからCompression (Animations)のSkeleton Listをクリック

AliasesのAdd。Skeletonを登録する。

数字の上辺りで右クリックで削除など出来る。

キャラクター定義ファイル(.cdf)を作成

キャラクター定義ファイル(.cdf)のProperties

Skeletonに.chr(キャラクターのSkeleton)、Geometryに.skin (キャラクターのメッシュ)を指定

スケルトンの表示方法

.chrparams
http://docs.cryengine.com/display/SDKDOC2/Mapping+Animation+Assets

キャラクターのベースアニメーションフォルダの設定

キャラクターのアニメーションを探す場所をエンジンに伝えるために、.chrparamsファイルの最初の行はキャラクターのアニメーションフォルダを設定します。

キャラクターのアニメーションはすべて、設定したフォルダ内またはそのサブフォルダ内に置きます。通常、このフォルダはGame/Animationsフォルダ内に配置します。

ワイルドカードマッピング

各アニメーションを1行ずつ追加すると、非常に大きな.chrparamsファイルが作成され、セットアップに時間がかかることがあります。

アニメーション名とファイル名が異なる場合にのみ各アニメーションを1行ずつ追加が必要です。これが当てはまらない場合、アスタリスク*を使用したワイルドカードマッピング使用します。

制作中は「test」フォルダをワイルドカードマッピングすることで、アニメーターにとって大幅にワークフローが改善される可能性があります。新しくエクスポートされたアセットをこのフォルダに配置し、.chrparamsファイルを変更することなく、すぐにCharacter Toolでテストすることができます。

未完成↓

複数のキャラクター間のアセットの共有

アニメーションイベントデータベースの設定
.animsettings
足跡や足音、パーティクルエフェクトなどのイベント
キャラクターエディタで設定できます。

 

BlendSpace
.bspace
グリッド状に組み立てられたアニメーションのコレクションで、アニメーションのブレンドを可能にします。

comb – 方向を結合するためのbspaceファイルの組み合わせ(例:moveTurn_left.bspace)

 

http://docs.cryengine.com/display/CEMANUAL/4+-+Assembling+Attachments

http://docs.cryengine.com/pages/viewpage.action?pageId=26870214

http://docs.cryengine.com/pages/viewpage.action?pageId=27594502

 

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のワールド空間の位置を指す。

CRYENGINE V アニメーションの設定方法

キャラクター、アニメーションの設定とアニメーション再生方法

Humble CRYENGINE Bundle 2018(販売終了)のAsset 「しろくま」

設定の大まかな流れ

  • Character Toolでキャラクターの定義を作成し、アニメーションとSkeletonの登録をする
  • Mannequin Editorでアニメーションを定義、調整、管理などする
  • SchematycのAnimated MeshかAdvanced Animationsを追加し、PlayAnimationノードなどでアニメーション

Character ToolとMannequin Editorの使い方は別ページに書く予定です。

Character Tool

Character Toolの主な役目は、キャラクターの定義を作成し、アニメーションとSkeletonの登録をすることです。BlendSpaceでアニメーションをBlendする際にも使います。
http://docs.cryengine.com/display/SDKDOC2/Character+Tool

Mannequin Editor

Mannequin Editorの主な役目は、複雑に作用し合うアニメーションを設定、調整、管理することです。アニメーションに足音などの効果音を設定したり、アニメーション再生時に参照されるFragmentIDやTagなどを設定します。
http://docs.cryengine.com/display/SDKDOC2/Mannequin+Introduction

アニメーションの再生方法

アニメーションの再生方法はSchematycかFlowGraphを使用します。Schematycがおすすめです。
今回はSchematycを使用します。TPSテンプレートのアニメーションを使用しています。

Schematyc EditorかAsset BrowserからSchematyc Entityを選びます。途中の選択肢はSchematyc Libraryを含めるかの選択肢で今回はNo.

Add -> Componentから「Advanced Animations」、「Animated Mesh」いずれかまたは両方を追加します。

「Advanced Animations」は主にBlendSpaceのアニメーションを設定する際に使い、「Animated Mesh」は単体のアニメーションを設定する際に使います。今回はAdvanced Animationsを使用します。

Advanced Animationsの設定

  • Characterには、Character Toolで作成したキャラクター(.cdf)を設定します。
  • Animation Databaseには、対応したアニメーションデータベースファイル(.adb)を設定します。
  • Controller Definitionには、Mannequin Editorで設定したxxxControllerDefs.xmlを設定します。
  • ここまで正しく設定できていれば、残りの2つはMannequin Editorで設定したFragmentIDなど表示されるのでデフォルトのアニメーションを設定します。

Mannequin Editorの設定画面

SignalGraphのStartノードからActiveContext、QueueFragment、SetTagを追加します。

それぞれ指定したいアニメーションのContext、FragmentID、Tag名を設定します。

BlendSpaceのTravel Speed、Travel Angleの設定例

PerspectiveにSchematyc Entityを置けばアニメーションが再生されます。もし再生されない場合は、CRYENGINEを再起動してみてください。

「Humble CRYENGINE Bundle 2018」の内容解説

ダウンロード販売サイト「Humble Bundle」で2018年05月02日~2018年05月16日(日本時間)の2週間「支払いたい分だけ支払う」方式で販売されていた。

追記: 現在は販売されていませんがAssetについては一部を除きCRYENGINE Marketplaceで無料で配布されています。

Humble Bundle」は販売で得られた収益をゲーム制作者だけでなく複数のチャリティー団体に寄付も出来る販売サイトです。

続きを読む

CRYENGINE 5.5 Preview 概要

日本時間 2018年03月21日 Crytekは、CRYENGINE Vの改良、機能強化、新たなラーニングの提供、エディタのソースコード公開など新しい機能を導入したCRYENGINE 5.5 Previewをリリースしました。

また、今後は年間の総収入USD 5,000以上のプロジェクトごとに5%のロイヤルティが発生することになりました。例外あり(Ver5.0~5.4も含める)
https://www.cryengine.com/faq#faq-licensing

CRYENGINE 5.5 は、260以上の機能強化と修正がされ『Hunt: Showdown』と並行して開発されています。 続きを読む