UE4/C++er も Blueprint クラスを C++ コードから使用する必要がある場合はまま生じます。C++で実装するよりも Blueprint で実装した方が都合の善いクラスを C++ で実装したクラスから扱いたい場合にどうするか、 SpawnActor する場合を例に、 C++ クラスを扱う場合と Blurprint クラスを扱う場合を並べて整理します。 0. 共通: FActorSpawnParameters を定義する FActorSpawnParameters params; // 必要に応じてパラメーターを設定する。 params.bAllowDuringConstructionScript = true; params.bDeferConstruction = false; params.bNoFail = true; params.Instigator = this
UE4.14からGame Mode Baseという新しいクラスが追加されています。 このクラス、わかってしまうと簡単なことなのですが、非常にわかりづらいハマりポイントがあるのでメモとして記事を残しておきます。 Game Mode BaseはGame Modeの親クラス その名前の通り、Game Mode BaseクラスはGame Modeクラスです。 なぜこのような別クラスになったかと言うと、これまで用意されていたGame Modeクラスはネットワークマルチプレイヤー向けにマッチング機能が色々と追加されていきました。結果、Game Modeクラスはシンプルさがなくなり、Game Modeクラス自体が複雑な仕様となってきたために、別途用意されたのがGame Mode Baseクラスです。 どのノードがGame Modeクラス、もしくはGame Mode Baseクラスのノードかを調べるには、
この記事はUE4 Advent Calender 2017の24日目の記事です。 今回紹介する内容を応用すると、このような変なウィジェットを作ることができます。 このウィジェットの具体的な実装方針については記事内で触れません。代わりに、完成したプロジェクトをダウンロードできるようにしたので、そちらを参照いただければ幸いです。※実装が悪く、パフォーマンスが非常に悪いので、実装方法の参考程度に留めておいてください。 はじめに 記事内で表記する用語を統一します。グラフィックスプログラミングにおける「プリミティブ」とは、頂点を元に描画される線やポリゴン等の図形を指しますが、この記事の中ではDrawBoxノードやDrawTextノード、MakeBox関数やMakeSpline関数(ノード、関数の詳細は後ほど)によって描画されるものに対して呼称するものとします。 また、本記事で用いるFSlateDra
「Tick が来ない!」、たまによくあるのは私だけでしょうか。 UHogeFugaComponent の TickComponent が来ない、 AHogeFugaActor の Tick が来ない、などなど。そんな場合の備忘録です。 疑い(1): bCanEverTick が false コンストラクター等で bCanEverTick が true になっていない場合に Tick が来なくなる。 true にすれば良いし、そもそも通常はデフォルトで true なのでこのミスの可能性はわりと低い。低いけど根本的なところなので一応最初に疑って確認、必要なら修正。 // Actor の場合 PrimaryActorTick.bCanEverTick = true; // Component の場合 PrimaryComponentTick.bCanEverTick = true; 疑い(2):
前回の記事でC++コードをブループリントで使えるようにする基礎的な内容を解説しました。 今回はC++を使ってアクタークラスを扱えるようにしてみたいと思います。前回の記事で解説した部分と重なる部分も多いので、まだ見ていない方は一度目を通してもらえるとわかりやすいと思います。 アクタークラスを作る前に そもそもアクターというのはなんなのでしょう?よくアクターと同列に扱われるオブジェクトというものがありますが、UE4においてこれらは明確に定義があります。結論から言えばアクターもオブジェクトですが、オブジェクトはアクターではありません。 ではなぜオブジェクトが存在しているかと言うと、アクターはその名前の通り、ゲーム中において俳優となり、これはひとつの人物かのように扱います。オブジェクトは人ではない、服や靴や鞄と言ったコンポーネントとして扱います。 アクター自体は動きを制御したりしますが、オブジェク
今回はUE4.8から追加されたProceduralMeshComponentを使ってみます。 ただしこの機能は実験的に追加されているものですので、今後廃止になるということはないとは思いますが使い方が変更される可能性があります。 使用の際にはその点に十分注意して使用してください。 ProceduralMeshComponentはその名の通り、手続き的(Procedural)に生成されたメッシュを取り扱うコンポーネントです。 手続き的、というのはつまり、プログラムによる計算を用いてメッシュを生成できるということです。 今までは予めDCCツールで作成しておいたメッシュをボーンやモーフターゲットを用いて変形するのが関の山でしたが、この機能によってC++、もしくはBPからメッシュを生成することが可能になるというわけです。 それで何が出来るのか、というと、例えばアクターを使わずに大量の弾を描画して弾幕
こんにちは、企画制作の後藤です。今回はVRにおける物理エンジンとモーションキャプチャーのお話をしたいと思います。 まずはこちらの動画をご覧ください。 この動画はUnreal Engine 4 (ゲームエンジン)にPhysX : FleX (物理エンジン)を導入し、Leap Motion (モーショントラッキング)を使ってインタラクトできるようにしたテストプロジェクトを、HTC vive (VRヘッドマウントディスプレイ)上で動作させたものです。 動画の中で動いている白い手は、私が動かしている手の動きに連動しています。ヘッドマウントディスプレイの正面に取り付けた、特殊なセンサーで手の動きをトラッキングしているので、コントローラーも必要ありません。 Leap Motion については以前このBlogでも紹介しています。 【速報】シリコンバレーより現地レポート/SVVR2017 3日目 http
作成 Nick Whiting, Technical Director of VR and AR, Epic Games Google が Android 端末へ拡張現実 (AR) 機能を提供するための ARCore を発表しました。なんと、アンリアル エンジンはこの Google の ARCore デベロッパー プレビュー版をサポートしています。つまり、ユーザーのみなさんは今すぐ使い始めることができます。 ARCore は、ハードウェアを一切追加せずに、デベロッパーが素晴らしい AR 体験を作成できるようにしつつ、Android エコシステム全体での AR 開発を可能にするプラットフォームです。 ARCore SDK は、Android 7.0 Nougat 以上がインストールされた Google Pixel、Pixel XL、Samsung Galaxy S8 で使用できます。Goog
■やりたいこと UE4で、エディタのデザイナーで配置したWidgetを、親クラスのC++で取得して操作したい…
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く