FC2ブログ

凛(kagring)のUE4とUnityとQt勉強中ブログ

2016 年から UE4 を触り始めました。勉強したもののメモ用のブログです。C++ での Qt、Unity も少しあります。

趣味で作ったゲームが配信されてます!

Nintendo Switch™ や PlayStation®4などで配信されています。
よろしくおねがいします!

◆舞華蒼魔鏡
東方Projectファンゲーム / 横スクロール体当たりシューティング
http://lost-identity.jp/souvenir/html/MaihanaPS4/html/Top.html
Nintendo Switch™/PlayStation®4
舞華蒼魔鏡

・ニンテンドーeショップ
https://ec.nintendo.com/JP/ja/titles/70010000007245

・PlayStation®Store
https://store.playstation.com/ja-jp/product/JP2857-CUSA11294_00-MAIHANA000000000

・PlayStation®4 用のアバター
https://store.playstation.com/ja-jp/grid/JP2857-CUSA11294_00-MAIHANA000000000/1?relationship=avatars

・PlayStation®4 用のテーマ
https://store.playstation.com/ja-jp/grid/JP2857-CUSA11294_00-MAIHANA000000000/1?relationship=themes

◆クロワルール・シグマ
一騎当千アクション
http://lost-identity.jp/souvenir/html/CroixleurPS4/html/Top.html
Nintendo Switch™/PlayStation®4/PlayStation®Vita

クロワルール

・ニンテンドーeショップ
https://ec.nintendo.com/JP/ja/titles/70010000003218

・PlayStation®Store
https://store.playstation.com/ja-jp/product/JP0122-CUSA01586_00-0000000000000000
https://store.playstation.com/ja-jp/product/JP0122-PCSG00537_00-CROIXLEUR0000000

・PlayStation®4 用のアバター
https://store.playstation.com/ja-jp/grid/JP0122-CUSA01586_00-0000000000000000/1?relationship=avatars

・PlayStation®4 用のテーマ
https://store.playstation.com/ja-jp/grid/JP0122-CUSA01586_00-0000000000000000/1?relationship=themes

楽しんでい遊べるように頑張って作りましたので是非遊んでいただけましたらと!

≫ EDIT

UE4 存在せずエラーになっている変数を簡単に作成する(Create Variable)

他のBPから処理をコピーしてきたときに、
使っている変数が存在しなくてエラーがでてしまっている場合に
その変数を簡単に作成する方法です。

参考にさせていただいたサイトはこちら。

・[UE4] ちょっとだけ幸せになれるブループリント
http://historia.co.jp/archives/4120/

この方法の存在を知ったのは以下のツイートでした。

手順としては、参考サイトさんに書いてある以下のものになります。

ここで変数を左クリックで選択した状態にし、
ノード上で右クリックをすると以下のように「Create variable ‘変数名’」「Create local variable ‘変数名’」が現れるのでクリックします。
するとこのように変数名が維持されたまま新規の変数が自動的に作られます!

関数をまたげるだけでなく、ブループリント間も同様の操作でまたげるので
一部関数をBlueprintFunctionLibraryに纏める必要が出てきた際などに使えそうです。


まずはこんな感じに変数を作成して処理を書きます。
変数のコピペエラー000
変数のコピペエラー001
コンパイルしてみると普通に動きますね。

この処理を他のBPにコピーしてコンパイルします。
変数のコピペエラー002
変数がないのでエラーになります。

これを解消するために、
エラーになっている変数のノードを右クリックして
「変数○○を作成(Create Variable)」を選択して実行します。

変数のコピペエラー003

そうするとこんな感じで同じ名前と型で変数ができあがりました!
変数のコピペエラー004

便利ですね!
もっとはやく知っておけばよかったです!
スポンサーサイト



| UE4 | 21:24 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 浮動少数値の端数部分のみを取得する(Fraction)

浮動少数値の端数部分のみを取得する方法です。

参考サイトはこちら。

