Quantcast
Channel: historia Inc –株式会社ヒストリア
Viewing all 984 articles
Browse latest View live

【予告】Unreal Engine 4作品コンテスト「第13回UE4ぷちコン」を2月14日(金)より開催決定!

$
0
0

2、3日でサクッと作ってサクッと応募!

“第13回UE4ぷちコン”開催決定!

開催期間: 2020年2月14日(金)~3月29日(日)(3月30日(月)AM10:00)まで!

 

 

UE4ぷちコンとは、株式会社ヒストリアが主催するゲームエンジン「Unreal Engine 4」の
学習を目的とする一般参加型ゲームコンテストです!
参加者は短期間(約1か月)でテーマに沿った作品を制作・投稿し、入賞を目指します。

「UE4の学習」を目的としたコンテストなのでプロもアマチュアも関係ありません。
ぜひ皆さんのUE4に触れるきっかけにして頂けると嬉しいです!

 

テーマ発表は2月14日(金)

 

なんとバレンタインから! テーマの発表と同時に開催概要を公開、コンテスト開始となります。
2月14日(金)AM12:00に第13回UE4ぷちコン特設ページが公開されるので、チェックしてくださいね!

 

特設ページはこちらから

(2月14日に公開されます)

 

 

※UE4ぷちコンはご協賛いただける企業様を募集しております。
詳細は下記よりお問い合わせください。
株式会社ヒストリア (info@historia.co.jp)

【告知サイト】 http://historia.co.jp/ue4petitcon13 (2月14日に公開)
【主催】 株式会社ヒストリア
【共催】 エピック・ゲームズ・ジャパン


UE4ぷちコン映像編 受賞作品発表!

$
0
0

UE4ぷちコン 映像編の結果発表です。
応募総数56作品!今回もたくさんのご応募ありがとうございました!

初開催の映像編、様々な”日の出”が集まりました!!
その中から大賞を含む8作品を選出いたしました!

それでは、受賞作品をご覧ください!

審査員: Epic Games Japan 岡田様斎藤様

株式会社ヒストリア 佐々木

 UE4ぷちコン映像編 審査結果発表会


【大賞】SEEKING SUNRISE

コンノヒロム さま

 


【おかず賞】SunRise Movie

らいちょう さま

 


【ずし賞】太陽の種

altalt さま

 


【ささき賞】憂鬱の翌朝

QRR  さま

 


【日の出賞】日の出

yeczrtu  さま

 


【ありそうなCMで賞】コマーシャル・フィルム

恒吉星光  さま

 


【Megascans活かしたで賞】飛ノ出

wanimation さま

 


【ツインモー賞】Alone

Yuri  さま

 

受賞、おめでとうございます!
次回もよろしくお願いします!!

※コンテストの告知ページはこちらです。

 

[UE4]UMGで使えるでシンプルなグラデーションを作り方あれこれ

$
0
0
執筆バージョン: Unreal Engine 4.24

こんにちは。

使ってますか?グラデーション。

今回はUMGで使えるグラデーションマテリアルの作成方法を書いていこうかと思います。

マテリアルを作成したら、Material Domeinを User Interfaceに変更します。

1.シンプルな水平方向・垂直方向のグラデーション

よくある(?)テクニック、コンポーネントマスクを使ったグラデーションです。Maskを(R)ではなく(G)になるようにチェックすれば垂直方向に変わります。

※TexCoordはUVを作成するものですが、X座標が横軸、Y座標が縦軸で原点が左上とする座標系なので、マスクを使いで片方を取り出すと単純な0から1に向かうグラデーションになるわけです。

 

2.グラデーションの色数や分布をもっと自由に設定したい

カーブ+カーブアトラスを使ってみましょう。

①カーブアセット(CurveLinerColor)を作成し、0から1の間の横軸を使って好みのグラデーションを作成します。

②カーブアトラスに作成したカーブを登録します。

③マテリアルエディタで「CurveAtlasRowParameter」ノードを配置し、作成したカーブアトラスを設定・その後にカーブを指定します。

④先ほどと同じようなTexCoordからコンポーネントマスクを使用して0-1の入力値を取り出し、それをCurveTimeに繋ぎます。

これで作成したカーブのグラデーションの値がマテリアル内で使用できます。

 

3.斜めのグラデーション

斜めのグラデーション、PhotoshopやIllustratorではよく使いますね!

マテリアルエディタには回転させるためのノードがあります。

「CustomRotator」を使ってみましょう。

回転を分かりやすくするために、パラメータの入力値を度数法に変換しています。(360度で一周)

これで回転するはず・・・!

回った回った・・・ん!?

思ったのとちがーう!!

Illustratorなどのグラデーションと同じように、端から端までスムーズにグラデーションして欲しいわけです。

UE4のCustomRotatorを使用するだけだと、こんな感じになっています。

長さが足りないのか・・・じゃあ伸ばせばいいじゃん?

と、いうことで、角度に応じてスケーリングする処理を追加します。

と、いうわけで計算で求めます。いえ、解けなかったので描画系エンジニアさんに解いてもらいました。(ありがとうございます)

すらっと解けなかったので図に答えを書いておきました。L=sinθ+cosθです。

sinθとcosθはマイナスの値になるため絶対値を取ります。

 

もちろん、2番の自由なグラデを掛け合わせて使えます。

後は各々でマスクを設定したり、透明度を設定することでいろんなグラデーションや形状を作れそうですね。

UIではNoMipMapでテクスチャを使用するので、マテリアルで作成すればテクスチャ容量を削減できます。

これは試してみるっきゃない。

 

おまけ

[UE4]VirtualTexturingについて

$
0
0
執筆バージョン: Unreal Engine 4.24

今回はVirtualTexturingについて紹介したいと思います。

※※注意※※VirtualTexturingはバージョン4.23から入ってきた機能で、現在ベータ版です。
また、VirtualTexturingを使うことそのものが処理負荷軽減にはならない可能性があります。

・VirtualTexturingの種類について
VirtualTexturingには2種類あります。それぞれの利点や使い方について触れていきたいと思います。
・StreamingVirtualTexturing(以下SVT)
・RuntimeVirtualTexturing(以下RVT)

StreamingVirtualTexturingについて
この手法が効果的なものは、ライトマップなど、どうしてもテクスチャサイズが大きくなってしまうものや、巨大なオブジェクトに対して高解像度なテクスチャを適用しているときなどに効果的です。
現状のmipmapの方法だと、オブジェクトに対して近い状態だと、そのオブジェクトが画面の1部分にしか描画されていなくても、高解像度のテクスチャ全体が読み込まれてしまいます。
それに対し、SVTでは表示されている部分にあった解像度のテクスチャがストリーミングされます。下の画像はSVTが適用されている状態です。

適用されているテクスチャの解像度が1つのオブジェクトの中で変化しています。どのくらいのミップレベルで読み込まれているかは
r.VT.Borders 1
で可視化できます。メッシュがカメラに近い部分ほどグリッドが細かく分割されている(高い解像度が使われている)のが確認できます。
このボックスに貼られているSVTすべてのmipmapがタイル状に分割されていて、必要な部分だけロードしています。(画像はRenderDocからの確認したものになります)

SVTを使用したい場合はProject Settings>Rendering>Enable Virtual Texture Supportにチェックを入れます。(プロジェクトの再起動が必要になります)

次にSVTしたいテクスチャ設定を開いてVirtual Texturing Streamingのチェックを有効にします。

設定が適用できるとテクスチャのサムネイルに『VT』の文字が付きます。
※プロジェクト設定のVirtualTexturingをONにすると大きなテクスチャを読み込んだときに自動的にVirtual Texturing Streamingが有効になります。およそ4Kサイズ以上になると自動的にVTになるようです。

またSVTによってUDIMにも対応することができます。
※ベータ版のためか、かなり挙動が怪しいです。テクスチャリインポートではほぼ確実にエディタが落ちてしまいました。
UDIMテクスチャはテクスチャが同じ階層内に下記のように連番で名前がつけられていると自動的にUDIM・VirtualTexturing化されます。
BaseName.####.[サポート画像形式]
テクスチャを上記の命名規則に従ってサイズ違いで4枚、以下の用に用意しました。

UDIM用テクスチャのうちどれか1枚を選択すると同階層にあるテクスチャも自動的に読み込んでくれます。
UE4に読みこんだテクスチャは以下の様に複数のテクスチャが1枚にまとめられています。

Mayaで以下のようなUV配置をしたオブジェクトを用意しました。そのオブジェクトにインポートしたテクスチャを適用すると2つ目の画像になります。0~1のUV領域を超えてちゃんとマッピングされています。

ただし、読み込み時にテクスチャサイズが異なるものが入っていると、以下の画像のように勝手にタイリングされてしまう場合があります。タイリングはプロジェクトを開き直すと正しくなるようです。
(それでも治らない場合はNoMipmapに変更してプロジェクトを開き直したりすると正しくなるかもしれません…)
他にもStreamingのボーダーが正しく可視化されない場合があったりと、使用にはかなり注意しなければいけないかもしれません。