・Math 表現式
https://docs.unrealengine.com/ja/Engine/Rendering/Materials/ExpressionReference/Math/index.html
※「Frac」という項目のところにあります。

「Fraction」というノードがあるようですね。

Frac 表現式は、値を受け取り、受け取った値の端数部分を出力します。
言い換えると、入力値が "X" の場合、結果は "X - X の Floor" です。
出力値は 0 から 1 です。
下限は含みますが、上限は含みません。


といった感じの挙動になるようです。

・Fraction
Fraction002.png
「A」はFloatの値を指定します。
「Return Value」は端数部のFloat値になります。


実際にテストしてみました。
Fraction000.png
こんな感じでノードを繋いでみました。

結果はこんな感じに。
Fraction001.png
「1.8」というFloat値の端数部が「0.8」というFloat値に変換されました。
「1.3」というFloat値の端数部が「0.3」というFloat値に変換されました。


ここらへん結構簡単にできるのはいいですね!

| UE4 | 18:14 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 浮動少数値の端数部分を四捨五入して整数に変換する(Round)

浮動少数値の端数部分を四捨五入して整数に変換する方法です。

参考サイトはこちら。

・Math 表現式
https://docs.unrealengine.com/ja/Engine/Rendering/Materials/ExpressionReference/Math/index.html

「Round」というノードがあるようですね。

Round は端数部分が半分以上の場合、その値を次の整数へ値を四捨五入します。半分以下の場合は切り捨てます。
例:
1.1 は四捨五入すると 1 となります。
1.4 は四捨五入すると 1 となります。
1.5 は四捨五入すると 2 となります。
1.85 は四捨五入すると 2 となります。


といった感じの挙動になるようです。

・Round
Round002.png
「A」はFloatの値を指定します。
「Return Value」は小数部を四捨五入した整数になります。

実際にテストしてみました。
Round000.png
こんな感じでノードを繋いでみました。

結果はこんな感じに。
Round001.png
「1.8」というFloat値の小数部が四捨五入されて「2」という整数に変換されました。
「1.2」というFloat値の小数部が四捨五入されて「1」という整数に変換されました。

ここらへん結構簡単にできるのはいいですね!

| UE4 | 20:18 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 浮動少数値の端数部を切り捨てて整数に変換する(Truncate)

浮動少数値の端数部を切り捨てて整数に変換する方法です。

参考サイトはこちら。

・Math 表現式
https://docs.unrealengine.com/ja/Engine/Rendering/Materials/ExpressionReference/Math/index.html

「Truncate」というノードがあるようですね。

Truncate ノードは、整数部分は変更せずに端数部分を削除して、値を切り捨てます。
例:
1.1 は切り捨てると 1 になります。
1.4 は切り捨てると 1 になります。
2.5 は切り捨てると 2 になります。
3.1 は切り捨てると 3 になります。


といった感じの挙動になるようです。

・Truncate
Truncate002.png
「A」はFloatの値を指定します。
「Return Value」は小数部を切り捨てられた整数になります。

実際にテストしてみました。
Truncate000.png
こんな感じでノードを繋いでみました。

結果はこんな感じに。
Truncate001.png
「1.8」というFloat値の小数部が切り捨てられて「1」という整数に変換されました。

ここらへん結構簡単にできるのはいいですね!

| UE4 | 14:44 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 第3回UE4何でも勉強会 in 東京

第3回UE4何でも勉強会 in 東京というイベントがあったようなのでまとめです。

イベントページはこちら。

・第3回UE4何でも勉強会 in 東京
https://ue4allstudy.connpass.com/event/129917/presentation/

動画はこちら。








・ブラウザで遊ぶUE4 PixelStreamingでなんかやってみた!!!!編
https://docs.google.com/presentation/d/1h9_K2gmZowvNYskreqOfsKEKnimUQ3qlGd8CydoayzU/edit#slide=id.p

・UnrealEngine4でUI。 UnrealEngine4でUI。SpriteStudioの場合
https://docs.google.com/presentation/d/14E6nd-go6TMKn9mH_Q5rwPlrl4d6AgMes4oVtSRz8YU/edit#slide=id.p1

とりあえず自分用メモとして。

| UE4 | 18:36 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 配列に入っているすべてのアクター(Actor)を破棄して配列の要素も削除する

配列に入っているすべてのアクター(Actor)を破棄する方法のメモです。
これについてはアクターだけでなく、配列のコンポーネントなどを破棄する場合にも使えるのかなと思います。
一度軽くはまったので備忘録として。

例としてアクターを持つ6個の要素を持つ配列を用意しました。

まずは配列に入っているすべてのアクターを破棄しつつ、配列の要素からも削除していきます。
普通にBPを書くとこんな感じになると思います。
配列全削除000

するとこんな感じの結果になりました。
配列全削除001
6個要素があるのに3回しか実行されません。

これは配列の「Remove」を行うことで配列の要素数が減ってしまい、
結果3回しかループが実行されない
というのが原因になります。

ここらへんC++とかでのイテレーター周りの間隔に似てる感じですかね。

ANSWERHUB にも同じような質問があるようです。

・オーバーラップしたアクターをDestroy Actorで破壊しようとするとエラーが出ます。

これを解決する方法を調べてみるとこんな感じの物がありました。

・How can I properly destroy actors from an array inside a loop

これを解決する方法として配列の要素数はその場では減らさず、
ループが終わったときに配列の要素をクリアしよう。
というものみたいですね。

BPはこんな感じに。
配列全削除006
要素数は減らさないが、配列の中身は無効にしておく。といったものみたいですね。

結果はこんな感じに。
配列全削除003
無事6回実行されているようです。

上記の他に解決する方法として、
「ReverseForEachLoop」を使うというのができそうです。
こんな感じですね。
配列全削除004
配列の逆から回せば要素数減っても問題ないよね。というものです。
一応「Remove」は「Index」を使って削除してます。


実行するとこんな感じに。
配列全削除005
こちらも無事6回実行されているようですね。

みなさんわかってるかもしれませんが、うちはつまずいたのでメモということで…。

| UE4 | 18:42 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 第10回UE4勉強会 in 大阪

第10回UE4勉強会 in 大阪 という大阪でのイベントがあったようなのでまとめです。
ツイッターでお気に入りにしていたのに忘れていたのでいまさらですが…。

・第6回UE4勉強会 in 大阪
https://ue4study-osaka.connpass.com/event/114983/presentation/






とりあえず自分用メモとして。

| UE4 | 11:55 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 エディタ上で選択しているアセットをコンテンツブラウザで探すショートカットキー(CTRL + Bキー)

エディタ上で選択しているアセットをコンテンツブラウザで探すショートカットキーの説明です。

参考にしたサイトはこちら。

・デザイナーのための Unreal Engine キーボード ショートカットキー集
https://www.unrealengine.com/ja/tech-blog/designer-s-guide-to-unreal-engine-keyboard-shortcuts

エディタでいろいろ配置していて調整したい場合は重宝しそうですね。

使い方はこんな感じに。

①エディタ上でアセットを選択します。
アセット探索000
この状態ではまだコンテンツブラウザでは特に何も選択されていません。

②CTRL+Bキーを押す
アセット探索001
そうすると現在選択しているアセットが、コンテンツブラウザ上で選択されます。

これらのショートカットは使いこなせると効率上がりそうですね!

| UE4 | 11:56 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 ビューポートの視点位置を登録してショートカットキーで切り替えるブックマーク機能(Bookmark)

ビューポートの視点位置を登録してショートカットキーで切り替えるブックマーク機能というものの紹介です。

参考サイトはこちら。

・デザイナーのための Unreal Engine キーボード ショートカットキー集
https://www.unrealengine.com/ja/tech-blog/designer-s-guide-to-unreal-engine-keyboard-shortcuts

・UE4 カメラブックマーク機能を使って瞬時にカメラ移動
http://unrealengine.hatenablog.com/entry/2014/12/21/221331