RuntimeVirtualTexturingについて
RVTは前述したSVTと異なり、テクスチャ単体の仕組みではなく、シェーディングキャッシュのようなものになっています。
マテリアルで使用しているテクスチャをそのままを使うのではなく、そのマテリアルを使用してブレンドした結果をテクスチャとしてキャッシュしている状態になっています。さらにそのテクスチャをSVTと同様、すべてのmipmapがタイル化され、サンプリングする際に解像度などを加味してくれています。(mipmapをどこまで含めるかは設定で変更できます。
以下のランドスケープマテリアルをRVT化してみます。

マテリアルの状態

ビューポートの状態

RVTしたものをRendererDocでどのようなテクスチャを読んでいるのか確認したのが以下の画像になります。
マテリアルで使用している複数のテクスチャが使用状況に応じた1枚のテクスチャに合成されています。またそのテクスチャがSVTのようにタイルに分割され、必要な解像度にあわせたmipmapが呼び出されています。


RVTは、ランドスケープなどの様にテクスチャを複数使ったりする複数なマテリアルなどのレンダリングに向いています。
ただしこのRVTは実質的にシェーディングキャッシュのため、フレームごとの更新では無いそうです。そのため、動くメッシュには向いていません。MovableMeshではなくても、頂点シェーダで動いているようなStaticMeshも不向きなものに該当します。またRVTはキャッシュ結果をZ 軸の負方向への垂直投影するような形でテクスチャをメッシュに反映しています。

RVTを適用する手順を見ていきます。
RVTを使用する際もSVTと同様にProject Settings>Rendering>Enable Virtual Texture Supportが有効になっている必要があります
また、本記事ではRVT化するアセットはLandscapeアクタをベースにしています。

SVTを有効にするにはテクスチャのオプションを有効にするだけでしたが、RVTでは設定をもたせるアセットの作成、マテリアルの作成、適用範囲を決めるボリュームアクタの配置など、いくつか手順が必要になってきます。
順に説明していきたいと思います。

まずRuntime Virtual Texture というアセットを作成します。(以下RVT アセットとします

このアセット内でRVTの設定を変更することができます。設定の内容についてはこちらをご参照ください。
https://dq8iqaixvew1d.cloudfront.net/ja/Engine/Rendering/VirtualTexturing/Reference/index.html
この記事では作成時のデフォルトの設定で作業を進めます。
RVT アセットはマテリアル、ボリューム、RVTを適応したいアクタの合計3箇所に設定します。

次に、RVT用のマテリアルを作成します。使用するランドスケープマテリアルにRVT アセットに書き込むノード・Runtime Virtual Texture Outputと、RVT アセットに書き込むノード・Runtime Virtual Texture Sampleを追加します。
https://dq8iqaixvew1d.cloudfront.net/ja/Engine/Rendering/VirtualTexturing/Runtime/QuickStart/index.html
上記UE4ヘルプのクイックスタートではマテリアルをアトリビュート化しVirtualTextureFeatureSwitchノードに接続していますが、VirtualTextureFeatureSwitchノードはRVTがサポートされていないときに従来どおりのマテリアルを使用するように切り替えるスイッチャーです。この記事では省略させていただいてます。VirtualTextureFeatureSwitchノードや、他のRVTに関するマテリアルノードに関してはこちらをご参照ください。https://docs.unrealengine.com/ja/Engine/Rendering/VirtualTexturing/Runtime/index.html

Runtime Virtual Texture SampleノードにはどのRVTアセットを使用するかを割り当てておきます。

マテリアルが作成できたら、RVTを割り当てるアクターを覆うようにRuntimeVirtualTextureVolumeを配置していきます。

RuntimeVirtualTextureVolumeTransform from Bounds欄でボリュームで囲いたいアクターを選択し、Copy Rotation,Copy Boundsを押すと自動でアクタの形に合うようにボリュームを配置してくれます。ただしこの記事の作例の様に平らなもので行うとボリュームのZスケールが0になるので手動で調整します。

さらにLandscapeアクタ自体にもRVT アセットを設定する必要があります。Landscapeアクタを選択し、Virtual Texture>Render to Virtual Texturesの+ボタンを押してエレメントを作成して、そこにRVTアセットを設定します。


以上の設定でLandscapeマテリアルをRuntimeVirtualTexturingにすることができていると思います。

さらにRuntimeVirtualTexturing化したものは他のものにテクスチャとして適応したり、逆にRuntimeVirtualTexturingに要素を追加することもできます。

キャッシュしたRuntimeVirtualTexturingをテクスチャとするには、Runtime Virtual Texture Sampleをマテリアルで使用すれば可能です。メッシュ形状のディテール追加に役立ちそうです。
以下の画像はスフィアのマテリアルにRVTのカラーテクスチャに適用した場合です。

対してRVTに要素として追加するには、追加したいアセットを選択>Virtual Texture>Render to Virtual Textureに書き込む先のRVTアセットを設定すると要素が書き込まれます。また書き込むマテリアルはドメインがVirtual Textureになっている必要があります。メッシュをデカールのように扱うことができます。元のメッシュのマテリアルのノーマルやラフネスなども反映されています。(RVTアセットや書き込み先マテリアルがRuntime Virtual Texture Sampleからラフネスやノーマルの値を受け取っている必要があります。)

長くなってしまいましたが、以上VirtualTexturingについての紹介でした。参考になれば幸いです。

 

[UE4]UE4で動作するペイントツールプラグインILIADについて

$
0
0
執筆バージョン: Unreal Engine 4.23

こんにちは、エンジニアの小倉です。
今回は、UE4上で動作する「ILIAD」というペイントツールプラグインについて紹介します。

目次

1. 執筆環境
2. プラグインの導入
3. サンプルプロジェクト
4. 環境設定
5. ペイントエディタの起動
6. ILIADによるペイント
7. 既存テクスチャの編集

1. 執筆環境

本記事は以下の環境で執筆しました。

Unreal Engine 4.23.1
ILIAD BETA version 0.1
Wacom Cintiq Pro 16

2. プラグインの導入

ILIADはMarketplaceで無料で配布されています。
以下のURLからプラグインをダウンロードして、エンジンにインストールします。

https://www.unrealengine.com/marketplace/en-US/product/iliad-intelligent-layered-imaging-architecture-for-drawing-beta-version

プラグインをインストールした後、UE4エディタを起動して「Plugins」内にあるILIADプラグインがEnabledになっていることを確認します。もしEnabledになっていないときは、Enabledのチェックボックスにチェックを入れて、UE4エディタを再起動します。

3. サンプルプロジェクト

ILIADのチュートリアルやプリセットブラシは、以下のURLにあるサンプルプロジェクトに含まれています。

https://my.pcloud.com/publink/show?code=XZKDnhkZxPllnjP3N0F3H37HKiSIVHsqOLmV

サンプルプロジェクトを起動すると、ContentにBrushesフォルダとTutorialsフォルダがあります。
Tutorialフォルダ内にあるEditor Tutorialを起動すると、ILIADの概要を確認することができます。
ILIADに関しては、このチュートリアル以外に公式フォーラムデモビデオなどが参考になります。

プリセットブラシはプラグインには含まれていません。
既にあるプロジェクトでプリセットブラシを使用したいときは、Brushesフォルダを移行します。

4. 環境設定

環境設定を開くとILIADの設定を開くことができます。
Backgroundでは、キャンバスの背景色(透明背景を示すチェック色)などを変更できます。
Shortcutでは、キャンパスの回転やパン(キャンバス移動やハンドツールなどに相当する操作)、スポイトツールなどへの切り替えるためのショートカットを設定できます。
StylusDriverでは、タブレットの入力を取得するためのAPIを変更します。多くのペンタブレットではどちらのAPIでも動きますが、もしペン入力がおかしい場合は設定を変更してみると良いかもしれません。今回はWacom製のペンタブを使用するため、Wintab(Wacomが提供するAPI)を選択します。

5. ペイントエディタの起動

ペイントエディタは新しくテクスチャを新規作成するか、既存のテクスチャを編集するかたちでペイントエディタを起動します。
テクスチャを新規作成するときは、コンテンツブラウザ上で右クリックして[ILIAD][Texture]を選び、表示されたダイアログにテクスチャサイズを入力します。

次に、作成したテクスチャまたは既存のテクスチャを右クリックして、コンテキストメニューの[Edit with ILIAD]を選びます。
選択したテクスチャを編集するかたちで、ペイントエディタが起動します。

6. ILIADによるペイント

ILIADのペイントエディタの初期レイアウトは以下のようになっています。順に紹介します。

1. ビューポート(キャンバス)

テクスチャにペイントするための領域です。ペンを使って実際にペイントを行う部分で、他のペイントソフトではキャンバスと呼ばれています。

2. ブラシアセット

ペイントする際に使用するブラシを設定するタブです。
プリセットブラシからいくつか紹介します。

ブラシアセットは、ブラシ形状がノードで定義されています。
例えば以下のアセットでは、筆圧を取得するGetPressureノードや、ペンの位置を取得するGetXやGetYノードなどを用いてブラシの形状を定義しています。
この機能を使えば、例えば「筆圧が弱いときだけ不透明度を強くして薄く塗る」といったブラシも、ノードベースでビジュアルに作成することができます。

3. ブラシパラメータ

ブラシアセットはBlueprintと同じように変数を追加し、それを外部に公開することができます。
公開された変数はブラシパラメータのタブに公開され、公開されたパラメータを変更することで形状に影響与えることができます。
注意点があるとすれば、Overridesカテゴリにある一部のパラメータ(SizeやOpacityなど)はここで変更しても効果がありません。
そのようなパラメータは「4.ブラシパラメータ(Override)」で変更することができます。

4. ブラシパラメータ(Override)

ブラシパラメータとして公開されているもののうち、特によく使われるパラメータは、このツールバーでのみ変更できます。
それぞれのパラメータがどのような挙動を示すかはブラシアセットの定義によりますが、多くの場合Sizeはブラシサイズ、Opacityは不透明度になります。
特にAlphaは消しゴムツールが存在しないILIADでは重要で、この設定を「Erase」にすることで、塗った部分を消すことができるようになります。

5. ストロークオプション

不明です。おそらく散布系のブラシの挙動や手ブレ補正などに関連してそうですが、具体的にどのような機能かは不明です。

6. ツール

ここではブラシで描画する以外のツールを使うことができます。
ゴミ箱アイコンはレイヤーにペイントされたものを全て削除し、バケツアイコンは逆にレイヤーを現在の選択色で塗りつぶします。
スポイトアイコンやShapesカテゴリにもツールがありますが、現状では使用方法がよくわかりませんでした。

7. カラーセレクター

ペイントするための色を選択します。Slidersの右にあるコンボボックスを開くと、RGB、HSVの他にもHSLやCMYKといった色空間で色を選択することもできます。

8. レイヤー

レイヤーを管理するためのタブです。レイヤーの仕組みについては詳しく紹介しませんが、レイヤー単位での「可視性の変更」や「不透明度の変更」、「合成モードの変更」や「レイヤーの結合」など、多くのペイントソフトに搭載されている機能が一通り揃っています。

9. ビューポート操作

ビューポートの回転や拡大縮小を行うことができます。

メニュー操作

メニューではテクスチャの保存やテクスチャのレイヤーとしてのインポート・エクスポートなどができます。

7. 既存テクスチャの編集

ここからは、ILIADを使用して既存のテクスチャを編集するときの一連の流れを紹介します。

今回はStarter Contentに含まれる、以下のような石畳の間に草を生やすことを目標にします。
石畳はT_CobbleStone_Rough_Dというテクスチャによって作られているので、このテクスチャを右クリックして「Edit with ILIAD」を選び、ペイントエディタでテクスチャを開きます。

続いて、草のテクスチャをレイヤーとしてインポートします。
[File][Import Texture As Layers]から、草のテクスチャであるT_Ground_Grass_Dを選びます。

草のテクスチャをインポートしたら、草のレイヤーの不透明度を50%にまで下げます(①番)。これは石と溝の部分を見やすくするためです。
次に、石部分にかかる草を削除するために、ブラシアセットに「Airbrush」を設定し(②番)、ブラシのサイズを調整します(③番)。最後にAlphaを「Erase」に設定して(④番)、ペンで描いたところが削除されるようにします。

準備ができたら石部分の草をいい感じに消します。失敗したときはCtrl + Zでやり直すこともできます。

消し終わった後は、このようになりました。

ILIADで編集しているテクスチャは、リアルタイムで反映されます。
以下の例では、草のレイヤーの不透明度を変更しているとき、床メッシュにもその変更が反映されていることが確認できます。

塗り終わったら、草のテクスチャを右クリックして「Merge Down」を選び、2つのレイヤーを結合します。

結合したら、メニューから「Save」を選び、テクスチャの変更を保存します。

これでILIADによるテクスチャの編集は完了です。今回は既存のテクスチャを上書きしましたが、最終結果を別名として保存すれば元のテクスチャを破壊する心配もありません。

 

まだBETA版のため出来ることは少ないですが、簡単な編集であればそれなりに使えそうです。
また、ノードベースでブラシを作成できる仕組みは他のペイントソフトには見られないもので、この機能を使うことでしか描けないものもあるかもしれません。
有効に使える場面があれば、積極的に使ってみようと思います。

[UE4] ノードの整列 (Alignment)

$
0
0
執筆バージョン: Unreal Engine 4.24

今回はブループリント・マテリアルエディタ両方で使えるようになったノードの整列機能についてご紹介します。

ここ最近のUE4では、デフォルトのショートカットキーにノードを整列する機能が割り当てられています。

また、以前ではブループリントエディタだけでしか使えませんでしたが、マテリアルエディタでもノードの整列ができるようになっています。

今回はマテリアルエディタで試してみましょう。


実例

このようなノードが組まれており、きれいに整列したいとします。

まず、Emissiveにつながる線をまっすぐにしたいので上部のノードを選びQキーを押します。

Qキーは右クリック>Alignment>Straighten Connection のショートカットキーになります。

すると、直線上に整列され見やすくなりました。

これだけでも十分な気もしますが、下のノードも整列してみましょう。

ノードを選択し、Shift+Sか右クリックからAlign Bottomを選びます。

下のノードもきれいに整列され、見やすくなりました。


整列 一覧

上下左右 揃えの各ショートカットはWASDキーとShiftの組合わせと考えると覚えやすいでしょうか。

中でもStraighten Connection (Qキー)やAlign Top/Leftはよく使います。

 

下図を例にそれぞれの整列を試してみます。

Align Top (Shift+W)

上揃え

Align Middle (Alt+Shift+W)

中央揃え(高さ)

Align Bottom (Shift+S)

下揃え

Align Left (Shift+A)
左揃え

Align Center (Alt+Shift+S)

中央揃え

Align Right (Shift+D)

右揃え

Straighten Connection (Q)

直線つなぎ

Distribute Horizontally (Shift+H)

横を等間隔に並べる

Distribute Vertically (Shift+V)

縦を等間隔に並べる


まとめ

これらの機能を使うとノード位置の微調整が楽になり、処理の視認性が良くなります。

便利な機能ですが意外と知られていない気もしますので、是非使ってみてください。

 

第13回UE4ぷちコン 協賛社ライセンス一覧

$
0
0

2020年2月14日(金)~2020年3月29日(日)
「Unreal Engine 4」学習向けミニコンテスト
第13回UE4ぷちコン開催中!
今回のテーマは「さく」

 

「Unreal Engine 4」(以下、UE4)を使用した作品を制作して応募するUE4ぷちコンは
UE4学習用コンテストとして開催しております。

2月14日(金)より開催中の「第13回UE4ぷちコン」でも
たくさんのスポンサー企業様にご協賛いただき、作品制作に活かせるソフトウェアライセンスをご提供いただきました!

各ライセンス毎に申込方法が異なりますので
「ソフトウェア概要 / 申込方法」をよくお読みの上、お申込みください。

どれもぷちコンの作品制作に活かせるものとなっております。ぜひこの機会に試してみてください♪

 

 

(50音順・敬称略)

企業名 ソフトウェア ソフトウェア概要 / 申込方法 企業紹介文
インクレディビルドジャパン株式会社 IncrediBuildぷちコン限定無償ライセンス【先着30名限定】 IncrediBuild は様々な開発ツールを高速化するテクノロジーです。ビルドや時間のかかるタスクを、ローカルマシンだけでなく、ネットワーク上の他のマシンや仮想マシンに分散することで、処理時間を最大で90%高速化します。

ウェブサイトの「お問い合わせフォーム」より、「ぷちコン限定無償ライセンス申込」とご記入の上、お申し込みください。担当者よりIncrediBuildライセンスをお送りします。

【お申込みはこちら】

イスラエル発の開発高速化ソフトウェア「IncrediBuild」は過去20年にわたり、世界中のエンジニアやプログラマに利用されてきました。

2人の開発者が1990年代、地球外知的生命体探査プロジェクト (SETI:Search for ExtraTerrestrial Intelligence) からアイデアを得て、分散コンピューティングのテクノロジーを開発しました。ビルドや時間のかかるタスクを、ローカルマシンだけでなく、ネットワーク上の他のマシンや仮想マシンに分散することで、処理時間を最大で90%高速化することに成功しました。

今日、IncrediBuild は開発環境の高速化のソリューションとして、世界中の開発者に愛用されています。フォーチュン100企業20社をはじめとする2,500社を超える企業で、15万人以上の開発者によって利用されています。

株式会社ウェブテクノロジ OPTPiX SpriteStudioプロフェッショナルライセンス 【30名限定】 ぷちコンの参加者向けに超汎用2Dアニメーション作成ツール『OPTPiX SpriteStudio プロフェッショナルライセンス』を3ヶ月分提供いたします。

”ぷちコンに参加してSpriteStudio使ってみたい!”とお考えの皆さんは、お問い合わせの種別で「その他」を選択し、お問い合わせの内容へ「ぷちコン用ライセンス希望」とお書き添えの上お申し込みください。

【お申し込みはこちら】

ウェブテクノロジが開発・販売する「OPTPiX SpriteStudio」は、様々なゲーム開発環境に対応した、“超汎用”2D アニメーションツールなのです。

様々なゲーム開発環境には、当然アンリアルエンジンも入っているわけでして、ぷちコンご参加者の皆様におかれましてはこの機会に、是非。

audiokinetic株式会社 WWISE 限定商用ライセンス 本ライセンスは第12回UE4ぷちコンプロジェクトに無償でご使用頂けますが、次の制限があります。この限定商用ライセンスではWwiseプロジェクト内で最大500個のメディアアセットを使用することができます。ライセンスをご希望のお客様は下記リンクからご登録ください。

ご登録いただく際、
————————————————————
「第12回UE4ぷちコンプロジェクト用」
————————————————————
とご記入ください。

【お申込みはこちら】

クロスプラットフォームソリューションの世界有数のプロバイダーとして、Audiokineticは最先端の総合インタラクティブオーディオソリューションや革新的なワークフローを提供し、インタラクティブオーディオ制作の統合されたアプローチを提案します。

弊社が開発する「Wwise」(ワイズ)は、革新的なインタラクティブ体験の制作を実現する、コスト効率の高い包括的なオーサリングツールおよびオーディオエンジンをサウンドデザイナーやオーディオプログラマーに提供します。

株式会社CRI・ミドルウェア CRI ADX2 LE  「ADX2 LE」は、ゲームならではのサウンド演出を手軽に実現する、便利な機能を数 多く搭 載したサウンドミドルウェアです。

最先端のゲームサウンド制作現場でのニー ズやノウハウ が反映されており、高度なサウンド演出から細かい音の調整まで、全て がグラフィカルな ツール上で直感的に行えます。

【お申込みはこちら】

CRI・ミドルウェアは、5,000以上のタイトルに採用されているゲーム開発向けミドルウェ ア製品群「CRIWARE」を提供しています。

各種ゲーム機、スマートフォン、VRデバイスだ けでなく、ブラウザにも対応したサウ ンドミドルウェア「CRI ADX2」、ムービーミドルウェ ア「CRI Sofdec2」で、ゲーム 開発を強力に支援します。

FROSK株式会社 スマホアプリエラー検知・解析ツール「SmartBeat」2ヶ月間無償利用(2020年2月、3月)【先着5名様限定】 「SmartBeat」Unreal Engine SDK、全機能を、2ヶ月間無償利用(2020年2月、3月)
Unreal Engine 4.10〜4.22の環境にて動作
Androidプラットフォームの場合
※ Android 2.3以降
iOSプラットフォームの場合
※ iOS 6.1以降
※ リモートビルドについてはUnreal Engine 4.20および4.22で動作することを確認”ぷちコンに参加してスマホアプリ開発したい、SmartBeatも使ってみたい!”とお考えの方は、フォームの「会社」欄の末尾に、「13ぷちコン」とご記入ください。

【お申し込みはこちら】

B2D、BUSINESS TO DEVELOPERSを掲げるFROSK(フロスク)株式会社は、スマートデバイスアプリ開発者向け開発支援ツールの企画、開発、運営を行っています。

スマホアプリのエラー検知・解析ツール「SmartBeat」は2,400アプリの導入実績があり、国内の主要大手アプリデベロッパー様にご利用いただいています。

 

第13回UE4ぷちコン ゲームジャム開催のお知らせ

$
0
0

2020年2月14日(金)~2020年3月29日(日)
「Unreal Engine 4」学習向けミニコンテスト
第13回UE4ぷちコン 開催中!
今回のテーマは「さく」

「第13回UE4ぷちコン ゲームジャム」開催決定!

 

「Unreal Engine 4」(以下、UE4)を使用したゲームや映像等の作品を作る、
学習向けミニコンテスト「UE4ぷちコン」に合わせて
行っているゲームジャムが今回も開催決定!

「ぷちコン ゲームジャム」とはぷちコン開催期間中、
複数人のチームを作り、2日間に渡ってぷちコンに応募するゲームを制作、完成まで経験できるイベントです。

「1人で制作するのは不安だがUE4を覚えたい! 」「ゲーム制作をする仲間を作りたい! 」など、
少しでもUE4を使用したゲーム制作にご興味のある方、コンテストが初めてという方、常連の方、
どなた様も大歓迎です! ぜひご参加くださいませ♪

 

参加費無料! 夕食付き!
PCレンタルもできます! (先着8名)

 

お申込みはコチラからどうぞ! ※先着20名
3月7日(土)、3月8日(日)
第13回UE4ぷちコン ゲームジャム

 

 

 

■開催概要

3月7日(土)・3月8日(日)の2日間でUE4を使ったゲームを制作していただきます。(合計制作時間12時間程)
集まったメンバーの中からチームを結成します、チームで協力して完成を目指しましょう!
2日目(3月8日)17:00~制作したゲームをみんなの前で発表し、後日 第13回 UE4ぷちコンに応募していただきます。
優秀作品は4月18日(土)・4月19日(日)に開催されるUNREAL FEST WEST 2020@京都コンピュータ学院で展示予定です。

UE4を学ぶついでに参加賞のぷちコンオリジナルTシャツをゲットしちゃいましょう♪
※ぷちコンの賞品は1チームにつき1つ(参加賞含む)ですが、ゲームジャム参加者は全員参加賞のTシャツが貰えちゃいます!

■スケジュール

3月7日(土)11:00-20:00

時間 内容
11:00 開場(弊社セミナー室)
11:30-12:00 ゲームジャム概要説明・会社設備説明
12:00-18:30 ゲーム制作(休憩は各自自由)★6h30m
18:30-20:00 夕食(弊社社内)1h30m ※弊社でご用意いたします。

3月8日(日)11:00-20:00

時間 内容
11:00 開場(弊社セミナー室)
11:30-17:00 ゲーム制作(休憩は各自自由)★5h30m
17:00-18:30 ゲーム発表会  1h30m
18:30-20:00 夕食(弊社社内)1h30m ※弊社でご用意いたします。

■場所

株式会社ヒストリア 内 セミナールーム
住所: 〒141-0032
東京都品川区大崎5-6-2 都五反田ビル西館8階

■持ち物

  • Unreal Engine 4.24が使用できるPC(先着8名までPCのレンタルができます)
    ※PCのレンタルを希望される方は申込フォームのPCレンタル欄で「希望する」をお選びください。
  • その他ゲーム制作に必要になりそうなもの
    (ゲームパッド、マウス等は弊社にもご用意はございますが、数に限りがございます。ご用意いただける方はぜひお持ちください)

■注意事項

  • 自動車、自転車でのご来場は出来る限りご遠慮ください。会場は駐輪場・駐車場のご用意はしておりません。ご利用の場合は、公共の施設をご利用ください。
  • 建物内は禁煙となっております。
  • 休憩・昼食は各自合間を見てお取りください。会場内は飲食可能ですが、会場を汚す可能性のあるもの・刺激臭のあるものの持ち込み、出前の発注はご遠慮ください。
  • 弊社以外のフロアへの立ち入りはご遠慮ください。
  • 開場時間(11:00)より前に会場に立ち入ることはできません。
  • 20:00以降の会場への居残りは原則として受け付けておりません。

■第13回 UE4ぷちコン 開催概要

( http://historia.co.jp/ue4petitcon13 )

■運営

株式会社ヒストリア ( Twitter公式アカウント )

 


一時的な営業時間変更のお知らせ

$
0
0

平素よりお世話になっております。

株式会社ヒストリアでは、新型コロナウイルス感染症が広まっていることを受け、
人込みを避けるオフピーク通勤の施策として、以下のように営業時間を一時的に変更致します。

旧:10:00~19:00
新:10:30~19:30

この変更は新型コロナウイルスによる感染症が落ち着くまでの、一時的なものです。

取引先の皆様におかれましては大変ご迷惑をおかけいたしますが、
スタッフの健康を維持しつつ引き続きモノづくりに励めればと考えておりますので、
何卒よろしくお願い申し上げます。

 

株式会社ヒストリア
代表取締役 佐々木 瞬

[UE4] UE 4.24 の新機能!Sparse Class Data について

$
0
0
執筆バージョン: Unreal Engine 4.24

エンジニアの加藤です。

今回は、UE 4.24 にて新しく実装された Sparse Class Data について簡単に解説します。

※ こちらの機能はベータ版となっていますので、今後仕様が変更される恐れがあります。ご注意ください。

Sparse Class Data の意義

例えば、ステージ上に大量に出現するリンゴをひたすらゲットして、一定時間以内に獲得した得点を競うゲームを作るとします。

リンゴを取ったときの得点について、以下のことが決まっています。

  • ① リンゴの得点はゲーム中に変化しない
  • ② どのリンゴも同じ得点である
  • ③ リンゴの得点はエンジニアでない人が簡単に調整できるようにしたい

この要件を満たすためには、リンゴの Class に得点の値を保持するためのインスタンス変数を作成し、BlueprintReadOnly, EditDefaultsOnly な UProperty として設定すればよさそうです。

  • ・BlueprintReadOnly のため、Blueprint 上でゲーム中に値を変更してしまう恐れがない → ① を満たす
  • ・EditDefaultsOnly のため、インスタンス毎ではなくクラス毎の値設定となる → ② を満たす
  • ・EditDefaultsOnly のため、Blueprint の Class Defaults にて簡単に値の変更ができる → ③ を満たす

しかし、これではリンゴのインスタンスそれぞれが同一かつ不変な値を一つずつ保持することになるため、メモリの無駄だといえます。図にするとこんなイメージです。

このメモリの無駄をなくすには、リンゴの得点を保持する入れ物を 1 つだけ用意して、得点が必要となる場合はここから値を取得することにするとよさそうです。

このようなデータ構造を構築するために利用できるのが、Sparse Class Data システムです。

『リンゴの得点を保持する入れ物』を Sparse Class Data 構造体として作成し、リンゴの Class と紐付けることで、2 番目の図のようなデータ構造を実現でき、メモリ使用量の削減が可能となります。

また、下記のような特徴があるため、Sparse Class Data を利用するための C++ コード変更を適切な手順で行えば、Blueprint で作業する人に影響が発生しないようにすることができます。

  • 特徴 ① : Sparse Class Data 構造体に逃した変数も、Sparse Class Data 構造体を利用するクラスの Class Defaults から値の編集ができる
    • → Sparse Class Data を利用するようになっても、値を編集する場所は変わらない
  • 特徴 ② : C++ で宣言している Blueprint 公開変数を後から Sparse Class Data 構造体に逃がすように変更するための仕組みが整備されており、移行に伴う Blueprint 側の変更作業を必要としない
    • → Sparse Class Data を利用する前に変数に設定していた値をワンタイムコピーによって引き継ぐようなコードを記述できるため、値を設定し直す必要がない
    • → Sparse Class Data への移行後も通常の変数と同じ方法で値の Get ができるため、ピンの繋ぎ直しなどを行う必要がない

Sparse Class Data の最小サンプル

公式ドキュメント では、既に C++ で宣言して利用していた通常のインスタンス変数を Sparse Class Data 構造体に移行する方法が解説されていますが、Blueprint 側に影響が出ないように色々な約束事を守って記述されたコードとなっているため、若干面倒そうに見えます。

しかし、途中からの移行ではなく、最初から Sparse Class Data 構造体に新規で不変定数を作成するのであれば、下記のような簡単なコードで済みます。

#pragma once

#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "SparseApple.generated.h"

// Sparse Class Data 構造体 (リンゴの得点を保持する入れ物)
USTRUCT(BlueprintType) // BlueprintType が必要
struct FAppleSparseClassData
{
    GENERATED_BODY()

    UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Sparse Class Data")
    int32 Point;
};

// Sparse Class Data を利用するクラス (リンゴ)
UCLASS(SparseClassDataTypes = AppleSparseClassData) // SparseClassData として利用する構造体の名前を (F 抜きで) 指定
class ASparseApple : public AActor
{
    GENERATED_BODY()
};

ASparseApple を Parent とする Blueprint Class “BP_SparseApple” を作成すると、Class Defaults に Sparse Class Data 構造体のメンバである Point が表示され、値を設定できるようになっていることが確認できます。

また、値の Get も通常の変数と同様に行えます。よって、Blueprint で作業する人は Sparse Class Data を利用していることを意識する必要がありません。

Sparse Class Data の利用によるメモリ使用量削減効果について

メモリ使用量削減効果を確認するために、『ASparseApple の Sparse Class Data を利用しない版』である ARedundantApple と、これを Parent とする Blueprint Class “BP_RedundantApple” を作成します。

#pragma once

#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "RedundantApple.generated.h"

UCLASS()
class ARedundantApple : public AActor
{
    GENERATED_BODY()

    public:
    UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Redundant Data")
    int32 Point; // 普通にインスタンス変数として保持する
};

“BP_SparseApple” と “BP_RedundantApple” を 1000 個生成し、memreport でメモリ使用量を出力した結果 (NumKB) は以下のとおりです。

Class NumKB
BP_RedundantApple_C 742.19
BP_SparseApple_C 734.38

BP_SparseApple の方がメモリ使用量が少なくなっています。BP_SparseApple の実質的なメモリ使用量はこの値に Sparse Class Data 構造体 1 つ分のメモリ使用量を加えた結果であるといえますが、ほぼ誤差となります。

また、Point を int32 から FString に変更し、空文字にしたときとアルファベット 100 文字を設定したときの memreport の結果も見てみます (こちらも各 1000 個ずつ生成しています)。

Class NumKB (空文字) NumKB (100 文字)
BP_RedundantApple_C 790.80 988.06
BP_SparseApple_C 769.31 769.31

BP_SparseApple の方は FString を Sparse Class Data に逃しているため、FString の長さは BP_SparseApple のメモリ使用量に影響を与えていません。一方、BP_RedundantApple の方は各インスタンスが FString を保持しているため、FString が長くなるほどメモリ使用量が増大するという結果となっています。

とっつきにくい機能だとは思いますが、インスタンスを大量に Spawn する Class では採用を検討してみるとよいかもしれません。

[UE4]サムネで時短!

$
0
0
執筆バージョン: Unreal Engine 4.23

■ごあいさつ

こんにちは、プランナーの谷口です。

漫画が読みたい、読みたすぎる!
読むぞ、今日は読みたかった漫画全部読んでやんねん!
と、読みたい漫画リストを作って意気込んでネカフェへ行き、
渾身の12時間パックにしたものの、
12時間で4冊しか読むことができませんでした٩꒰。•◡•。꒱۶
居心地が良い=寝心地が良い みたいです。

さて、前回前々回と、超初心者向けの記事を投稿し、
私の記事は今回で3回目となりました。
今回も超初心者向けです、お付き合い下さいませ…!

 


■サムネイルの画像を編集する

そもそも、何のためにサムネがあるのか?
それはもちろん、開いて中を見ずとも
パッと見で何のデータなのかが分かるようにです。

これからご紹介する編集方法を知っておくと、
自分用にはもちろん、他の人へのデータ共有時にも
「あ、これだ」と一目ですぐに分かっちゃうようにできます!
「え、どれ?」と確認する手間も省けます。

では、今回は以下アセットのサムネイル編集方法を
ご紹介します(^^)/

1.レベルのサムネイル
2.3Dアセット・マテリアルのサムネイル

 

 

1. Levelサムネイルの画像編集 

通常何もしていないと、以下の様なサムネになります。

名称次第では中身が分からなくもないと思いますが、
サムネを編集して視認性をより高めましょー!

 

▼手順1▼

サムネを編集したいLevelを開く(今回は↑のRoomを開きました)

うん、朝~昼間の部屋っぽいですね。
へぇ、こんな感じの部屋か、リビングかな?
…みたいなことが、中を開いて初めて分かりましたね。

 

 

▼手順2▼

Roomのサムネを右クリック、
➡「Asset Actions」➡「Capture Thumbnail」を選択

 

 

すると…

↓↓↓↓↓↓↓↓↓↓↓↓

 

 

Roomのサムネが、ビューポートに表示されたものに変更されました!
デフォルトのものよりも断然中身が分かりやすいですね。

Capture Thumbnail 選択直前のビューポートが
そのままサムネになるので、
カメラの位置や角度を変えれば、お好みのサムネになります。

残りのLevelも編集してみると、こうなります。

いやー分かりやすい!
視認性、確実に高まりましたね。

※デフォルトに戻したい場合は同じくLevelを右クリックし、
➡「Asset Actions」➡「Clear Thumbnail」を選択で戻すことができます。

 

 


2. 3Dアセットのサムネイルの画像編集 

Levelと同様に、名称で察することができるかもしれませんが、
こちらも視認性を高めてみましょう。

 

 

▼手順1▼

Content Browserの右下にある「View Options」から
「Thumbnail Edit Mode」を選択

 

▼手順2▼

この状態で、サムネを左クリックしたまま回転させる

 

すると…

 

↓↓↓↓↓↓↓↓↓↓↓↓

 

なんと、こんなマグカップだったんですね。
元々のは裏側だったのかしら?
何にせよ、こちらの方が断然どんなものか分かりやすいです!

Levelと違い、サムネそのものの角度を変えることができます。
右クリックで上下させると拡大・縮小もできます。

 

 

▼手順2▼

いい感じに調整できたら右下の「Done Editing」をクリック

サムネイルの更新完了です!

 

 

マテリアルも「Thumbnail Edit Mode」で編集することができます。
3Dアセットと角度変更や縮小・拡大はもちろんのこと…

 

 

サムネの中の左上のアイコンを押すと、

 

 

形状変更もできます!

 


■おわりに

時間は有限です。

「漫画を読みまくるぞ!」と意気込んだ末、
12時間という1日の半分の時間をゴロゴロダラダラして
無駄にしてしまう人もいます。

この機能で少しでも時短して、
皆様の限りある時間を有意義にお使い下さいませ。

ということで、今回はこの辺で…
最後までご覧頂きありがとうございました!

[UE4] VolumeDecalによる多面体表示

$
0
0
執筆バージョン: Unreal Engine 4.24

概要

UE4の実験的機能の一つである”Volumetric Distance Function”を使って正多面体を表示しつつ色々と学ぶための記事です。

過去の記事でも扱いはしましたが、今回は具体的な例をとることでより分かりやすくなっている・・・かもしれません。

[UE4] VolumeDecal (Experimental) を使ってみる

 

準備

1.マテリアル

マテリアルを作成し、以下のように設定します。

Decal Blend Mode の部分が今回の肝です。

以下のように組みます。

 

2.ブループリント

プレビュー用のブループリントを作成します。

ActorブループリントにDecalコンポーネントを追加し、

先程作成したマテリアルを設定します。

 

これをテンプレートとして様々な図形を表示します。

 

図形の作成

距離関数というものについて軽く説明しておきます。

DecalBlendMode = VolumetricDistanceFunction のとき、

OpacityMaskに「LightVectorで受け取った位置から表示したい面までの距離っぽいもの」を出力することでレイマーチング処理によって形状が描画されます

(なおDecalマテリアル一般のルールとして、LightVectorにはDecalボリューム内の座標が(0,0,0)~(1,1,1)に正規化されて入力されています)。

このOpacityMaskに出力しているのがいわゆる距離関数と呼ばれるものです。

 

マテリアルの中でも独特の手法ですので少し慣れが必要です。

 

0.球

準備運動として球を作成してみましょう。

 

ある点Pから球体(中心O, 半径R)の表面までの距離Dは

D = length(P-O) – R

(lengthはベクトルの長さを返す関数)

と表せます。

Dが負の場合は点が内部にあることを表します。

 

今回は簡単のため球の中心を原点に一致させておきます。

準備で作成したテンプレートのCustomを複製して以下のように編集、Applyするとブループリントのビューポート上で結果を確認できます。

ポリゴンベースのものと異なり「カド」の出ないきれいな球体が表示されます。

 

1.立方体

ここからが本題です。

任意の点から立方体表面までの距離はどのように表せるでしょうか。

真面目に考えると、立方体の中で与えられた任意の点に最も近い点が

①面上にある場合

②辺上にある場合

③頂点の場合

によって計算が異なり、けっこう面倒なことになります。

立方体だけならまだしも、他の多面体のことまで考えるととても手に負えません。

 

ここで距離関数について先程「表示したい面までの距離っぽいもの」と表現しましたが、

レイマーチングの仕組み上、これが実際の距離より多少短い分には問題ありません(なるべく近いに越したことはありませんが)ので、近似を考えます。

上の図から何となく分かるように、元の面を無限に拡張した面と点との距離(距離っぽいもの)は、かならず本来の距離以下におさまります。

よって全ての面についてこの距離っぽいものを求め、その最大値を最終的に用いる距離っぽいものとして採用します。

ある面に対する距離っぽいものをDとすると

D = dot(N, P) – R

(dotはドット積、Nは面の法線ベクトル、Rは中心から面までの距離)

となるので、その最大値を用いるわけです。

 

2.正八面体

前項のコードを読めば分かると思いますが、

Facesの中身とループ回数を変えるだけで終わります。

正八面体各面の法線ベクトルは勘で分かると思います。

正規化した値を書くのは面倒なので、最後の行で正規化の計算を行っています(*Scale)。

 

3.正四面体

正四面体はどうでしょう。

XY平面に素直に立つ図を考えるとけっこう面倒な計算になりますが、

立方体の8頂点から一つとびに4つ取り出す感じで考えると簡単です。

 

あとたったの2個です、がんばりましょう!

 

4.正十二面体

正十二面体がどういう図形かお分かりでしょうか。

正五角形が12個くっついてできたアレです。

参考画像

その法線となると・・・?

頂点の座標は適当にぐぐると見つかりますが、法線の向きまではなかなか出てきません(どこかにあるかもしれませんが)。

頂点を使ってクロス積で法線を・・・?

否、もっと簡単な方法があります。

正多面体同士には双対関係というものがあり、例えば正十二面体の面の中心を結ぶと正二十面体が得られます。

則ち、正二十面体の頂点の座標をそのまま正十二面体の法線ベクトルとして利用できます。

正二十面体の頂点の座標は

(0, ±1, ±ϕ)

(±1, ±ϕ, 0)

(±ϕ, 0, ±1)

(ϕは黄金比 = (1+sqrt(5))/2、±は任意の組み合わせ)

と表現できます。

とらえどころのないように見えて、意外と軸に沿った感じですね。

黄金比が登場するところも興味深いです。

 

5.正二十面体

これはもう正十二面体のときの逆ですね。

双対となる正十二面体の頂点は

(0, ±1/ϕ, ±ϕ)

(±1/ϕ, ±ϕ, 0)

(±ϕ, 0, ±1/ϕ)

(±1, ±1, ±1)

(ϕは黄金比 = (1+sqrt(5))/2、±は任意の組み合わせ)

です。

コードがちょっと長くなりますが、

このようになります。

 

まとめ

全ての正多面体についてVolumeDecalで表示する方法について紹介しました。

 

追記01

↑のように、単に距離関数同士を線形補間するだけで形状と形状の補間が得られます。

多面体同士もいいですが、球体とのブレンドも魅力的な形状になります。

 

追記02

既にお気づきの方も多いと思いますが、実は正多面体のみならず任意の凸型多面体に応用可能な手法です。

形状データを【法線+中心からの距離】を表すピクセルの集合としてテクスチャに保存することで、モデリングしたものを持ち込むことも可能でしょう。

 

追記03

現在バージョン(4.24で確認)において、VolumeDecalの深度情報が上手く書き込まれない問題があり、空間において背景と重なる場合に正しく表示されなかったりします。

修正にチャレンジするのも一興かもしれません。

[UE4]カテゴリを活用しよう!

$
0
0
執筆バージョン: Unreal Engine 4.24

■はじめに

こんにちは、エンジニアの山中です。
突然ですが皆さんはプロパティにおける「カテゴリ機能」を使っていますか?

ワードからある程度は想像できるかとは思いますが、
似たような区分、種類のプロパティに対して予め設定しておくことで
利用する際に目的のプロパティに辿り着きやすくなったり、
誤って意図しないプロパティを変更してしまう、といった問題を回避することができます。


↑グラフから右クリックで開く検索窓。
エンジンが提供している機能は細かくカテゴライズされています。


↑独自で定義した体力に関する変数たち。
単に並べただけだと、どの変数がどういう用途で使用されるかを
変数名で判断するしかないが、カテゴリを設定することである程度分かりやすくなるかも?

■カテゴリが設定可能なアセット例

・ブル―プリント
・ブル―プリント関数ライブラリ
・アニメーションブル―プリント
等々、基本的に変数や関数等のプロパティを追加できるような
アセットにて設定可能です。

■カテゴリの設定方法 ~C++の場合~

プロパティ指定子として追加します。
公式ドキュメントはこちら→「プロパティ指定子
下記はコードの一例になります。

UCLASS()
class TESTPROJECT_API ATestActor : public AActor
{
GENERATED_BODY()
public:
// 関数
UFUNCTION(BlueprintCallable, Category = "TestProject")
void Function01() {}
UFUNCTION(BlueprintCallable, Category = "TestProject|Test")
void Function02() {}
// 変数
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "TestProject")
int32 Variable01;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "TestProject|Test")
float Variable02;
};


↑検索窓での表示の際、変数は自動で「Variables」という階層が付与されるようです。

■カテゴリの設定方法 ~ブル―プリントの場合~

新規で作成する際は以下の手順になります。

また、C++の場合でも既に使用していますが、
文字列に「|」を入れることで階層的な設定が可能です。

既に追加されているカテゴリに設定したい場合は以下のような方法があります。

◇プロパティの設定画面より、プルダウンメニューから選択

一番安全な方法です。

◇プロパティの設定画面より、同じ文字列を入力

スペルの打ち間違い等、人為的なミスが発生する可能性があるので
できればプルダウンメニューから選ぶようにしましょう。

◇プロパティリストより、対象の項目を目的のカテゴリ欄へドラッグアンドドロップ

こちらは設定方法としては直感的で良いのですが、一つ注意すべき点があります。
それは「実際に文字列で設定していたカテゴリとは異なるカテゴリが作られる可能性があること」です。
少し説明を入れますと、UE4の仕様上
①プロパティリストにカテゴリを表示する際は自動的に先頭以外の大文字の前に半角スペースが付く
②プロパティリストでのカテゴリ変更の際には、表示されている文字列をそのままカテゴリとして設定する
といった挙動の為、①の段階で実際に設定している文字列と異なっていた場合は
半角スペース付きの別のカテゴリが新しく作られてしまうことになります。


↑「TestProject|A」とカテゴリを設定


↑カテゴリリストでの表記。「Test Project」といった感じで、間に半角スペースが入っています。


↑この状態で「TestProject|A」へドラッグアンドドロップすると・・・


↑元のカテゴリと半角スペース付きのものが2つできてしまう

ですので、こちらの方法を使用する場合は
「UE4の表記ルールに合わせて、大文字を使用する場合はその前に半角スペースを入れるようにする」
といったようなカテゴリ設定時のルールが必要になりそうです。

◇蛇足

また、もう一点補足で注意すべき点ですが、
既存のカテゴリを後になって変更したいといった場合も、一応プロパティリストより変更可能なのですが、
変更した際の階層の文字列のみを抽出して新たなカテゴリとして作成してしまいます。


↑特定の階層に対してカテゴリ名を変更すると・・・(今回は「A」→「B」)


↑変更した階層以外の階層のカテゴリが消失。
「TestProject|A」→「B」になってしまった例。

一応、プロパティの設定画面より、階層を考慮したカテゴリの文字列をコピーした上で
一部だけ変更といったことは可能ですが、誤操作等でカテゴリ項目を選択、編集してしまわないように気を付けましょう。


↑既存のカテゴリを一斉変更。上手く使えばとても便利な機能です。

上記2点の注意点を考慮した上で、
いっそ「カテゴリ関連の設定はプルダウンメニューから」といったルールでも良いでしょう。

■カテゴリの活用例

◇BPのプロパティリストやプロパティ検索時等により分かりやすく


↑変数のプロパティリスト、検索窓での表示。
設定の一例ですが、一番上の階層をプロジェクト共通にすることで
そのプロジェクトで新規で作成された項目、というのが分かりやすくなります。

◇BPのクラスデフォルト設定からパラメータ設定する

パラメータとして変更すべき項目に「Settings」等と設定することで
誤った変数を設定してしまうといった問題を回避できます。


↑クラスデフォルトから設定する例。このように、パラメータ調整が必要な項目は
どこかにまとまっていると便利かと思います。

■さいごに

いかがでしたか?
使用感においていくつか注意点はありますが、
理解した上で使いこなせば開発効率アップに一役買ってくれるはずです。
また、カテゴリの設定ルール等は予めエンジンに定義されてある公式のプロパティが
参考になるかもしれません。
是非、プロジェクト毎に分かりやすいカテゴリ設定を心がけてみてください。


↑階層はあまり深くしすぎないように注意しましょう。

[UE4] アクターのラベル名を自動変更する機能の実装方法

$
0
0
執筆バージョン: Unreal Engine 4.24

皆さん、アクターのラベル名は活用していますか?
レベルにアクターを配置すると、アウトライナ上にそのアクターが追加された事を確認できますが、同じアクターを更にもう一つ置くと、アクター名2といった感じで自動で別の名前になるように命名されると思います。

レベル上に無作為に置くアクターはとくにこの名前を気にする必要はないと思いますが、そうでないアクターにはきちんと名前をつけてあげるべきというのは、UE4ユーザーであれば既に承知の事かと思います。
ですがこの名前を付ける作業、なかなかに面倒だと思いませんか?

とくにラベルの命名規則にアクターのパラメーターを使用している場合、パラメーター側を変更したら忘れずにラベル名を変更しないといけません。このワークフローには改善の余地がありそうですね。

そこで今回は、このラベル名を自動的に設定する方法をご紹介したいと思います。
(割と一般的なテクニックだと思ってましたが、いざ検索してみるとなかなか見当たらなかったので)

まずラベル名を変更する関数は

void AActor::SetActorLabel( const FString& NewActorLabelDirty, bool bMarkDirty )

になります。
この関数ですが、実は注意が必要です。Actor.hを見るとBlueprintCallableになってるんですが、ヘッダー内をよく見るとWITH_EDITORのスコープ内に入ってしまってます。なのでブループリント内で呼べないんですよね…
そして当然呼び出す側でもWITH_EDITORマクロで囲まないと、パッケージ時にエラーが出るのでそこも要注意です。

この注意点さえ気を付ければ後は簡単です。
まずはアクターを基底クラスにしてC++で新しくクラスを作成します。
ヘッダーを以下の通りにします。

UCLASS()
class ACTORLABEL_API AMyGimmickBase : public AActor
{
	GENERATED_BODY()
	
public:

	// ラベル名のPrefix
	UPROPERTY(EditDefaultsOnly)
	FString PrefixName;

	// とりあえず何かしらのID、ラベル名はこれを参照して名付けたい
	UPROPERTY( EditAnywhere, BlueprintReadWrite )
	int GimmickID;


public:	
	// Sets default values for this actor's properties
	AMyGimmickBase();

protected:

	// 配置したアクターのパラメーターが更新された際に呼ばれる関数
	void OnConstruction( const FTransform& Transform );

	// Called when the game starts or when spawned
	virtual void BeginPlay() override;

public:	
	// Called every frame
	virtual void Tick(float DeltaTime) override;

};

次にcpp側、今回の肝になる部分です。
OnConstruction関数はブループリントで言うところのConstructionScriptになります。
ここに処理を書くことで、パラメーターを編集した瞬間にラベル名も即変更されるという算段です。

void AMyGimmickBase::OnConstruction( const FTransform& Transform )
{
	Super::OnConstruction( Transform );
	
#if WITH_EDITOR
	// ラベル名の作成
	FString NewActorLabelName = PrefixName + FString::FromInt( GimmickID );
		
	SetActorLabel( NewActorLabelName );
#endif

}

それでは早速このクラスを基底クラスにしたブループリントクラスを作ってみましょう。

作成したブループリントに、デフォルト値のPrefixNameに対して任意の名前を付けてあげます。

あとはこのアクターをレベルに配置してパラメーターを変更すれば、ラベル名が自動的に変更されるのが確認できるはずです。

これでいちいちアクターを配置するたびにラベ名を編集する手間も省けますし、間違った名前になることも防げます。
皆さんも是非活用してみて下さい。

※昔話
実は昔のエンジンバージョンでこのSetActorLabelをOnConstruction内で呼ぶと、アクターのラベル名が変更された事で再度OnConstructionが再帰的に呼ばれてクラッシュするという現象が起きていました。
その際はSetActorLabelを呼ぶ際にラベル名の更新があったかどうかをチェックする必要がありましたが、今はもう大丈夫です。
昔のエンジンバージョンを使用してる方は下記の回避方法を取るなどしてご注意下さい。

if( GetActorLabel() != NewActorLabelName )
{
	SetActorLabel( NewActorLabelName );
}

[UE4] 無料の高速プロトタイプ用アセット”SuperGrid Starter pack”紹介!

$
0
0
執筆バージョン: Unreal Engine 4.24

皆さん、無人島生活を満喫してますか?私の島は焼け野原です。

今回はマーケットプレイスから無料でダウンロードできるプロトタイプ用アセット”SuperGrid Starter pack”をご紹介します。

Marketplaceはこちらから。
https://www.unrealengine.com/marketplace/ja/product/supergrid-starter-pack

↓このようなレベルが、サクサクっと作れます!

■何ができるのか?

プロトタイプのレベル作成用に、グリッド単位の配置機能やシンプルなメッシュが沢山詰まっているアセットです。
アンリアルエンジンにデフォルトで備わっているBSP(Geometry)も高速なプロトタイミングを行うためのツールですが、
こちらのコンテンツを使用することで、場合によってはBSPよりも簡単に速く作ることが可能になります。

 

■どう便利なのか?

・デフォルトで欲しいアセットが備わっている為、プロトタイプマップを作るのに便利!


プロトタイプによく使う形状のStaticMeshが入っているので、配置していくだけで意図したレベルがサクサク作れます。
BSPのようにメッシュの減算はできませんが、アーチ状のメッシュなどもあるためそこまで困りません。
★型や!マークのアセットもあるので、仮でイベントが起きる位置に置いたりして使用できそうですね!

・雰囲気を変更できるマテリアルが複数用意されている!


プロトタイプを行う上でレベルの雰囲気を簡単に表現できることは、イメージを表現するために便利です。
全てのマテリアルがグリッドになっている点が嬉しいですね。

■距離が測りやすいマテリアル!

レベルデザインを行う際に、何メートルのジャンプができるのかや道幅の距離などを意識して作成を行うことが多いと思います。
そのような際に自由に拡縮しても指定したグリッドが保たれたままなのでとても便利です。
このようにどこが何メートルかを視覚的に確認しながらレベルデザインができます。

↓グリッドサイズを5mに設定した場合

■用意されているBP紹介!

その他にも、かゆいところに手が届く機能がいくつかBPとして用意されています。

・階段作成用のBP

・スロープや迫り出した壁が簡単に作れるBP

BSP以外の選択肢として、プロトタイプ時やゲームジャムなどで一度触ってみるのはいかがでしょうか?
↓↓製作者様の詳しい解説はこちらのページを御覧ください。↓↓
https://forums.unrealengine.com/unreal-engine/marketplace/34080-supergrid-fast-level-prototyping

 


[UE4]第13回UE4ぷちコン応募作品公開!その1

$
0
0

第13回UE4ぷちコンのエントリー作品一覧ページです。

今回は全部で81作品集まりました!!

応募いただいた皆様、ありがとうございます!!

第13回UE4ぷちコン応募作品一挙公開!

※コンテストの告知ページはこちらです。

第13回UE4ぷちコン応募作品一挙公開!その2はこちら

第13回UE4ぷちコン応募作品一挙公開!その3はこちら

第13回UE4ぷちコン応募作品一挙公開!その4はこちら

 

[エントリーNo.1] 丘の上の館の花

おかわり はくまい さま

▼応募者コメント▼

Tシャツ欲しさにでっち上げました…

 

[エントリーNo.2] サクサクくんの旅立ちと救済欲求の果に。

Hikachof さま

▼応募者コメント▼

包丁を投げてメッシュを分断する、サクサクって分断されるのがいい感じです

 

[エントリーNo.3] 桜柵

ハジー さま

▼応募者コメント▼

桜の木が柵を飛び越えて満開の花を咲かせる横スクロールジャンプアクションゲームです。 桜を集めると桜が咲きます。 桜を集めれば集めるほど体重増加により走る速度が遅くなり、障害物をよけにくくなります。 柵やハトに当たると桜が散り、動きやすくなりますが、桜ポイントは減少してしまいます。 ゴールまでたどり着いた時のスコアで満開か否かが評価されます。

 

[エントリーNo.4] ブルーマンはさくのなか

もんしょ さま

▼応募者コメント▼

求ム! 未来のブリーダー! 今話題のブルーマンのお世話をしてみませんか? 餌やりやブラッシング、さくのなかへの誘導など。 難しいんじゃないかって? そんなことはありません! 先輩方が優しく丁寧に教えてくれます! アットホームな職場で、社長のベンタブラックマンも笑顔で話しかけてきれくれます。 先輩のグレイマンたちもナイスガイ! ・給与:出来高払い ・休日:仕事がある日以外 ・手当:各種保険、部活動手当、残虐行為手当など 君の応募を待ってるぞ!

 

[エントリーNo.5] Mining

卯兎 さま

▼応募者コメント▼

サクサク掘って、サクッと脱出だ!!破壊神グレーマンが全力で走ります。

 

[エントリーNo.6] 削岩道

ネリスさん さま

▼応募者コメント▼

削岩をしてトンネルを開通するゲームです。岩をぶっ壊すのが楽しいです

 

[エントリーNo.7] サク クール

TOYO さま

▼応募者コメント▼

このゲームは「反射神経」と「動体視力」と「判断能力」が試されるアクションランゲームです。 このゲームは出現する柵を次々とパルクールのようにジャンプやスライディングを駆使して突破していくゲームです。 【サク】というテーマを「柵」としてとらえ、それをダイレクトにゲームに落とし込みました。 「簡単な操作とゲーム性かつ思わずハマってしまう」そんなゲームを作成しました。

 

[エントリーNo.8] サクッと、徹夜!

板庇 賢一 さま

▼応募者コメント▼

締め切り3日前なのに全く出来てない。 でもぷちコンは、2、3日でサクッと作ってサクッと応募!というコンテスト。 よし、サクッと、徹夜しよう! 眠気を誘う羊が柵を越えようと行進してくるが、1匹でも柵を飛び超えられてしまうと、プレイヤー(ぷちコン製作者)は寝てしまってゲームオーバー。 阻止の方法は、羊と同じ色に柵を塗ればOKだ! 夜中の1時~朝6時まで、眠らずに徹夜できればクリア。 1日目は「柵を1つ」守り、「羊1匹倒せば30分」の時間が進むので、「10匹倒せばクリア」。 2日目は、羊1匹が20分なので、「15匹でクリア」。 3日目は、羊1匹が15分なので、「20匹でクリア」。 3日間徹夜出来れば、完全制覇!

 

[エントリーNo.9] スノードロップに清水を

マグロ さま

▼応募者コメント▼

今回のテーマが”さく”なので「お花を咲かせる(花が咲く)」ゲームを作りました。

 

[エントリーNo.10] 桜サク日に炸裂を

ぽく さま

▼応募者コメント▼

「柵を立てて防衛する」を主軸に柵を立てるタイミングが重要なゲーム性を目指しました。 迫ってくる相手を防ぐだけでは味気なかったので防ぐべき相手、防がない相手で変化をつけ、その相手をサブテーマとなる「桜」と「炸裂」で構成しました。(タイトル的には桜が目立っていますがサブですw) 4方向を入力してから前方に柵を立てるというシンプルな操作性ですが、防ぐ相手の選択と接敵スピードによってなかなかの難度に仕上がっております。 ちなみに作者はGAMEOVERで吹き飛ばされるシーンがお気に入りですw

 

[エントリーNo.11] 柵が咲く

alwei さま


▼応募者コメント▼

ルールはバーが75%以上溜まっている時にスペースキーを入力すると、柵が増えてどんどん成長していきます。大きくなればなるほど柵が咲くことになりますので、時間内にどんどん大きくしましょう~!

 

[エントリーNo.12] 今夜の晩御飯はサクサクエビフライなわけがない

卯兎&なん さま

▼応募者コメント▼

迫りくる水餃子、妨害してくる柵、サクサクで熱々のホットなエビフライになりたいと願う生エビは自らの力を振り絞り、 冷たいアイスで自らの鮮度を保ちながら、ユートピア(鍋)を目指すのでした。 疲れた時は柵を見てください、きっと癒されますよ。

 

[エントリーNo.13] 369

ツキノメ・カグヤ・りㇼぃ さま

▼応募者コメント▼

さくらを育てるゲームをさくっとつくったよ!

 

[エントリーNo.14] サクランボシューティング

大上竹彦 さま

▼応募者コメント▼

金のサクランボを見つけるゲームです。途中ブラックチェリー軍が攻撃してきます。

 

[エントリーNo.15] サクっと作成 マグロのさく迷路

Naotsun さま

▼応募者コメント▼

グレイマンが食べ散らかしてできたマグロのさくの迷路から脱出するゲームです。迷路のサイズは7×7から101×101まで選択でき、都度生成されます。

 

[エントリーNo.16] D.Fence

Incl さま

▼応募者コメント▼

テーマが「さく」という事でさく→柵→フェンスがイメージだったので【フェンス(柵)を立てて走り通ろうとするゾンビをフェンス越しから銃で撃ちまくって敵を残さず倒そう】というゲームです。

 

[エントリーNo.17] YOSAKU – The Legendary Woodcutter

JUGANDO さま

▼応募者コメント▼

The Legendary Woodcutter = 「伝説の木こり」という意味です。いわゆる音ゲーです。テーマが「さく」と聞いて、何故か真っ先に思い浮かんだのが、演歌の名曲「与作」であり、ヘイヘイホーとリズムよく木を切る姿がありありと見えたので、こんな作品になりました。実際にはフンフンドリャになってしまいましたが。

 

[エントリーNo.18] サックサクを食べよう

かたつむりの中の人 さま

▼応募者コメント▼

ベルトコンベア上を流れるクッキーをちょうど良い焼き加減の時に食べるゲームです。

 

[エントリーNo.19] ボンバーフライマン

Takao さま

▼応募者コメント▼

尻の前で爆弾を炸裂させて飛び回るヒーロー「ボンバーフライマン」が、 スギ花粉を撒き散らす集団を滅するために活躍するゲームです。

 

[エントリーNo.20] さくらパズル

KAGEMO さま

▼応募者コメント▼

テーマがさくまた桜の時期なので桜の花見を題材にしたパズルゲームを作りました。自由にピースを配置できるためいかに無駄なスペースを削減するかが重要です。

 

第13回UE4ぷちコン応募作品一挙公開!その2はこちら

第13回UE4ぷちコン応募作品一挙公開!その3はこちら

第13回UE4ぷちコン応募作品一挙公開!その4はこちら

 

[UE4]第13回UE4ぷちコン応募作品公開!その2

$
0
0

第13回UE4ぷちコンのエントリー作品一覧ページです。

今回は全部で81作品集まりました!!

応募いただいた皆様、ありがとうございます!!

第13回UE4ぷちコン応募作品一挙公開!

※コンテストの告知ページはこちらです。

第13回UE4ぷちコン応募作品一挙公開!その1はこちら

第13回UE4ぷちコン応募作品一挙公開!その3はこちら

第13回UE4ぷちコン応募作品一挙公開!その4はこちら

 

[エントリーNo.21] 花咲かGrayちゃん

Zmix さま

▼応募者コメント▼

「さく」と聞いて、まっさきに思いついた内容で作りました。 ドット絵は過去に使ったものを再利用しています。 謎の世界観ですが、あまり深く考えずノリで楽しんでください。

 

[エントリーNo.22] サクサク斬り裂く侍

でじまい さま

▼応募者コメント▼

侍が料理をサクっと斬ってサクッと遊べるゲームです。Procedural Mesh Sliceを使った変わったものがやりたくて作ってしまいました

 

[エントリーNo.23] 花咲力 HanasakaForce

CGトカ さま

▼応募者コメント▼

あなたの中に眠る花咲力を測定しましょう。何度も挑戦することを想定したプレイ時間になってます。

 

[エントリーNo.24] 柵で咲く、咲くには削。

Foltkaur さま

▼応募者コメント▼

WDSAの順番で連打することで腕のドリルを使って敵の柵を攻撃、倒すことで桜を咲かせます。連打のみのゲームとなっています。

 

[エントリーNo.25] さいた、さいた

ポメラニスト&Espassi さま

▼応募者コメント▼

UE4初心者が勉強しながら、作りました。 ヒストリアの佐々木瞬社長もコメントを寄稿している「作れる!学べる!UnrealEngine4ゲーム開発入門」を読みかじり、サンプルキャラクターのリズちゃんを借り Epic Gamesが配信しているスタイライズレンダリングのサンプルからマップを拝借しました。 花の色ごとにドレミが割り当てられています。 これで参加賞のTシャツはいただきです!

 

[エントリーNo.26] Sakeete of THE Caribean

Psyboo さま

▼応募者コメント▼

テーマの「さく」から「避ける」や「割く」を連想して作成しました。また個人的な目標として遊びの部分だけでなく「世界観」や「雰囲気作り」に力をいれ、結局総制作時間の半分をシーケンスや環境デザインに使いました。雰囲気を楽しんでいただければ幸いです。

 

[エントリーNo.27] JustRun

くろれきし さま

▼応募者コメント▼

JustRunは体を動かせるVRアクションゲームです。柵や崖をジャンプで避け、腕を振り物を掴んでなるべく早くゴールを目指します。崖から落ちた場合、スタート地点からやり直しになります。また、柵に触れるとペナルティーとして触れた回数分ほど+1分されます。TVゲームは運動不足と批判されがちなため、なるべく体を動かす為に腕を振って動くシステムを作りました。これからもVRゲームを作っていきたいです。

 

[エントリーNo.28] サクラサク

PavilionDV7 さま

▼応募者コメント▼

アーケードスタイルのゲームを目指して制作しました!テーマ「さく」についてはタイトル画面の桜の木とタイトルで回収し、とにかくやってみたかったことを詰め込みました!サッと避けてバババッと殴る!シンプルなゲームです!

 

[エントリーNo.29] さくさくサクリファイス

ランチ さま

▼応募者コメント▼

『さくさく』と魔法陣を設置して村人を『サクリファイス』!!サクリファイスした分だけポイントを貯めたてボーンアーチャーを召喚。ボーンアーチャーを兵士にぶつけて宝玉ゲット!!宝玉はボーンアーチャーのコストを下げてくれるぞ。魔法陣とボーンアーチャーで長く生き残ろう

 

[エントリーNo.30] SAKURA FRONT LINE

yeczrtu さま

▼応募者コメント▼

桜が咲く瞬間を見るために桜前線よりも早く目的地にたどり着くゲームです。 プレイヤーはサクラを持っており、桜前線が通過すると開花して敵の攻撃をガードできるようになります。ガードできる回数はサクラが咲く前に倒した数で決まり、ガード中は代わりに移動速度が上昇します。 移動速度ばかり上げていては体力が足りず途中でゲームオーバーとなり、ガード回数ばかり増やしていても速度が足りずクリアできない、もしくは高スコアが出ないので両者バランスが重要になってきます。

 

[エントリーNo.31] Suck at Climbing

\上/ さま

▼応募者コメント▼

VRゲームだからこそっていうゲーム性で面白いゲームを作るのは結構難しい。Airtoneは素晴らしかった。このゲームはそれに次ぐ、新たなVRだからこそのゲーム性を持っている。ルールは単純、石を投げて、転がった先に移動する。その制約の元でゴールまでたどり着くことが目的だ。山登りゲームだが、山登りの方法がまさに下手くそ、「Suck at Climbing」だ。「さく」と「Suck」だよ。…こじつけだね、すみません。面白くするにはレベルデザインがカギ、建築学生の俺の本業だね。がんばるぞ!

 

[エントリーNo.32] Little John

zohyo u さま

▼応募者コメント▼

迫りくる敵をひたすら裂くゲームです。

 

[エントリーNo.33] 急げ!『桜を見る会』

mako さま

▼応募者コメント▼

彼女のパオ美と約束していた『桜を見る会』に寝坊してしまったパオ男。 数々の障害を乗り越えて、パオ美のもとへ果たして辿り着くことはできるのか!?

 

[エントリーNo.34] Make Full Bloom!

くりあし さま

▼応募者コメント▼

SPACEキーとENTERキーのみのカンタンプレイで桜パワーを集めて満開の桜を咲かせよう!

 

[エントリーNo.35] 【第13回UE4ぷちコン】咲く

ドンチチ さま

▼応募者コメント▼

第13回UE4ぷちコン応募作品です。映像作品です。 花が咲くアニメーションです。 マテリアルなどのテストを目的として制作しました。

 

[エントリーNo.36] トンカツフリースロー!サクっとスライサー

kanio さま

▼応募者コメント▼

コンベアで流れてくる肉を調理し、熱い油の入ったバケツにフリースロー!揚がったトンカツをサクッとぶった斬るゲームです。

 

[エントリーNo.37] 農作物キャッチ

chackzip さま

▼応募者コメント▼

天から降ってくる農作物をグレイマンさんがキャッチするゲームです。
ボタンでグレイマンさんの食欲お気持ち(色)を変化することができ、農作物の色とグレイマンさんのお気持ちが合った状態でキャッチするとスコアボーナス倍率がどんどん上がります。
たまに通りかかったアホバードがう〇こを落としてくるので華麗に避けながら農作物をキャッチしてください。

 

[エントリーNo.38] Flower Pinball

wvigler(ヴィグラー、とでも読んでくだせえ) さま

▼応募者コメント▼

「Flower Pinball」はお花をテーマにしたピンボールです。かなりのスコアラー仕様となっております。

 

[エントリーNo.39] さくっと5G

新井優太 さま

▼応募者コメント▼

さくさくと言えば5Gなので、5Gの電波になって突き進むゲームです。ピンクの球体に当たることでGが上がりどんどん速くなります。より早くゴールを目指しましょう。

 

[エントリーNo.40] Muscle Juicer

でこひろし さま

▼応募者コメント▼

筋肉モリモリマッチョマンのプレイヤーが真心こめてジュースを搾るゲームです

 

第13回UE4ぷちコン応募作品一挙公開!その1はこちら

第13回UE4ぷちコン応募作品一挙公開!その3はこちら

第13回UE4ぷちコン応募作品一挙公開!その4はこちら

 

[UE4]第13回UE4ぷちコン応募作品公開!その3

$
0
0

第13回UE4ぷちコンのエントリー作品一覧ページです。

今回は全部で81作品集まりました!!

応募いただいた皆様、ありがとうございます!!

第13回UE4ぷちコン応募作品一挙公開!

※コンテストの告知ページはこちらです。

第13回UE4ぷちコン応募作品一挙公開!その1はこちら

第13回UE4ぷちコン応募作品一挙公開!その2はこちら

第13回UE4ぷちコン応募作品一挙公開!その4はこちら

 

[エントリーNo.41] スペースフラワーの侵略

大宮広樹 さま

▼応募者コメント▼

宇宙から現れたスペースフラワーをサクで囲うことによりお花に咲かせ、世界をお花で満たすゲームです。一度にたくさんのお花を咲かせるとボーナスポイント、スペースフラワーは接触すると爆破、危険です。

 

[エントリーNo.42] サクサクジャンプ-サクリファイス

CHIHAYA009 さま

▼応募者コメント▼

ボクは黒いヒツジ そうだボクだけがいなくなればいいんだろう そうすれば止まってた針はまた動き出すんだろう? そうやってボクはサクを飛び越えたんだ!

 

[エントリーNo.43] Search a Criminal

恒吉星光 さま

▼応募者コメント▼

馴染んだ日常に少し変化のある体験が詰まったゲームです。 ランダム作劇システムによってもたらされる現世代のエクスペリエンスをぜひ味わってください。

 

[エントリーNo.44] Speedy Flower

Moreira Andre さま

▼応募者コメント▼

今回のぷちコンのテーマ「さく」を元に、「Speedy Flower」という作品を制作しました。 左側のパイプから飛んでくる種をタイミングよく水の玉で当てて、花瓶でとって、水を浴びさせて咲かせるというのが目的です。 種のスピードや方向が変わったり、水の玉とのタイミングが計りづらかったり、一つの花を育てている間、新しい種が飛んできたりするので、サクッと行動しないとポイントがゲットできません! 操作方法としては、矢印キーで花瓶を操作、WASDキーで水の玉を操作、スペースキーで水の玉を投球。

 

[エントリーNo.45] さくぎり

スイハンキ さま

▼応募者コメント▼

テーマが「さく」という事で、VRで刀を使って「柵」を切るゲームを作りました。よろしくお願いいたします。

 

[エントリーNo.46] Hunt Deer

野口 太郎 さま

▼応募者コメント▼

鹿を昇天させることで何もない平野に花を咲かせるFPSゲームです。10体の鹿をどれだけ早く昇天させられるかを競います。

 

[エントリーNo.47] Saku Destruction

ダークネス さま

▼応募者コメント▼

このゲームは、シンプルに柵を破壊するゲームです。ステージに置かれているたくさんの柵を、プレイヤーは4種類のアイテムで破壊していきます。切れ味が良い刀は、触れるだけでグレーと緑の柵を破壊します。普通のものより大きいピコピコハンマーは、ぶつかるだけでグレーと赤の柵を破壊します。硬い素材でできた爆弾は、当てるだけでグレーと青の柵を破壊します。柵に囲われていた恨みを持つ羊は、呼び出すと自ら柵に突進し、グレーと黄色の柵を破壊します。それ以外のルールは特にないです。飽きるまで柵を破壊するも良し、右上にあるスコアを稼ぐも良し。とにかくひたすら破壊したい方たちが遊べるようなゲームにしたいと考えて作りました。

 

[エントリーNo.48] 柵を撃ち砕け!!

コウザル さま

▼応募者コメント▼

柵を狙って撃つ、シューティングゲームを作りました。弾と柵とステージは自作になります。柵に破壊するノードを入れ、砕ける演出を再現しました。マテリアルでは木目のテクスチャをつけて、木の色を意識しました。射的の練習として遊べます。

 

[エントリーNo.49] 桜散

nokonoko さま

▼応募者コメント▼

「さく」というテーマなので桜を頼りに進むゲームを作りました。桜を上手く使いながらゴールまで辿り着いてください。

 

[エントリーNo.50] Laurel

ぞの さま

▼応募者コメント▼

花言葉が射撃できるFPSです

 

[エントリーNo.51] The Dummyman

九冨陽介 さま

▼応募者コメント▼

テーマは「さく」ということで柵をテーマに作品を作りました。 コンテナに囲まれた工業地帯、某所にて爆発が起こり、ダミーマンというキャラクタが脱出するゲームです。 コースには柵が設置されており、ダミーマンはジャンプして柵を飛び越えて、 脱出を目指します。

 

[エントリーNo.52] 猫と和解せよ

AKAiro さま

▼応募者コメント▼

1分間でキャラクターを柵の中に放り込むVRゲーム

 

[エントリーNo.53] にゃんとわん

勝俣 feat.N&N さま

▼応募者コメント▼

猫と犬のゲームで、さくをテーマに勉強しながら作りました。キャラをAIで動かすなどしています。

 

[エントリーNo.54] De fence

千田泰宏 さま

▼応募者コメント▼

決まった時間内でさくっと遊べる!柵を咲かせるゲームを作ろう!(ポップなやつ!)と意気込んでおりましたが、技術力の無さから変更に次ぐ変更で、インタラクティブポエムのようなものが完成しました。UE4初作品なのですが、まぁまぁできたと思います。次はイメージ通りに作りたい!まぁでもこれはこれで好きですが。。

 

[エントリーNo.55] HOPPERMAN

AKY さま

▼応募者コメント▼

柵の柱から柱へホッピングしていく無謀な男のゲームです。 踏み込むタイミングでボタンを押すと、一つとばしで進みます。 タイミングを外すとゲームオーバーです。

 

[エントリーNo.56] あの柵の向こうへ

enmo さま

▼応募者コメント▼

羊が「柵」を飛び越えるという内容で制作しました。大きな柵を飛び越えようとした羊はいかに・・・!!よろしくお願いします。

 

[エントリーNo.57] Puzz39

けしし さま

▼応募者コメント▼

テーマは「さく」なので、39(サク)になるように計算するパズルゲームです。

 

[エントリーNo.58] Capture

齋藤遼河 さま

▼応募者コメント▼

このゲームは、柵で囚人を囲んで捕まえるゲームです。囚人を柵で囲んでいき、最も狭い領域で囚人を動けなくして捕まえます。 囚人には特色があり、緑の囚人は標準的な能力で、赤い囚人は足が速く、青い囚人は柵を壊し、紫は3人1組で連携して逃げ、水色の囚人は水路でも逃げることができます。このゲームは、ゲームの進行に応じて、囚人の特色が変化し、囚人の人数が増えていき、プレーヤーは習熟度を上げていくことでやり込みが可能です。敵キャラクターがどんな動きをするのか、どうやって捕まえようかなど、試行錯誤しながら習熟度を上げてプレイするのがこのゲームの面白いところです。

 

[エントリーNo.59] Shoot ofFence

野本拓弥 さま

▼応募者コメント▼

ゴール目指して飛んでいると行く手を阻む柵が現れた! 左クリックで機銃が撃てるぞ!邪魔な柵は機銃でサクッと壊してしまえ! ただし、柵に直撃するとサクっとやられてしまうぞ。弾には限りがある。よく策を練って壊せ 柵を壊すとスコアが増えていくぞ。 ステージ上にある白い小さい板で加速できるぞ! 加速するとスコアもサクサク伸びるぞ! 高スコア出しながらゴールを目指せ!

 

[エントリーNo.60] 柵の中の花の咲く頃

めらお さま

▼応募者コメント▼

柵で作物を守り花を咲かせるディフェンスゲームです。

 

第13回UE4ぷちコン応募作品一挙公開!その1はこちら

第13回UE4ぷちコン応募作品一挙公開!その2はこちら

第13回UE4ぷちコン応募作品一挙公開!その4はこちら

 

[UE4]第13回UE4ぷちコン応募作品公開!その4

$
0
0

第13回UE4ぷちコンのエントリー作品一覧ページです。

今回は全部で81作品集まりました!!

応募いただいた皆様、ありがとうございます!!

第13回UE4ぷちコン応募作品一挙公開!

※コンテストの告知ページはこちらです。

第13回UE4ぷちコン応募作品一挙公開!その1はこちら

第13回UE4ぷちコン応募作品一挙公開!その2はこちら

第13回UE4ぷちコン応募作品一挙公開!その3はこちら

 

[エントリーNo.61] 【第13回 UE4ぷちコン】絶体絶命!社畜さん!

白鳥隆士 さま

▼応募者コメント▼

仕事を片付けるために朝まで寝られない社畜さんが襲い来る睡魔と戦い寝落ちしないように頑張る弾幕回避アクションゲーム

 

[エントリーNo.62] 桜炸

myi さま

▼応募者コメント▼

このゲームは三色の魔法を駆使して桜の木を育てるスコアアタックゲームです。 キュートな魔女の魔法で迫りくる敵も倒しながら”サク”ラの木を”サク”ッと育てて、 誰よりもスコアを稼ぎましょう!

 

[エントリーNo.63] さくさくサクサク

水崎弘也 さま

▼応募者コメント▼

隕石の降る牧場で、柵をサクサク建てて、羊さんたちを隕石から守るパニックアクションゲームです。たくさんの羊さん、たくさんの柵、たくさんの隕石を見極めよう!

 

[エントリーNo.64] オオカミ炸裂弾(サクレツダン)

mold さま

▼応募者コメント▼

オオカミを操作し、羊を柵に入れるゲームです。子どもが喜ぶような、かわいい感じを目指しました。

 

[エントリーNo.65] Need for Shrimp

なん さま

▼応募者コメント▼

サクサクのエビフライが生命の限り全力で駆け抜けるスリルとスピード、それを阻む非情な柵の恐ろしさを短いゲームの中で味わい、命の花が咲く様を感じられる重厚感溢れるゲームです。なお、社会情勢を考慮し、もろもろの作り込みを自粛することでサクっと作って十分寝かせたうえでサクっと応募していることもコンセプトを重視した結果です。

 

[エントリーNo.66] 蓮華

oMochi さま

▼応募者コメント▼

コリントゲーム的なやつです。気持ちを落ち着かせる効果はあると思います。結局目新しい遊びが思いつかなかったので、見た目だけでもなんとかしようと頑張ってみましたが・・・

 

[エントリーNo.67] Saku Saku Cube Slash

ともたこ さま

▼応募者コメント▼

Unreal Engine 4 で初めて作ってみたミニゲームです。 左スティックで立方体を動かし、四方八方から襲ってくるボールを避けながら、右スティックでレーザーを振り回しサクサク斬って下さい。 4.13 から追加された Procedural Mesh Slice を使ってみました。 BGM には hasu さんの audiostock 販売曲(112585)を使用させて頂きました。

 

[エントリーNo.68] 爆導

行本 和弘 さま

▼応募者コメント▼

このゲームは爆導索による地雷発見爆破を行うゲームです。自機であるマインスイーパーを操り、地雷原にランダムに配置された地雷を探し出して爆導索により破壊します。爆導索には10個の子爆弾が巻き付けられ一列に爆発します。このラインを地雷があると思われる位置に合わせて破壊します。後半は各ステージのボス戦となります。地雷を処理していないとうまく戦えないぞ。地雷原を乗り越えて進軍せよ!!

 

[エントリーNo.69] 安全対柵

Penguin Gamers さま

▼応募者コメント▼

安全対柵は「フィールドにある危険物に対サクをうって危険を取り除く一人用危険源シミュレーションゲーム」です。プレイヤーにはフィールドに広がった決められた8件の危険源に対サクしていただきます。ゲーム中の流れは下記のようになります。まずプレイヤーは3枚の対サクカードをもってフィールドを駆け回り、対サクすべき危険源を探します。危険源を発見次第、大変危険なので対サクカードを消費して安全な状態にします。対サク、ヨシ!対策の内容に合わせて点数が追加されます。対サクノルマに達成するまでに高得点を目指しましょう。このゲームには様々な危険源と対サクが有ります。実際にゲームを見て確かめてみてください!ご安全に!

 

[エントリーNo.70] おでん道(読み方:おでんどう)

床 さま

▼応募者コメント▼

コンニャクを切り裂いて、おでんを完成させるVRゲームです。 Oculus Goのコントローラを刀に見立てて、手でオブジェクトを「さきまくる」体験を作りたいと思い、製作しました。

 

[エントリーNo.71] 無力な自分

紫苑 さま

▼応募者コメント▼

柵をテーマに自分が設置した柵による攻撃のみが行えるゲームを作ってみました.ようやく目標の三日で作成できましたので細かいところまではできていませんが,AIの動きなどわかってきたかなという感じです.C++はむり…

 

[エントリーNo.72] Princess of Circle – Love & Destroy –

おかず さま

▼応募者コメント▼

かわいいグレイマンちゃんが「サーク」ルの姫を目指すゲームです。 他の部員達を「サーク」ルに囲んでラブパワーを注入しよう!「さく」乱して逃げる愚か者には連続ビンタだ! 製作期間:約15時間

 

[エントリーNo.73] 花咲無双

ドコロ さま

▼応募者コメント▼

はなさかじいさん(?)が灰を使い、桜の花を咲かせ、粉塵爆発で敵を蹴散らすゲームです。

 

[エントリーNo.74] 錯乱牧場(さくらんぼくじょう)

リンデロン さま

▼応募者コメント▼

仲間を捜索(そうさく)して、柵(さく)の中に戻せ! 地を駆ける竜を操作して、迷子の仲間を見つけて、 厩舎に送り届けてあげてください。 なぜか、ドラゴンが食べに来ます。逃げて! プロ20年越えが5回目の参加。そして5回目の徹夜。 今回はUnreal C++とアニメーションを頑張りました。

 

[エントリーNo.75] 「この柵は壊れない。」

h64g さま

▼応募者コメント▼

映像(ノンゲーム)。うまく出力できなくてキャプチャー動画という悲しみ。

 

[エントリーNo.76] Butterfly Blossom

U-MA さま

▼応募者コメント▼

今回のテーマは「さく」なので、花が「咲く」ことをベースにしたゲームを作成しました。 蝶が咲いている花の上を移動すると、周りの花の咲いている状態、咲いていない状態が変わります。 蝶を青い花まで導いてあげるのが、このゲームの目的です。

 

[エントリーNo.77] 分裂!プラナリアン

あるそん さま

▼応募者コメント▼

「さけるチーズ」。我々は何故あれをわざわざ割いて食べるのでしょうか。 おそらく、嗜好できる回数が増えることに魅力を感じているのだと思います。 というわけでプレイ志向に合わせて試行回数を能動的に操作するゲームを作ってみました。 魅力あるキャラクター達も見逃すな!

 

[エントリーNo.78] さくでディフェンス

茂木禄朗 さま

▼応募者コメント▼

「サク・デ・ディフェンス」は、襲い掛かってくる敵から羊を柵で守るゲームです。 プレイヤーはサークルを操作し、スペースキーを押すと柵が出てきて敵を妨害できます。羊をどれだけ長く守ることができるかを競うゲームです。  柵はフィールド上に10個までしか配置できず、限られた数の中で敵をいかに対処するかがゲームの肝となります。  私はテーマ「さく」から「柵」と「サークル」を想像し、サークルから魔方陣を連想し、「柵」を召喚するゲームにしようと思いました。柵はもっぱら何かを守るときに使うため、タワーディフェンスゲームを基にしてこのゲームを作りました。

 

[エントリーNo.79] 新型コロナウイルス肺炎対策

finetom さま

▼応募者コメント▼

治療法が見つからない新型コロナウイルス肺炎対策のシミュレーションゲームです。自宅待機か外出か、マスクをするかしないか、選択によって感染確率が変わります。日常生活が徐々に蝕まれて行きます。感染状況は刻一刻と悪化して行きます。睡眠、食事を十分にとり、石鹸での手洗いやマスク着用、ソーシャルディスタンスを保つなど正しい知識を学びつつ忍耐力ある選択が生き残るために必要です。

 

[エントリーNo.80] シルエットEXPO?柵業界?

NARI4D さま

▼応募者コメント▼

シルエットEXPOをひっそり開催しました。今回は柵業界。 コンセプトは、多面的な3Dモデルを単一的最たる例といえる「シルエット」で楽しんでみることです。 企業出品部門と個人出品部門が用意されています(※もちろんイメージ)。 企業部門では、Megascanの3D Assetを活用。 個人部門では、本来柵として使われていないものをこうやったら使えるかもという観点から、SketchfabのCC0モデル、Blenderモデリング、また3DスキャンサービスDisplaylandを活用をしたモデルを出品しました。

 

[エントリーNo.81] 花咲けUFO

1DayChallenger さま

▼応募者コメント▼

弾を撃って花を咲かせるゲームです。UE4の勉強のために1日で制作しました。

 

第13回UE4ぷちコン応募作品一挙公開!その1はこちら

第13回UE4ぷちコン応募作品一挙公開!その2はこちら

第13回UE4ぷちコン応募作品一挙公開!その3はこちら

 

[UE4]裏写りしないDecalの作り方

$
0
0
執筆バージョン: Unreal Engine 4.23

Decalは非常に便利で、自由度の高い機能ですが、たまに痒いところに手が届かない事があります。

下図のように、レベルに配置したDecalが裏側にも表示されてしまい、困った事はないでしょうか?

【表側】

【裏側】

Decal Actorのサイズが壁よりも薄くなるように、サイズを調整すれば解決するのですが、

Decalアクターを動的にSpawnして使用する場合(弾痕など)は、そうもいかないケースも多々あります。

今回は、裏側が表示されないDecalの作り方をご紹介したいと思います。

 

①Decalマテリアルを作成

まず、下図のようにDecalマテリアルを組みます。

マテリアルからはDecalのForward Vectorが取得できなさそうなので、この後BP上で流し込みます。(やりかた知ってる方は教えてください、、)

②Blueprintで、DecalマテリアルにForwardVectorを流し込む

新規作成したブループリントに、Decal Componentを追加し、先程作成したDecalマテリアルをアサインします。

その後、下図のように、DecalマテリアルをDynamic Parameter化し、①で作成したVector Parameter”ForwardVector”に、ActorのForward Vectorを流し込みます。

 

③レベルに配置

このように、裏側は表示されません。

【表側】

【裏側】

 

お試しあれ!

Viewing all 984 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>