・[UE4] 実はこんなにある!ブックマーク・お気に入り系機能について
http://historia.co.jp/archives/9510/

使いかたはとても簡単でこんな感じで使うことができます。

ビューポート左上のアイコンから"ブックマーク"を選び、次に"ブックマークを設定する"を選び、最後にブックマーク番号を指定して登録するだけです。


キーボードショートカットも用意されています。

登録にもショートカットがあり、"Ctrl+0~9"のどれかを押すことにより瞬時にカメラブックマークを登録することができます。
登録したあとは登録した番号に応じた数字キーを押すだけです。

こちらのほうが使いやすいですね。

というわけで実際にやってみました。
まずはビューポートを切り替えて「CTRL+0~9」でブックマークを登録します。
ブックマーク002
ブックマーク003
ブックマーク004
ブックマーク001
こんな感じで登録してみました。

メニューでも登録が確認できるのでみてみるとこんな感じに。
ブックマーク000
無事登録されているみたいですね。

あとは「数字キーの1~9」を押して実際にブックマーク機能を使ってビューポートを切り替えてみました。

ビューポートの切り替えは無事できているみたいですね。

この機能はレベルが広くなってきて、カメラ移動も一苦労となった時に瞬時に移動するショートカットとしての機能だけでなく、一時的にカメラアングルを保存し、レベル上に配置したメッシュなどの見た目を固定したアングルで何度も見直したりするのにとても便利です。

上記のような状況だとほんと使える機能だと思いますので
この機能もっと早くに知っておくべきでした…_no

| UE4 | 12:51 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 ショートカットキーなどの便利操作(ビューポート編)

UE4のエディタでのショートカットキーなどの便利操作メモです。
随時更新中。

参考サイトはこちら。

・デザイナーのための Unreal Engine キーボード ショートカットキー集
https://www.unrealengine.com/ja/tech-blog/designer-s-guide-to-unreal-engine-keyboard-shortcuts

知らないショートカット多いですね…。
ここらへん使うようになると速度上がりそうですね。

・グループ化およびグループ化解除 (Ctrl +G/Shift + G)
・オブジェクトのレベルを選択 - 現在のレベルとして設定 (M)
・クラスで選択 & 選択の反転 (右マウスボタン -> Select (選択) -> Select Matching (Selected Class) (一致するクラスを選択 (選択クラス)など)
・アウトライン (G)
・カメラの設定 (Ctrl + 1~9)
・コンテンツ ブラウザでアセットを探す (Ctrl + B)


特別便利なショートカットは別途記事としてメモっておこうと思いました!

| UE4 | 12:21 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 UE4を用いた大規模開発事例紹介 ~スクウェア・エニックス様をお招きして~ 記事まとめ

UE4を用いた大規模開発事例紹介 ~スクウェア・エニックス様をお招きして~ の資料が公開されたのでメモ。

EPICさんの紹介記事はこちら。

・貴重な資料全公開!UE4を用いた大規模開発事例紹介 ~スクウェア・エニックス様をお招きして~
https://www.unrealengine.com/ja/blog/ue4-seminar?sessionInvalidated=true

togetter はこちら。

・UE4を用いた大規模開発事例紹介 ~スクウェア・エニックス様をお招きして~ #UE4PM
https://togetter.com/li/1329440

以下スライド。

◼︎︎UE4におけるエフェクトの基本戦略事例


◼︎UE4における自動プレイのポストモーテム

◼︎実行速度の最適化のあれこれ プラス おまけ

◼︎UE4におけるエフェクトの為のエンジン改造事例

◼︎UE4におけるアニメーション制作事例

◼︎UE4における大規模背景制作事例(コリジョン・データメンテナンス編)


◼︎UE4におけるレベル制作事例

◼︎UE4における大規模背景制作事例(描画・特殊表現編)

◼︎UE4における大規模背景制作事例(最適化・ワークフロー編)

| UE4 | 17:58 | comments:0 | trackbacks:0 | TOP↑

| PAGE-SELECT | NEXT