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

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

$
0
0

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

今回なんと!!過去最多108作品!すごい!!

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

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

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

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

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

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

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

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

 

[エントリーNo.21]  60 Seconds Shooting

暇人(@hima_zinn) さま

 

▼応募者コメント▼

60秒間のみ動ける宇宙船を操作し、できるだけ敵を倒す全方位シューティングゲームです。
動いている間もしくは赤色の地面の上にいる間はLife Timeが減っていき、Life Timeが0になるまたは敵にぶつかるとゲームオーバーです。
コンボ中はコンボ数に応じてスコアが加算されます。
開発途中でゲームを公開し意見を参考に難易度調整をかなり細かく行いました。
ゲーム性が高く、良い難易度のゲームになっています。ぜひ遊んでスコアを競ってみてください。[補足]
『60 Seconds Shooting』の制作過程をTwitterやブログでオープンにして開発しました。
togetter : https://togetter.com/li/1144164
ブログ : http://hima-zinn.hatenablog.com/archive/category/UE4%E3%81%B7%E3%81%A1%E3%82%B3%E3%83%B3
ぷちコンに興味はあるけど参加したことのない人やゲーム作りには興味あるけど作り方がわからない人の参考になればいいなと思います。

[エントリーNo.22] 60secowos

けしし さま

 

▼応募者コメント▼

グレイマンは牛がさらわれて困っています。

60秒の間に一定数の牛を届けることでステージを進めるゲームです。

作品名は60秒(60seconds)と牛(Cow)をつなげて 60secows(シックスティセカゥス)

としました。

[エントリーNo.23] 「Limit」

ado さま

 

▼応募者コメント▼

60秒という制限の中でどれだけのことが出来るのか試してみましたが、意外と長いですねw

[エントリーNo.24] Go to the top

ぱソんこ さま

 

▼応募者コメント▼

2DライクなFPSを目指して作成しました。60秒以内にゴールを目指すのが目的です。

[エントリーNo.25] 「太陽フレアがいっぱい」

やしきチーム さま

▼応募者コメント▼

第8回UE4ぷちコン ぷちコンゲームジャムで作った作品です。

このゲームは冷却ビームを出して太陽を冷やすゲームです。

炎に当たると自機の温度が上がって冷却ビームが打てなくなります。

温度が下がるまで待ちましょう。

制限60秒間 で太陽を冷やしてスコアを稼ぎましょう!!

[エントリーNo.26] 自撮りがカワ(・∀・)イイ!!グレイちゃん

きりんさんチーム(S.na、 gaurasan、 赤坂正昇) さま

 

▼応募者コメント▼

24インチ自撮り棒を片手に街を駆け抜けるグレイちゃん、追ってくるファン達と可愛く自撮り!

巨大故にバッテリー持続時間はわずか60秒。アイドルとして致命的である。

 

プレイヤーはグレイちゃんとなり、制限時間内に多くのファン達から逃げつつ自撮り、一緒に撮影したファン総人数を競うVRランゲームです。

自撮り棒はハンドコントローラーと連動しており、カメラ画角内に多くのファンを収めかつグレイちゃんを可愛く撮影する事がスコアを伸ばすポイントです。

 

撮影時はプレイヤーの足が止まるので、不要な連続撮影は控えベストショットを狙おう!

[エントリーNo.27] UnrealCATCHER

ふわーりん さま

 

▼応募者コメント▼

自分の趣味がクレーンゲームなので、丁度ぷちコンのテーマに合っていたので作成しました。作成での自分ルールとして、できるだけ機能を使用していくこと、必ずModoを使用すること、以上の2つをルールとしました。

モデリング:MODO

音楽:魔王魂、On-Jin ~音人~

[エントリーNo.28]Magic Ruins

失踪がるら さま

 

▼応募者コメント▼

テーマである『60秒』を「制限時間」と「体力」に見立てた、スピーディーなトップダウンビューのローカルマルチ対戦ゲームです。

直感的に放つことができる2種類の魔法を使い分け、お互いの命(制限時間)を掛けた熱いバトルを堪能してください。

[エントリーNo.29]おぼ迷路

株式会社Tera Box さま

 

▼応募者コメント▼

天空視点から迷路を見てルートを記憶し、FPS視点で迷路を脱出するゲームです。

記憶と脱出を合わせた制限時間が60秒なので

時間の使い方がゲーム攻略の鍵になります。

[エントリーNo.30]Sixteen Bomber

K_Z さま

 

▼応募者コメント▼

パズルゲームを作成しました。
パネルをステージ上に置くと、パネルに付いたタイマーが作動し、60秒後に爆発します。
ステージ上で同じ色のタイマーを接触させると、タイマーが巻き戻ります。
他のパネルのタイマーがない辺、またはステージの端にタイマーを置くと、タイマーが停止します。
四隅に固定されたパネルはパズルのヒントになりますが、ゲーム開始とともにタイマーが作動します。全てのパネルをステージ上に置き、全てのタイマーが巻き戻っているか停止していれば、クリアーになります。

[エントリーNo.31]3秒ルールを真に受けて

FUNCTION TALES さま

 

▼応募者コメント▼

誰もが一度は耳にしたことがあるであろう「3秒ルール」
それを題材にした、サバイバルアクションゲームです。
生きるために、拾う、走る、跳ぶ、腹を壊す。
そして、3秒以内に落ちた唐揚げを食べ続けてください。
(良い子は真似しないでください)

[エントリーNo.32]60CountBar

平井 佑樹 さま

 

▼応募者コメント▼

60秒以内に多くの敵を倒すゲームです。

[エントリーNo.33]うるう秒を目撃せよ

かたつむりの中の人 さま

 

▼応募者コメント▼

デジタル時計で「60秒」を見たことがありますか?デジタル時計の秒数は通常00~59ですが、
数年に1度「60」になるときがあります。それがうるう秒です。
このゲームの目的はそのうるう秒を目撃することです。

[エントリーNo.34]たすけてグレイちゃん!爆発60秒前危機一髪!

TiS さま

 

▼応募者コメント▼

グレイちゃんを操作して爆弾からグレイマン達を助けるゲームです。自分なりの攻略ルートを考えて高得点を狙おう!

UE4歴3ヶ月の初学者だったので、勉強になるようになるべくたくさんの機能を実装して遊びやすくしました。

[エントリーNo.35]Voyage 60

U-MA さま

 

▼応募者コメント▼

今回のテーマが60秒ということで、60秒間のみ能力が使えるという方向でゲームを考えました。
このゲームでは攻撃としてビーム、防御としてシールドが使えますが、攻撃・防御が行える時間を60秒間だけということにしました。なのでこの時間を節約するために回避することも大事なゲームの要素になると思っています。
映像中にはありませんが60秒を使いきり、攻撃も防御もできなくなった場合のために、ボスの背後に移動することでゲームクリアになるようにもしています。

[エントリーNo.36]Inverted World

ymhr さま

 

▼応募者コメント▼

60秒を砂時計で計ろうと考え、砂が落ち切る前にひっくり返せば時間を巻き戻せるというアイデアが思いつき、「ひっくり返す」ことからこの世界観が思い浮かびました。
ただの迷路にしては面白くないと思い、表と裏の世界で左右が反転し、少し異なる迷路を作ることで、世界を行き来しながら先に進み迷路を解いていくシステムにしました。
<操作説明>
マウス左クリック : 表裏の世界を行き来する
W : 前進
A : 左に進む
S : 後退
D : 右に進む

[エントリーNo.37]foul MURDER

てんちょー さま

 

▼応募者コメント▼

デバッグ用の頭がほしくなりました

[エントリーNo.38]Playback

すずきかつーき さま

 

▼応募者コメント▼

時間が止まった世界で、与えられた「60秒」の「再生フィールド」を駆使して脱出を試みるFPSパズルゲームになります。タイトルの「Playback」は止まっている時間の”再生”の意味と、いつでも過去のレベルを”やり直す”前提でゲームが作られているという2重の意味になります。

[エントリーNo.39]untitled

けしし  さま

 

▼応募者コメント▼

敵陣のブロック配置を考慮して、自ブロックの属性を制限時間60秒で決定することで、敵ブロックをすべて破壊するゲームです。

タイトルはまだありません。

[エントリーNo.40]The petit of ice and fire

ゅろ&Chief さま

 

▼応募者コメント▼

60秒で武器を漁って、それを召喚し敵に当てるゲームです!特にこだわっている部分はスキルUIの部分です。ぜひ遊んでみてください!

 

 

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

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

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

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

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


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

$
0
0

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

今回なんと!!過去最多108作品!すごい!!

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

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

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

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

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

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

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

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

[エントリーNo.41] 秋の夢うさぎ

若草なずな さま

 

▼応募者コメント▼

少女のために、60秒以内にお月見団子を完成させるうさぎ配置型パズルゲームです。

[エントリーNo.42] 捕らわれのウルダ

PKY さま

 

▼応募者コメント▼

60秒間だけ使える特殊能力を駆使して姫を助ける3Dアクションゲームです。初めてゲームとして一本作りました。60秒ネタとしてはオーソドックスですが、

スピード感がある、プレイヤーを触ってて楽しいアクションゲームを目指しまし

た。

[エントリーNo.43] My 60 Seconds

HirakenCom さま

 

▼応募者コメント▼

デブリにぶつからないよう宇宙船を操作し、光速を越えることで60秒を増やすゲームです。

[エントリーNo.44] リアル1分間スピーチ

伊藤智也 さま

 

▼応募者コメント▼

このゲームをプレーしてキミも憧れの会社へ就職しよう!

[エントリーNo.45] Suddenly die in the desert

たいら さま

 

▼応募者コメント▼

何者かに砂漠へ放り込まれたあなた。仲間に助けに来てもらう1分の間に降り注ぐ60個の爆弾!

すべてを避けて無事に仲間に助けてもらえ!

VRゲームになっています。移動方法はテレポート移動方法は採用せず、腕を実際に降ってその方向に動くという現実に合わせた移動方法になってます。

[エントリーNo.46] 『RUN A WAY』

くらかす さま

 

▼応募者コメント▼

60秒間敵の車両から逃げ切れば勝利です。

逆に追いつかれてしまうと負けてしまいます。

壁の接触などのミスをしないようにして60秒間逃げ切りましょう。

[エントリーNo.47] キモイナメクジを助けよう

TokyoBits さま

 

▼応募者コメント▼

Spiders have come to eat your cute disgusting slugs. Keep them alive for the next 60 seconds while squishing as many spiders as possible. Beware of the big spiders – but they also drop items that will slow down time for you!

[エントリーNo.48]ThrowInAXE

よしかた さま

 

▼応募者コメント▼

60秒間斧を投げてスコアを競うゲームです。

ターゲットがステージにランダムで配置されます。

キャラクターを動かして斧を投げてぶつけていくとポイントが増えます。

ハイスコアを狙っていくゲームです。

 

[エントリーNo.49]OPTICAL TIME PATROLLER

waka2ya さま

 

▼応募者コメント▼

2XXX年、警察は時間を遡る力を手に入れ、事件を未然に防ぐことが可能となった。しかし自らの姿を隠す技術が開発され無差別の爆破テロが始まった。警察はテロリストの動きをあぶり出す特殊なスコープを開発し、君をタイムパトロールとして特殊任務に向かわせるのだった。
ゲーム説明:
非同期対戦FPS!テロリスト側とタイムパトロール側で遊べます。
テロリストは爆弾をパトロールに解除されにくいように設置していきます。
タイムパトロールはテロリストと同じ順番の爆弾ボタンで解除します。スコープを使用することでテロリストの動きを追跡できます。

[エントリーNo.50]Push-ups 60

うなうなぎ さま

 

▼応募者コメント▼

筋トレをすると疲れるので、疲れずに筋トレするために開発したゲームです。しかしこれを60秒間やると案外疲れます。

筋肉も鍛えられているような気配があります。(個人の感想です)

[エントリーNo.51]60ビョウカンウチュウ

けるニー さま

 

▼応募者コメント▼

60秒間しか行動できない戦闘機(しかも攻撃や移動をすると時間は更に減るおまけ付き)を使い敵を倒すシューティングゲームです
最低限の攻撃と移動で敵を倒しかわしつつアイテムをゲットし時間を巻き戻し機体を直せば、より多くの敵を倒すことができます

[エントリーNo.52]ドラゴン・レイ

うさぎさんチーム さま

 

▼応募者コメント▼

「UE4ぷちコン ゲームジャム」にて「うさぎさんチーム」で制作した作品です。宇宙空間にいるドラゴンが、巨大ビーム兵器で焼かれるまでの過程を楽し

むという内容です。

 

VRコンテンツなので、なんの説明もなくいきなりHMDを被っても問題なく直感的にプレイ

できるようにしたいと思い、特に前提知識や説明がなくても、音声によるナビゲーション

で状況を理解して楽しめるようなデザインにしました。

[エントリーNo.53]Shot and warp

nano さま

 

▼応募者コメント▼

Oculus rift専用となります。空中木造構造物から1分以内に脱出する事を目指します。

扉を通るとステージクリアになります。

ショットを撃てますが、ショットは時間を消費して発射します。

溜めれば溜めるほど遠くへ届くようになりますが、

その分時間消費も大きくなります。

 

操作方法

左手スティック、移動

右手スティック、回転

右手Aボタン、チャージ

右手トリガー、ショット&ワープ

[エントリーNo.54]STOP60

ともひ さま

 

▼応募者コメント▼

誰もがやったことがある「アレ」をゲーム化しました。

[エントリーNo.55]ファンシーレイン

にゃーすけ さま

 

▼応募者コメント▼

上から落ちてくるものを、おさらで上手く受け止めて、たくさん集めるゲームです。

60秒間にいくつか要素を入れてみました。

[エントリーNo.56]ENGEL FLIP

Frisk さま

 

▼応募者コメント▼

敵を倒しながら奥へどんどん進みボスを倒すゲームです。

いつ覚醒を使うかなどの戦略、魔法で敵を一層できる爽快感などを楽しんでもらえたらうれしいです。

[エントリーNo.57]「とびめいろ」

ぶのいち さま

 

▼応募者コメント▼

60秒の制限時間以内にワープを使用してゴールを目指す迷路です

[エントリーNo.58]SPEED TUBE

Yuki.H さま

 

▼応募者コメント▼

自機であるトライアングルを操作し、SPEEDTUBEと呼ばれる空間を突き進みながら新天地を目指すゲームです。

ゲームの内容は至ってシンプルで、「白壁にぶつからずに60秒以上進み続ける」というゲームです。

誰でも簡単にプレイできるような操作性と、クリアしたときの達成感を両立できるようなゲームを目指しました。

[エントリーNo.59]PointVehicle

PaperSloth さま

 

▼応募者コメント▼

60秒以内にゴールを目指すレースゲームです。
道を阻むトラップやレースを有利にするアイテムを上手く駆使して最速ゴールを目指そう!

[エントリーNo.60]the 60seconds engage

TomTomACE さま

 

▼応募者コメント▼

制限時間内にターゲットを撃墜するフライトシューティングゲームです

お題の60秒は初めの制限時間としました

 

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

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

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

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

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

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

$
0
0

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

今回なんと!!過去最多108作品!すごい!!

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

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

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

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

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

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

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

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

[エントリーNo.61] オモイビト

みーくんさん さま

 

▼応募者コメント▼

想いが重すぎる彼女から60秒間耐え抜くゲームです。
今作のために書き下ろしたイラストにより注目していただきたいです!

[エントリーNo.62] VR UE4娘ちゃんと線香花火対決

まるプロ さま

 

▼応募者コメント▼

VR上でUE4娘ちゃんと一緒に線香花火ができます。
敵もいなければ、UIも無し、BGMもありません。
夏の夜といった虫の音だけが聞こえる中で静かに線香花火をします。
それではゲームにならないのでは花火を動かすと
燃えている時間が短くなっていきます。
プレイヤーの花火は最長60秒、
UE4娘ちゃんは確定30秒。
燃焼時間の結果表示代わりに
UE4娘ちゃんのリアクションがいくつか楽しめます。
そんなのんびりと過ぎ去った夏を感じる(?)ゲームです。

[エントリーNo.63] Instant Ship

もふこん さま

 

▼応募者コメント▼


1分で最強の船を組み上げ、鮮烈な弾幕戦を制せ!
MPが満タンになれば負けの弾幕ビルド・リアルタイムストラテジー鉄の泉へのテレポーターを開いて資材を増やし、
建築や修理を行うネズミを増やす「チーズの家」で人員を確保豊富なアップグレードコマンドを持つ「大砲」
マナを消費し、強力な射撃を行う「マナコンバータ」で戦闘の準備を1分が経てば船とプレイヤーを交えた弾幕戦が始まる
組み上げた船と共に射撃、ガード、テレポーターの鉄の滝、そしてMPを消費して周囲の弾を止める”時間操作”を駆使して相手の猛攻を捌き、MPを吐き尽くせ!

[エントリーNo.64]60 seconds to survive

山崎 健廣 さま

 

▼応募者コメント▼

このゲームのコンセプトは「60秒間集中する」です。 このゲームではプレイヤーが決められた地点まで脱出します。 その際に「フォーカスモード」を使うことで、登る場所や危険な場所などを色づけしたり、体力やスタミナの確認など行動の手助けにします。ただし、この能力は60秒間までしか使用できず、60秒以上使用してしまうと能力は使用できません。そのため、プレイヤーは60秒を有効的に使わなければなりません。

[エントリーNo.65]PlayTime

まゆまゆ さま

 

▼応募者コメント▼

第8回UE4ぷちコン応募作品です 秒針に乗ったまま、60秒の間色のついたブロックをひたすら避けるゲームです。 何かが終わるのを待っている間の時間というイメージです。 シンプルさを重視しました。

[エントリーNo.66]60 Clock hands

やこふ さま

 

▼応募者コメント▼

相手を押して黒いエリアの外に出すと勝ちの対戦ゲームです。
時間が経つにつれて行動できる範囲が狭くなっていきます。60秒で黒いエリアが無くなります。

[エントリーNo.67]エフェメラル・アクセラレーション

Sig さま

 

▼応募者コメント▼

圧縮された60秒で蠱毒を​闘い抜く、加速するスコアアタックゲームです。

人造のカゲロウ型ヒューマノイドが同族と闘い、その寿命を奪い生き永らえていきます。

奪取した余剰分の寿命を圧縮し、さらに自分の行動速度を上げていくのがミソです。

ゲームデザイン的には攻撃速度が上がっていくゲームって気持ちいいよね、という発想から作りました。

バックフリップやグレネード射撃のカメラワーク演出が調整していて超楽しかったです。あと怪人っぽいモーションとかも。

 

カゲロウの一生は短いけれど、人間とは比べ物にならないくらい「圧縮された」濃厚な一日を送っているのかもしれません。

[エントリーNo.68]Rest Bullet

com04  さま

 

▼応募者コメント▼

20発/s の機関砲 60sec分の残弾(1200発)で敵を撃破していきます。

ボスを倒すか残弾が無くなるとゲーム終了です。

 

折角の1からゲーム製作を触る機会なので、制作方法をちょっと変えてみました。

[エントリーNo.69]ろっくじゅうびょう!

ハセオ  さま

 

▼応募者コメント▼

テーマが「60秒」ということなので分解をして岩(rock)、銃、鋲の三種類から60秒

逃げるというゲームにしました。

今回初めてゲームを作ってみて難しく大変でしたがとても勉強になりました。

[エントリーNo.70]Sixty Seconds Shooting

mao  さま

 

▼応募者コメント▼

制限時間60秒以内に先に進みながら敵を倒し、ハイスコアを狙うゲームです。

 

・スマホ向けを想定※動画中の物はPC向けに出力した物をプレイ

・照準を操作して敵をロックオン

→画面中の残り時間表記の下にあるロックオンゲージが切れると対象に向かって追尾弾を一斉発射

・同時ロックオン数が多いほど倒した際に高得点

※但しロックオンし過ぎるとロックオン済みの後方の敵に追尾弾が届かなくなってしまうので注意

・プレイヤーは上の方を向くと移動速度が低下。その為に真上を見たりすると移動によるスコアが加算されなくなるので注意

・たまに現れる赤い敵はスコアが3倍&倒す事で持ち時間が10秒回復

(但し残り時間は60秒以上にはならない)

[エントリーNo.71]StealTime

tamfoi  さま

 

▼応募者コメント▼

敵から寿命を奪いタワーを少しでも長く延命させるゲームです。

[エントリーNo.72]忙しい人のためのブロックくずし

NoSNoO  さま

 

▼応募者コメント▼

普通にプレイするとやたらクリア時間のかかるブロック崩しが60秒くらいでサクッと終わる!

というコンセプトで作ってみました。

前回のテーマ「サプライズ」で提出したブロックくずしが不完全燃焼だったのでリベンジです。

[エントリーNo.73]ATTACK60

すばる さま

 

▼応募者コメント▼

60秒という時間に意味を生み出すことが難しく、スローにすると最大107.5秒のプレイ時間となる、形だけの60秒ということにしてみました。

スローになるシステム自体はありきたりなものですが、スローな世界で飛び散る弾丸と破片は今までに見たことのない画になるかもしれません!!

[エントリーNo.74]超高性能開発ロボ「ゴッドビルド」

(株)ガルル研 とみの さま

 

▼応募者コメント▼

超高性能開発ロボ「ゴッドビルド」合体せよ!

 

誰もが退社し静まりかえった職場に単独でバグと戦い続ける開発員がいた。そして、明日の朝までになんとか仕上げなくてはいけない使命(プログラム)がある。しかし、潜む敵(バグ)をすべて対処した彼が見た現実は、なんと約2時間を超えるビルド時間であった。クライアントが出社するまであとわずか。

 

「アレだな!もうアレを使うしかない、無料で開放しれくれたアレを!」

 

そして友(先輩)から借りた超高性能PCを繋いで、最後の戦いが始まる。。。

[エントリーNo.75]ゴールデンルール

睦実 さま

 

▼応募者コメント▼

60秒というテーマから美味しい紅茶を入れるための蒸らす時間を思いました。蒸らし時間に要注意。

[エントリーNo.76]1000m障害物競走

了たろ さま

 

▼応募者コメント▼

障害物を乗り越え60秒以内にゴールを目指すゲームです。
操作は非常にシンプルで移動とジャンプのみとなっています

[エントリーNo.77]Grayちゃん暴走中!!

Sacchy さま

 

▼応募者コメント▼

Grayマン「Grayちゃんの様子がおかしい。」

Grayマン「触れると私から火花が飛び散る程の熱さだ」

Grayマン「やつにあたってはならぬ」

 

Grayマンを暴走するGrayちゃんから避けさせよう!

[エントリーNo.78]サークルシャトルラン

ゆじこ さま

 

▼応募者コメント▼

 

テーマが60秒ということなので連想でシャトルランが浮かんだのでシャトルランのゲームを作りました!だんだん早くなっていく間隔が約60秒間でレベルアップしていくのがテーマのポイントです

[エントリーNo.79]Punch Refrect

白鳥隆士 さま

 

▼応募者コメント▼

飛んでくる弾をシールドを張って跳ね返して60秒間耐える。

残機が尽きるとゲームオーバー。

シールドは連続で5秒以上使い続けると10秒間強制的に使えなくなるので、両手のシールドをうまいこと使い分ける。

[エントリーNo.80]Increment By Arrow

シオタニ さま

 

▼応募者コメント▼

弓と矢で的を壊していくゲームです。矢が放たれている間のみ時間をカウントするため、時間に縛られすぎないプレイができます。

 

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

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

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

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

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

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

$
0
0

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

今回なんと!!過去最多108作品!すごい!!

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

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

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

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

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

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

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

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

[エントリーNo.81] 「60sec. Conquest」

zeal さま

 

▼応募者コメント▼

プレイヤーの目標は、3種類のロボット兵(歩兵/射撃兵/装甲兵)を建造・駆使して敵のタワーを破壊することです。

ロボット兵の建造には、引き換えにプレイヤーの持つ残り秒数を対価として支払う必要があります。

また、建造に時間をかけることでより高コストで強力なロボット兵を建造することができます。

残り時間とロボット兵建造のバランスを上手くとってタワーを破壊しましょう。

[エントリーNo.82] 迫りくる闇

ねずみさんチーム さま(ヒストリアメンバー)

 

▼応募者コメント▼

世界が闇に飲まれる前に、7つの紅い珠を集めるゲームです。

[エントリーNo.83] 60秒でポージング

jojomon さま

 

▼応募者コメント▼

60秒の間にぷろ生ちゃんのポーズをそろえるVR(oculus riftのみ試しています)用のゲームです。

60秒たってもそろえられない場合は、最初のポーズに戻ってしまいます。

成功すると制限時間なくポーズを決めて遊べますが、判定が厳しく動画では

クリアできていないです。

時間がなくなってしまったので、ここまでで終了とします。

[エントリーNo.84] inFogginess

パマギー さま

 

▼応募者コメント▼

VRパズルゲームです。各パズルの制限時間が60秒になります。
プレイヤーは左手に付いた地図を見ながらゴール(赤い柱)を目指します。
VRですが移動はテレポート式ではなく、手を使った移動を試しました。パズルゲームとして以下の情報制限があります。
・地図に自分の位置が表示されない
(各ステージのスタート地点もわからない)
・プレイヤーは周囲1マスの柱しか見れない。この制限に対して、目印(青い柱)や周囲ブロックの地形から現在地を上手く把握して、ゴールにたどり着きましょう。
常に地図を見ながら目的地を目指すゲームが好きなので作りました。地図を片手に探索する醍醐味を見せられたらなあ、と思います。

[エントリーNo.85]Alice in One Minute World

ねぎもち さま

 

▼応募者コメント▼

ジャンプと移動だけの簡単なアクションと時間停止の能力を持つキャラのアクションゲームです。

テーマが「60秒」ということで、単に時間制限にするだけでなく、時間 = 時間を止める能力をゲームにしたらどうなるだろうか、技術的に可能だろうかと思い作ってみました。 あまり難しい操作にしたくなかったので、2Dライクに左右のみで移動できるようになっています。
アリスっぽい絵本のような雰囲気が出るようにマテリアルを調整したり、時間を操作している感覚を見せるためのポストエフェクトも入れています。
あとちょっと短いですが、冒頭に物語性を示唆するようにイベントシーンも盛り込みました。

[エントリーNo.86]神見習いの60秒

六水条 剣 さま

 

▼応募者コメント▼

神様の見習いであるプレイヤーが、ひょんなことから授かった「時間」の力を使って人々を救うゲームです。

見習い故に力が使える時間はトータルで「60秒」。いつ、どこで、どれだけ使うかを考えながら進めるアクションゲームになります。

[エントリーNo.87]TooEasy

malony さま

 

▼応募者コメント▼

数十秒でクリア出来る簡単なミニゲーム集、と思いきや・・・?

[エントリーNo.88]60sec. Boxing

でんあつ さま

 

▼応募者コメント▼

60秒間の制限時間で他のプレイヤーをリングアウトさせるゲームです。リングそのものがタイムカウンターになっています。どんどんせまくなるリングで生き残れ!

[エントリーNo.89]時計のミニゲーム

城黒白 さま

 

▼応募者コメント▼

3つの時計を指定された時間ぴったりで止めるゲームです。

ただし、それぞれの時計は微妙に速度が狂っています。

時間制限は60秒、3つの時計の合計指定時間も60秒です。

[エントリーNo.90]かわいいツインテの女の子から「60秒で街を救って」と急に言われた僕はやれやれとため息をつくながらロボットに乗ることにしたようです。

おかず さま

 

▼応募者コメント▼

ロボットに乗って街を救う男のロマンあふれる作品…に仕上がるはずでした…

(カメラの自由が効かないVR作品を作る事が多かったので、今回は非VRでグリグリ視点変えてみました!シーケンサ最高!!!)

[エントリーNo.91]Fall60s

どんぶつ さま

 

▼応募者コメント▼

落ちてくる60秒をマウスでクリックするだけのシンプルなゲームです。

単位が異なる60秒も落ちてくるので瞬時に計算する必要があります。

シャトルランのような持久力と瞬発力が求められます。

[エントリーNo.92]Pendulum

altalt(アルタルト) さま

 

 

▼応募者コメント▼

振り子で戦う格闘スポーツ「ペンデュラム」

様々な特性を持った上下の振り子で相手の時間を奪い合う。

上・下・スキルの3ボタン簡単操作。

振り子とファイターの組み合わせで戦い方は大きく変わる

[エントリーNo.93]グレイちゃんの守護者

gaurasan さま

 

▼応募者コメント▼

グレイちゃんを守りながら飛んでくる岩石を破壊するVRゲームです。

右手から炎、左手から魔法陣を出します。

魔法陣は便利ですが消費ポイントが多くなります。

魔法力は60秒毎に回復します。

魔法力を使い果たしてグレイちゃんを無防備にしないように注意しましょう。

[エントリーNo.94]ROBOFIRE

やねじ さま

 

▼応募者コメント▼

自動生成されるステージでカギを見つけてゲートから脱出しよう。

敵を倒すと時間が増えたりパワーアップアイテムがランダムで発生します。

レベルアップは三段階、ダメージを受けると武器レベルが下がります。

[エントリーNo.95]EndingMaker

村瀬朱夏 さま

 

▼応募者コメント▼

エンディングで走る作品は良作ってことで、それならば最初っから走ればよいのでは。60秒でエンディングを駆け抜けろ。

[エントリーNo.96]60秒バスター

びっと さま

 

▼応募者コメント▼

テーマは「60秒」ということで・・・60秒バスターを作りました!

このゲームでは敵に攻撃をされると時間の進行が早くなってしまいます。

敵の攻撃を防ぎつつ、隙を見て攻撃していきましょう!

[エントリーNo.97]Siege of Syracuse ARCHIMEDES

しし父さん さま

 

▼応募者コメント▼

ローマ軍と都市シラクサの間であったシラクサ包囲戦をモチーフとしたゲームです。
ローマ軍は天才数学者アルキメデスの作った兵器(太陽光を鏡で反射させて、船に火をつける装置)に苦戦を強いられてます。
今回のゲームでは、プレイヤーはローマ軍となり、船が燃えてしまい海に投げ出されてしまった兵士を日没まで(60秒以内に)救出をします。はてさて、救出はできるのか、間に合うのか!

[エントリーNo.98]RevivalAge

けむしLabU さま

 

▼応募者コメント▼

1秒ごとに歳を取る世界。60歳には老衰する運命が定められたグレイマン達は子孫繁栄に必死だった。太く短く命を繋ぎ、次の世代はより良い世代に。相性の良い相手を探し回りより良い遺伝子を残していこう。相性のヒミツは性別・種族。自身の年齢、残り時間に気をつけつつ、親しく優秀なパラメータを厳選しよう。ただし、性別ごとに「子孫繁栄」解禁年齢が異なる。犯罪行為はご法度だ。

[エントリーNo.99]とある仮想時限(アンリアル)の魔法陣(クロノスブレイカー)

山地直彰・すぎしー・灰原とう(ぷちコンゲームジャム大阪) さま

 

▼応募者コメント▼

UE4でHololensの音声認識に対応しました。

無駄にカッコイイ技名を詠唱して

空間に3種類の魔法陣を作ることができます。

時間を30秒戻す『宿命反転 ギャラクティカリバース』

時間を30秒進める『加速因果 タキオンオーバードライブ』

万物の時間を1分停止『夢幻1分 アンリミテッドザワールド』

大きな声で詠唱して

時限生命体クロノスの侵略を阻止しましょう。

空耳英語完全対応。

ぷちコンゲームジャム(大阪)で

チーム結成した3人の作品です。

[エントリーNo.100]或る1分

menonon さま

 

▼応募者コメント▼

簡単なミニゲーム集です。ですが、ただただ単純なミニゲームではないようです。

 

 

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

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

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

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

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

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

$
0
0

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

今回なんと!!過去最多108作品!すごい!!

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

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

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

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

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

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

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

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

[エントリーNo.101] Thruster

暇厨 さま

 

▼応募者コメント▼

Oculus CV1 と Touchを使用した新しいVRの移動を提案します。

両手をスラスターにして爽快な移動ができるようになっています。

 

これを楽しむためハードなコースを用意しました。

新しい移動法なので慣れが必要でしょう。

しかしこの爽快感は圧倒的です。是非体験してみて下さい。

[エントリーNo.102]「二度寝~あと60秒だけ~」

西松 祐紀 さま

 

▼応募者コメント▼

このゲームは「あと60秒だけ寝ていたい!!」そうやって二度寝してしまうそんなあなたの!私の!物語!!

二度寝してしまうことは多々あると思います。日々二度寝に励んでいます。しかし、二度寝のあと少しだけ…の時間で不思議な夢をたくさん見ることができます!その60秒で見る夢をテーマに主人公を操作し道中の様々なギミックを解き、ゴールをめざし二度寝から目覚めることをめざすゲームです。

[エントリーNo.103]プラメロディウム

シナノホールド さま

 

▼応募者コメント▼

プラネタリウムとサウンドジェネレーターの共演。宇宙に星の音符を散りばめることで、誰でも、60秒間のオリジナルサウンドを作り上げることができます。

散りばめた星々からできた宇宙空間を眺めながら、その星の並びから奏でられる音の創造を体験できる。視覚と聴覚で音楽を楽しめる作品です。

[エントリーNo.104]セカンドステップ

行本 和弘 さま

 

▼応募者コメント▼

森の中で謎の大時計を見つけたアリスちゃん。近づいてみるとどんどん針の進みが早くなって時間が進んでいくではありませんか。というわけで、時間を元に戻すべく時計の破壊を試みるのでした。針の回転を避けながら文字盤を踏めば色が変わります。そこで得られるクリスタルポイントを集めて60秒ごとのチェックポイントを通過しよう!チェックポイントを通過するとライフが回復するけど針の回転も速くなるよ。針には乗っかることができるけど、プレイヤーの目が回りますw 栗やイノシシやクマを避けてジャンプして行こう。 この作品は前回の「クリビッツ」の続編(使いまわしともいう)です。前作よりはスキルが少しは上がったので細かいことをしています。回を重ねるごとに完成度を高めていきたいと思います。

[エントリーNo.105]第8回ぷちコン ぷちコンの神ゲー2

るめらやき さま

 

▼応募者コメント▼

60秒を過ごすに意義を与えるなんとかアクション

[エントリーNo.106]B.P.M. -Beats Per Minute-

Daisuke Ohnuma さま

 

▼応募者コメント▼

60秒以内に一定数の敵を撃破(Beat)しないと死んでしまう世界での全方向STGです。敵の色ごとに制限時間は独立していて、倒す敵が偏りすぎているとどれだけ撃破していても死んでしまいます。制限時間は撃破ノルマを達成するたびに60秒に回復するものの、ノルマはどんどん高くなっていきます。

[エントリーNo.107]60s

イセミト さま

 

 

▼応募者コメント▼

60秒という長さからCMを連想し、「起きてしまった出来事の原因を60秒の中でどれだけ見つけることが出来るか?」
と言った、注意喚起のような物を作ってみました。How many problems did you find?

[エントリーNo.108]60秒名作劇場走れメロス

おーたに さま

 

▼応募者コメント▼

名作走れメロスを60秒で体験できるゲームのプレイムービーです。 王様と一悶着あったメロスは日が暮れるまでに妹の結婚式に出席してからお城に戻らないといけません。 そうしないと大切な友人が自分の身代わりになって処刑されてしまいます。 走れ! ダッシュ、ジャンプ、壁登り、パラセールができます。

 

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

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

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

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

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

『第8回UE4ぷちコン』審査発表生放送のお知らせ

$
0
0

こんにちは

 

広報です

 

第8回UE4ぷちコンにたくさんのご参加、誠にありがとうございました!

応募総数108作!! 前回の約2倍もの作品が集まりました!!

今回から本格的にスポンサー企業様を募り、開催に合わせてゲームジャムを開催したり、初めての試みがたくさんありましたが

結果たくさんの方にご参加いただけて感無量です。ありがとうございます!

 

そして、今回の受賞ノミネート作品は10月8日(日)にパシフィコ横浜で開催されます「UNREAL FEST EAST 2017」に展示が決定しております。

その!ノミネート作品を!

本日20:00~YouTube Liveにて発表いたします!!

■第8回UE4ぷちコン審査結果発表会!

9月20日20:00~

https://www.youtube.com/watch?v=6VqaJifFd-8

プレゼンターは
エピック・ゲームズ・ジャパン 今井 翔太(Twitter:@shotaimai
エピック・ゲームズ・ジャパン 岡田 和也(Twitter:@pafuhana1213
株式会社ヒストリア 佐々木 瞬(Twitter:@s_ssk13 
の3名です。

ぜひご覧ください!!( ◠‿◠ ) 

 

 

 

第8回UE4ぷちコン開催ページはコチラ

応募作品一覧はコチラ

[UE4] 第8回UE4ぷちコン、ノミネート作品発表!過去最多9作品!!

$
0
0

第8回UE4ぷちコンの結果発表です。

今回は過去最高記録、なんと108作品!

皆さんありがとうございます!

その中からノミネート作品を9作品(こちらも過去最多!)を選出いたしました!

ノミネート作品は10月8日(日)開催の【UNREAL FEST EAST 2017】会場にて展示し、来場者投票で最優秀賞を決定いたします!

それでは、ノミネート作品をご覧ください!

審査員:

エピック・ゲームズ・ジャパン 今井 翔太(Twitter:@shotaimai
エピック・ゲームズ・ジャパン 岡田 和也(Twitter:@pafuhana1213
株式会社ヒストリア 佐々木 瞬(Twitter:@s_ssk13 

 YouTube Live


「ねこ缶クライシス!」

Zmix さま


おぼ迷路

株式会社Tera Box さま


3秒ルールを真に受けて

FUNCTION TALES さま


たすけてグレイちゃん!爆発60秒前危機一髪!

TiS さま


秋の夢うさぎ

若草なずな さま


リアル1分間スピーチ

伊藤智也  さま


忙しい人のためのブロックくずし

NoSNoO  さま


 

Pendulum

altalt(アルタルト) さま


とある仮想時限(アンリアル)の魔法陣(クロノスブレイカー)

山地直彰
すぎしー
灰原とう
(ぷちコンゲームジャム大阪)  さま

 


ノミネート、おめでとうございます!

 

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

 

応募作品過去最多!!第8回UE4ぷちコン応募作品一挙公開!

その1 http://historia.co.jp/archives/7096
その2 http://historia.co.jp/archives/7145
その3 http://historia.co.jp/archives/7237
その4 http://historia.co.jp/archives/7244
その5 http://historia.co.jp/archives/7247
その6 http://historia.co.jp/archives/7251

[UE4]UMGのアンカーで様々なアスペクト比に対応する

$
0
0

こんにちは。
今回は初歩的なUMGでのアンカーについて解説します。
先日弊社でUE4ぷちコンゲームジャムを開催したのですが、UIを作ったはいいものの表示されず困った!という場面で
原因がアンカーの設定だったという実に恐ろしい事態があったそうです。
もちろん公式ドキュメントにもアンカーについては解説されているのでこちらも一緒にご確認ください。
https://docs.unrealengine.com/latest/JPN/Engine/UMG/UserGuide/Anchors/index.html

 

パーツを配置する

まずは何も考えずアンカーをすべて左上に設定した状態で作ります。アス比は16:9を基本とします。
※今回はほとんどのパーツをあまりグループ化させずに作っています。

これをアス比3:4にすると左画像のようにフッターボタンが画面外に出てしまいます。あまり無いとは思いますが縦から横に対応してみると右画像のように右側がガラ空きになります。

 

適切なアンカーを設定する

アス比3:4に対応するにはフッターボタンを画面の下基準にさせれば良いので
今回の基本比率16:9に戻ってから中央に設定します。左右に寄らないデザインのものは中央に設定するといいです。
今度は画面中央の【はい/いいえ】ウィンドウが被ってしまっているのでこちらはアンカーを画面中央に設定すればOKです。

この「基本比率に戻る」をせずにアンカーを調整していくと不幸のどん底になるので必ず基本のアス比(今回は16:9)に戻ってから調整してください。

次に、様々なアス比にも対応するべく、縦→横への変更をしてみます。
画面を横にすることでやりたいことは
・【Lv99 ねこちゃん】フォントを大きくする
・【ねこちゃんHPゲージ】を長くする
・【はい/いいえボタン】を大きくする
・【フッターボタン】を等間隔に広げる
です。

 

・【Lv99 ねこちゃん】フォントを大きくする

画面が横長になるとフォントサイズも併せてほどよく大きくなる、という設定です。
ねこちゃんフォントを【ScaleBox】にくるみアンカーを↓のように伸ばします。

左上隅から伸ばすのではなく、少し下にしている理由は上辺からの距離を調整しているためなので、
気にしない場合は左上隅からアンカーを伸ばせばOKです。
アンカーの伸ばし具合は【横一杯に伸ばすほどフォントが大きくなる】といった具合です。

 

・【ねこちゃんHPゲージ】を長くする

ゲージを長くするにはあらかじめ伸ばす部分が適切に伸びるようにHorizontalBoxで設定しておきます。

ここで伸ばしたいのはゲージそのもの【TX_Gauge】とゲージBGのねこちゃんの胴体【TX_GaugeBG_Body】です。
ゲージについてはこんな作り方をしたら怒られそうなので機能としてではなく、伸びる画像としてTXのDetailsでAppearanceを設定しています。
この記事の通りです http://historia.co.jp/archives/3864

胴体はタイリングさせるパーツ【TX_GaugeBG_Body】の設定をHorizontalに
↑の親HorizontalBoxの設定をFillに
↑のさらに親HoraizontalBoxのアンカーを上横幅いっぱいに
↑のさらに親のゲージ全体CanvasPanelのアンカーを伸ばしたい幅に合わせて設定すれば完成です。

 

・【はい/いいえボタン】を大きくする

これまでと同じようにこんな感じにアンカーを設定すると伸びます。


 

・【フッターボタン】を等間隔に広げる

HorizontalBoxにくるんだパーツをFillに設定して

HorizontalBoxのアンカーを↓のようにすれば等間隔に画面に合わせて広がるようになります。

 

こんな感じです。

 

こうしておけば来る5.8インチにも対応できます。。

 

アスペクト比確認の方法

UMG内でScreenSizeとNew Editor Windowで確認できますが、

4.17からはキャンバスの右下に追加された矢印を使ってそのままスクリーンサイズを変更することができるようになりました。益々便利です。

ご活用ください~


[UE4]ぷちコンゲームジャムに参加しました♪

$
0
0

どうも、今回の技術ブログなのですが、ちょっと趣向を変えて
先日、ぷちコンゲームジャムに参加したので、日が経ちましたがその時のレポートしたいと思います。

自分のチームは「やしきチーム」でメンバーは二人でした。
それぞれの本職は
・エンジニア(自分)
・ゲームデザイナー
のようになってました。
ちなみに二人共ゲームジャムは今回が初めてです。

◇ 1日目 午前

チーム分けも終了し、開発環境を整えつつ、何を作るかアイディア出しを開始

プロジェクトの共有
 共同作業ですので、プロジェクトの共有が必用になります。
プロジェクトの共有方法ですが、バージョン管理システムはSVNを使用、ツールは「TortoiseSVN」を使用しました。
通常
、業務でSVNを扱う場合は、サーバー立てたりするのですが、
TortoiseSVN」を使えば簡単にローカルにリポジトリを作成出来るので。
今回サーバーを構築する時間がもったいないので、外付け
HDDを使用して共有しました。

アイディアの共有
お互いのアイディアはTrello」を使用してまとめました。
タスク管理としても使いましたが、
思いついたアイディを書き留めておく付箋ツールとして使っていました。

プロジェクト作成
貸出PCにVisualStudioがインストールされていないこともあり、
インストール時間がもったいないので、C++を使わなくても問題無い内容なので、ブループリントプロジェクトで開始

◇ 1日目 午後

お昼を取りながら、なに作るかーと話し合い
時事ネタ→「太陽フレア」の流れで「60秒間太陽を冷やすゲーム」に決定!
お昼を終え席に戻り、各々の役割をきめ、作業開始

自分の担当は
・基本的なプロジェクトを作成
・使えそうなアセットをプロジェクトに追加
・プロジェクトを共有後 ゲーム部分をもりもり作成

ゲームデザイナさんの担当は
・ゲームのイメージ出しをまとめ方向性決め
・アセットの選定
・自機モデルの作成
モデリングはブラシを使用してUE4上で作っていました。 必要なマテリアルも作成して頂きました。

Geometry Brush アクタ
https://docs.unrealengine.com/latest/JPN/Engine/Actors/Brushes/index.html

ゲームのギミック
ゲーム画面ではちょっとわかりにくいのですが、太陽の周りを回るように動かしているため
ちょっと変わった移動になっています。

太陽を冷やすギミックは冷やした部分のみ消えて欲しいため
一つ一つ当たり判定を持つように作りました。

これを手動で配置するのは大変なので、太陽の周りを1周するようにブループリントで自動配置するように作業の短縮を行ってました。

◇ 2日目

引き続き夕方まで残りの作業を進めて行きます。

自分の担当分
・炎の動き作成
・大まかなゲームの流れを作成
UMGを仮でUI実装
・自機と炎のあたり判定

ゲームデザイナさん担当分

・引き続き自機アセットの作成
SEの選別
UMGの仮組みのUI(スコア、制限時間、リザルト画面)のレイアウトを整える
UMGを使用してゲーム開始・終了演出を作成
・タイトルを決める

だんだん時間がなくなりUI関連のレイアウトや演出まで手が回らなくなってきたので、
レイアウト調整をゲームデザイナさんにお願いしました。

アニメーション再生を呼ぶ仕組みも自分から軽く説明して、ゲームデザイナーさんに実装してもらったりして
うまく連携を取れたと思います。

残り30分…発表までブラッシュアップ

一つのPCで実際に動作チェックしながらその場でプレイしつつ、気になる点を修正&調整していきます。
見た目やパラメータ変更のためにエディタにクリック一つで情報を出せ、
イテレーション間隔を短縮できるのはゲームエンジンを使う最大の利点を活かしつつラストスパート
(予定では1時間とる予定でしたが…自分の実装が…間に合わなかった…)

 

◇ 完成!!

今回初めてのゲームジャムでどうなることやらと思ってましたが、なんとか発表まで持っていけたので、よかったよかった。
アイディア出しの段階でスタンダードなゲームを作ろうという目標もあったので、目標は達成できたかと。

 

今回のブログはこれからゲームづくりを始める人の1つの参考になればなぁと思います。
ゲーム制作が好きな人たちと作る楽しみを共有しましょう!

[UE4] ライトビルドをコマンドから実行しよう!

$
0
0

こんにちは!今回は、いつもエディタ内で手動で行っているライトビルドをコンソールコマンド上で行う方法をご紹介します。

プロジェクトが大きくなっていくと次第にライトの数とそれを配置しているマップが増えていき、ライトビルドの時間もばかになりません。そんな作業はJenkinsおじさんにお昼や深夜にやってもらっちゃいましょう。

 

■コマンド

UE4Editor-Cmd.exe [uprojectパス] -run=resavepackages -buildlighting -allowcommandletrendering -map=[マップ名] -quallity=[各種クオリティ] [他コマンド]

UE4Editor-Cmd.exe コマンドレット用実行ファイル。”Engine\Binaries\Win64″に入っています。
[uprojectパス] .uprojectのパス。(例:D:\SampleProject\SampleProject.uproject)
-run=resavepackages メインコマンドその1。-run=[コマンド]が実行する内容。”resavepackages”はライトビルドやテクスチャストリーミングができます。ちなみに、”-run=cook”にするとクックできたりします。
-buildlighting メインコマンドその2。ライトビルドします。
-allowcommandletrendering メインコマンドその3。このコマンドで何かするわけではないですが、これがないとライトビルド実行時にアサーションに引っかかり実行されません。絶対入れましょう。
-map=[マップ名] ライトビルドを行いたいマップを入れます。パーシスタントレベルを指定するとサブレベルもライトビルドされます。パスに関しては、

/Content/SampleMap → /Game/SampleMap とContent部分をGameに置き換えて記述します。複数ある場合は、

[パス]/SampleMap+[パス]/SampleMap1+[パス]/SampleMap2+[パス]/SampleMap3 と+で繋げるように記述します。

ちなみに、コマンドに”-map=[マップ名]”を入れない場合はプロジェクトに紐づいている全アセットを見て、その中のマップがすべて対象になります。

-quality=[各種クオリティ] ライトビルドのクオリティを設定します。[“Preview”,”Medium”,”High”,”Production”]があります。

このコマンドがないと”Production”になります。

[他コマンド] ResavePackagesには、上記以外のコマンドが存在しています。使いそうなのを3つ紹介します。

-buildtexturestreaming : テクスチャストリーミングします。

-AutoCheckOut : 指定ファイルをバージョン管理上で作業状態にします。指定ファイルはライトビルドだと”-map”で指定したファイルになります。(※Perforceの場合は自動的にデフォルトチェンジリストになります。)

-AutoCheckIn or -AutoSubmit : 作業状態のファイルをバージョン管理上にアップします。”-AutoCheckOut”コマンドがないと実行されません。説明文は指定できません。ライトビルドの場合は”Rebuild lightmaps.”になります。(※Peforceの場合はデフォルトチェンジリストの中身がサブミットされます。)

他のコマンドについては、“ContentCommandlets.cpp”をご覧ください。

ざっとコマンドを説明してみました。今回はライトビルドということなので“ResavePackages”コマンドを紹介しましたが、UE4には他にもいくつかのコマンドが存在しています。どれも“UCommandlet”クラスを継承しているので探してみると面白いと思います。

また、ライトビルドに関してはパッケージ作成などをしてくれる“AutomationTool”でも“RebuildLightMaps”コマンドが存在していますが、Perforceに接続されていないと使用できないという仕様なので基本的にはコマンドレットで問題ないと思います。(※コマンドレットでもバージョン管理へのチェックアウト、サブミットはできます。)気になる方は、“Engine\Source\Programs\AutomationTool\Scripts”に”RebuildLightMapsCommand.Automation.cs”があるので見てみてください。

 

今回は、ライトビルドのコマンドを紹介しました!でもまだまだ、自動化に便利なコマンドはコマンドレットにもAutomationToolにも多そうです。なかなかドキュメントも少ない内容なのでこれから他のコマンドも紹介出来たらと思います!(まだほぼ知らない…)

[UE4] シーケンサーでカメラにブレやアニメーションを加算するアセット

$
0
0

今回はシーケンサーからカメラトラックの機能をご紹介します(UE 4.17.2)

 
 

用途としては、カメラにブレ(Shake)や特定の動きをオフセットして加えたい場合に適しています。
シーンカメラのキーフレームアニメーションへのモディファイア、加算レイヤーのように扱えますので、元のアニメーションを非破壊に調整が可能です。
 
 


シーケンサーでカメラトラックから追加(+Track)を選ぶと図のように、
Camera Anim
Camera Shake

という項目があります。

プロジェクトのデフォルトでは項目に何もありませんが、それぞれ指定のアセットを作ることで選択できるようになります。

それぞれアセットを追加してみましょう。
 
 

Camera Animは、コンテンツブラウザを右クリックしてMiscellaneousからCamera Animを選びます。

 
 
Camera Shakeに関してはBlueprint Classから“shake”などで検索し、Camera Shakeを選びます。

 
 
では、作ったアセットをダブルクリックして開いてみましょう。

Camera AnimMatineeのインターフェースでアニメーションを設定します。

右クリックでMovement Trackを追加するとTransform値のキーフレームを入力できるようになります。

ちなみにFBXからインポートも可能です。

 
 
Camera Shakeは振幅・周期などのパラメーターが軸毎に用意されています。

Camera Shakeについては、過去の記事もご参考下さい。

http://historia.co.jp/archives/634

 
 
また、実はCamera AnimCamera Shakeからも指定することもできるので、

Camera Animに、Camera Shakeで設定したブレを加えるということもできます。

 
 
それでは、シーケンサーのカメラトラックにCamera Animを適用してみましょう。

+Trackをクリックして、Camera Animを選びます。

作成したアセットがクリップとして配置されます。

クリップを右クリックしてプロパティから再生速度やループなども設定可能です。

 
 
シーケンサーを再生すると元のカメラの動きにオフセットでアニメーションがかかります。

元のアニメーションを壊さずに調整できるため便利です。
手ぶれや画面動はCamera Shakeアセットで何パターンか準備しておく、さらには汎用性のあるカメラワークがあればCamera Animアセットをあらかじめ用意しておけば、クリップの配置だけで動きを調整することができ、効率化が図れるかと思います。

[UE4] プログラムでキー入力を行う方法

$
0
0

こんにちは!新米えんじにゃーの遠藤です!

今回はゲーム中にキーボードやコントローラーなどの入力機器を使わずにプログラムでキー入力を行うを紹介します!

まずは一般的な入力イベントを使用方法ですが、例えばゲーム中にキーボードのSpaceBarを入力するとSpaceBarに関連した入力イベントに通知されます。

ThirdPersonテンプレートではプロジェクト設定のInputBindingsでJumpの項目にSpaceキーが設定されているので、実行中にSpaceBarを入力するとInputAction Jumpイベントに通知されそれ以降の処理の結果、キャラクターがジャンプします。

 

 

これを周辺機器などのハードウェアを使わずにソフトウェア的に入力イベントの呼び出しを行ってみます。

PlayerControllerクラスにはモバイルゲームで使うタッチ入力やVRゲームで使うモーションコントローラーの入力を呼べる関数などインプット系の関数が用意されています。

virtual bool InputKey(FKey Key, EInputEvent EventType, float AmountDepressed, bool bGamepad);
virtual bool InputTouch(uint32 Handle, ETouchType::Type Type, const FVector2D&amp; TouchLocation, FDateTime DeviceTimestamp, uint32 TouchpadIndex);
virtual bool InputAxis(FKey Key, float Delta, float DeltaTime, int32 NumSamples, bool bGamepad);
virtual bool InputMotion(const FVector&amp; Tilt, const FVector&amp; RotationRate, const FVector&amp; Gravity, const FVector&amp; Acceleration);

これらの関数はPlayerInputやHMDDeviceのインプット系の関数を呼ぶ処理が書かれています。つまり、これらの関数を呼び出してあげるだけ!簡単!

 

今回はこの中でもInputKeyを呼び出す関数を作り、Blueprintに公開しました。

InputKey関数の引数にそのまま渡しているだけですが、bGamepadは使われていなかったのでMyInputKeyの引数として公開はしていません。

 

Keyを「W」にし、EventTypeを「Pressed」にするとキャラクターは前に歩き出し、「Released」イベントを呼ばない限りは歩き続けます。

Amount Depressedには入力の強弱を0~1の値で入れます。

 

 

入力を継続させる時間や入力の強弱など気を使う部分は多そうですが、簡易的なオートプレイなどでしたら作れそうです!

活用していただけたら幸いです。

[UE4] Sound Submix を使って音にエフェクトをかける

$
0
0

エンジニアの加藤です。

遅くなりましたが、『出張ヒストリア! UE4 勉強会 2017』にて行った、オーディオエンジンに関する講演のスライドを先日公開しました。


 

今回は、この講演で触れていなかった Sound Submix について書きたいと思います。

 

Sound Submix は、UE4 の新しいオーディオエンジンである『Unreal Audio Engine』の機能の一つで、Submix Effect と呼ばれるサウンドエフェクトを適用するために使用されるものです。ミキサーで言うところの AUX バスに近いですが、エフェクト専用であり、音量変更の機能などはありません (音量の一括変更は Sound Class で行います)。

Unreal Audio Engine には、Source Effect というサウンドエフェクトも存在します。違いは以下のとおりです。

エフェクトの種類 適用方法 デフォルトで用意されているエフェクト 主な使い分け (目安)
Source Effect Source Effect Preset
↓ (セット)
Source Effect Preset Chain
↓ (セット)
Sound Source
(Sound Wave, Sound Cue など)
音の性質を変化させるものが多い 個々の音に対して、
専用に調整されたものを適用する
Submix Effect Submix Effect Preset
↓ (セット)
Sound Submix
↓ (セット)
Sound Source
(Sound Wave, Sound Cue など)
空間系エフェクトが多い 複数の音に対して、
同じ設定のものを一括で適用する

 

それでは具体例として、Sound Submix と Submix Effect を使用して、爆発音にやまびこを追加する手順を解説します。

使用する UE のバージョンは 4.18 です。Unreal Audio Engine はまだデフォルトでは有効になっていない機能なので、先に講演スライド 21 ~ 28 ページ目に書かれてある手順を行って、機能を有効にしておく必要があります。

まず、Submix Effect Preset を作成します。

Submix Effect の選択画面になりますので、ここでは SubmixEffectTapDelayPreset を選択してください。
Tap Delay は、やまびこの鳴るタイミングや位置 (Pan) などを細かく指定できるディレイエフェクトです。

作成した Submix Effect Preset を開き、以下のような設定にしてください。
各プロパティの説明は省きますが、元の音が鳴ってから 1 秒後にやまびこ音が鳴るような設定となっています。

次に、Sound Submix を作成します。

Submix を開き、Submix Effect Chain に先ほど作成した Submix Effect Preset を追加します。

最後に、爆発音の Sound Wave に対して Submix をセットします。これでエフェクトがかかるようになります。

ここで注意ですが、Sound Wave を含む Sound Source には Sound Submix をセットする場所が 2 箇所あります。Effects カテゴリの “Sound Submix” と、その下にある “Sound Submix Sends” の 2 つです。どちらにセットするかによって、エフェクトのかかり方が変わります。

“Sound Submix” の方にセットした場合は、『元の音にエフェクトがかかったもの』だけが出力されます。これは『インサート方式』と呼ばれるエフェクトのかけ方です。

SubmixEffectTapDelayPreset  の出力はやまびこ音のみであり、元の音は含まれません。そのため、インサート方式を使うと「元の爆発音は鳴らずにやまびこ音だけが鳴る」状態になってしまいます。今は爆発音にやまびこ音を『追加』したいので、これは適切ではありません。

一方で、”Sound Submix Sends” の要素としてセットした場合は、『元の音にエフェクトがかかったもの』と『元の音』が両方出力されます。こちらは『センド&リターン方式』と呼ばれるエフェクトのかけ方です。

Sound Submix 側 (図の青い線の経路) に送る音の大きさは Send Level で調整できます。エフェクトがうまくかからない場合は、Send Level が 0 になっていないか確認してください。

恐らく、ほぼすべての Submix Effect (EQ 以外?) はこの方式で使うことを想定して作られているように思われます。今回の場合でもこちらの方式が適切です。

エフェクトなし、インサート方式、センド&リターン方式の比較動画を用意しましたのでご覧ください。

 

今回は簡単な例を挙げましたが、実行時に Submix Effect のパラメータを変更したり、Sound Submix 間で親子付けをしたりと、様々なことができます。Source Effect や Sound Cue などと合わせて活用すると表現の幅が広がりますので、是非挑戦してみてください。

 

設立4周年を迎えました&第五期に突入しました

$
0
0

2017年10月31日に株式会社ヒストリアは設立4周年を迎えました。また、9月末に第四期を終え、10月から第五期に突入しました。

 

第四期の間には、自社企画・自社開発のVRゲーム「Airtone」や、VR ZONE SHINJYUKUで絶賛稼動中のVRアクティビティ「ハネチャリ」をはじめとした数々のタイトルのリリース、そしてエンタープライズ部門では自社パブリッシングのバーチャルモデルルーム「Solid Vision」を販売開始でき、実り多い1年となりました。第四期中にはリリースされなかったタイトルも、今期に向けて仕込みを行えました。また、第三期まではタイトルの一部受託がメインでしたが、第四期を経て丸受けメインの体制にシフト出来たことも大きな変化でした。

 

社内環境としてもオフィスを移転し、どっしりと腰を落ち着けて今後攻める基盤ができました。それに伴い人数も増え、ちょうど本日で外部スタッフを合わせて30名となりました。

このような成長を遂げることができたのは、取引先の皆々様、仲良くして頂いている業界仲間の皆様、開発者コミュニティの皆様のおかげです。誠にありがとうございました。それと同時に、苦楽を共にしてきたヒストリアメンバーにもお礼を言いたいです。

 

設立当初は実現できるか半信半疑ながらも「少なくとも30人までは増やす!」と言っておりましたが、予想に反して設立から4年で達成することが出来ました。ひとつ区切りを超えてゆっくりと感慨にふけりたい気持ちもありますが、いまの目標達成のために必要とされる更なる開発力と開発ラインの増強を目指し、その暇もなく会社規模的にも次のステージへ向かいたいと思います。

 

第五期はさっそく、いくつかの大きなチャレンジに取り組み始めています。ゲームを主力とするエンタテイメント分野においては”人生観を変えるような作品を”というビジョンのもと、そして非エンタテイメント分野においては”人に直接役に立つコンテンツを”というビジョンの元に、5周年を目指して成長して参りたいと思いますので、今後ともどうぞよろしくお願いいたします。

 

株式会社ヒストリア

代表取締役 佐々木 瞬

 

[UE4] UMGで手軽にマテリアルのパラメーターをアニメーションさせる裏技

$
0
0

通常、UMG上でマテリアルのパラメーターを使ったアニメーションを作りたい場合、

1.UMGのEvent Graph上で、Dynamic Material Instanceを生成し、変数に格納し、Imageに割り当てる。

2.”Set Scalar Parameter”で1で作ったDynamic Material Instance のパラメータを更新。

という手順になりますが、この方法ではUMGのアニメーション機能でパラメータの更新ができませんし、何より面倒です。

今回はBlueprintを一切使わず、手軽にUMG上でマテリアルのパラメーターを制御する方法をご紹介します。

 

マテリアル側の設定

VertexColorは唯一、UMGの”Image”に直接値を流し込む事ができます

これを利用して、まず下図のように消失アニメーションの更新に用いるパラメーターにVertexColorのAlpha値を繋ぎます。

UMG側の設定

新規で作成したUMGに、Imageを追加し、Appearance → Image に、先程作成したマテリアルをアサインしてください。

あとは普通に、アニメーションから”Color and Opacity”のAlpha値にキーを打つ事で、マテリアルのパラメーターを直接変更する事ができます。

RGBをあえてカラーに使わず、それぞれに別のパラメータを割り当てれば、最大4つのScalar Parameterを取り扱う事ができますね。

UIの表現の幅が広がるので、是非チャレンジしてみてください!


[UE4] Physics系コンポーネントのパラメータ調整リファレンス

$
0
0

こんにちは!新米えんじにゃーの遠藤です!

UE4で物理を使った挙動を作る際に便利なのがPhysics系コンポーネントです。コンポーネント1つで物理の面倒な計算をしなくても目的に近い挙動を作れて、公式のドキュメントも豊富です。

https://docs.unrealengine.com/latest/JPN/Engine/Components/Physics/index.html

ですが挙動を作ったはいいものの、目的の挙動するために力の強弱や力の制限値などのコンポーネントのパラメータ調整が必須で、且つ少し値を変えたら挙動が全然変わってしまったり実行してみないとわからない部分が多かったりと調整部分に時間がかかりがちです。

今回はその調整部分を少しでも短縮できるようにPhysics系コンポーネントのパラメータについて書きたいと思います。


RadialForce

RadialForce コンポーネントは物理オブジェクトに単発的な衝撃(Impulse)を与えて、オブジェクトを飛ばしたりすることができます。

衝撃効果範囲内に物理オブジェクトが入った場合も衝撃(Force)を与えます。

カテゴリ名 パラメータ名 説明
Radial Force Component Radius 効果範囲の半径。
Falloff RIF Constant、RIF Linearどちらかを指定できます。

Constantの場合、範囲内すべてに同じ衝撃を与えます。

Linearの場合、範囲の中心から遠ざかるほど直線的に衝撃が弱くなります。

Object Types to Affect 衝撃を与えるオブジェクトのタイプ。
Impulse Impulse Strength 衝撃(Impulse)の強さ。

オブジェクトがどれくらい飛ぶかは他のパラメータや衝撃を与えるオブジェクトの質量などによるのですが、質量100のオブジェクトに対してStrength10000で少し揺れる程度です。

Impulse Vel Change 有効の場合、衝撃は物体の質量を無視して常に一定の速度変化をもたらします。
Ignore Owning Actor 有効の場合、このコンポーネントが付いているアクターの物理オブジェクトに対しては衝撃を与えません。
Force Force Strength 衝撃(Force)の強さ。
Destructible Destructible Damage Destructible Meshに与えるダメージ量。

 

Physics Thruster

コンポーネントのX方向に推進力を与え続けます。ロケットを作る時などに使われます。

カテゴリ名 パラメータ名 説明
Physics Thrust Strength 推進力の強さ。

目安として質量100のオブジェクトにThrust Strength100000でゆっくり浮き上がる程度です。

Physics Constraint

Physics Constraint コンポーネントはジョイントを作成することができ、2つのメッシュを接続させることができます。ぶら下がるタイプのオブジェクトを作成する時に使われます。

パラメータが多く、公式ドキュメントに分かりやすくまとめてあるので割愛。

https://docs.unrealengine.com/latest/JPN/Engine/Physics/Constraints/ConstraintsReference/index.html

 

Physics Handle

物理オブジェクトを掴んだり離したりできます。

画像のノードで掴むコンポーネントの登録 / 解除を行えます。

カテゴリ名 パラメータ名 説明
Physics Handle Soft Angular Constraint  有効の場合、回転が制限されます。
Soft Linear Constraint  有効の場合、平行移動が制限されます。

壁などを突き抜けなくなります。

Interpolate Target  補間速度の適応の有効 / 無効。
Linear Dumping  平行移動に対する抵抗値。
Linear Stiffness  目標座標に戻ろうとする強さ。
Angular Dumping  回転に対する抵抗値。
Angular Stiffness  目標角度に戻ろうとする強さ。
Interpolate Speed  補間速度。

冒頭でも書きましたが物理系の調整は難しく、他のパラメータにも干渉しやすいので時間はかかると思いますので少しでも参考になれば幸いです!

[UE4]GameInstance以外で永続的なオブジェクトを扱う

$
0
0

UE4でゲームを作成するときレベルを跨いでデータを扱うなどといった場合,GameInstance(※1)というクラスを使用するかと思います。

今回はこのGameInstanceを使用せずに永続的なオブジェクトを作成する方法をご紹介いたします。

 

手順1:クラスを作成

まずは永続的なオブジェクトとなるクラスをUObject継承で作成します。作成するものはブループリント定義でもC++定義でも構いません。

今回はSingletonObjectというクラス名でC++定義で作成してみました。

 

手順2:プロジェクト設定から作成したクラスを指定する

次にProjectSettings(プロジェクト設定)/GeneralSettings(基本設定)/DefaultClasses/GameSingletonClass/

で先程生成したクラスを指定します。

以上で終わりです。

これだけで指定されたクラスがGameInstanceと同じように永続的なオブジェクトとして扱うことができます。

これだけであればGameInstanceと何も変わらないように思いますが明確に違う点があり、GameInstanceはRunTime中(ゲーム実行中)に生成されるのに対してGameSingletonClassで指定したクラスは

エディター起動中に生成され存在することができます。(※2)

なのでRunTime中にあった変更をそのままゲーム終了後も引き継ぐようなことができたりします。

先程作成したSingletonObjectにFTickableGameObjectを継承させれば


エディター起動中でも定期更新するオブジェクトを作成できますし
もちろんこれを継承したブループリントクラスを作成してもブループリントでもTickを扱うことができます。

先程作成したUSingletonObjectを継承したブループリントクラス作成し[GameSingletonClass]に設定しなおします

TickをOverrideしてPrintStringを呼ぶと…

実行してない状態でも[Hello]が呼ばれるように
使い方によっては面白いことができそうですね!

最後まで読んでいただきありがとうございました。

 

※1 ゲームインスタンスについて

 

※2 生成してるコード箇所

Engine Version 4.17で

Engine\Source\Runtime\Engine\Private\UnrealEngine.cpp

の1795

[UE4][C++] ユーザー定義オブジェクトのアセット化で楽をする

$
0
0

0.前置き

Excel等で編集したリスト形式のデータをアセット化する機会はよくあると思います。

このとき、DataTableで事足りるのであればそれを使うのが簡単です。

しかし幾つかの事情により独自の型でデータを保存したい場合があります。

 

①編集など都合によりデータが複数のシートに分かれている、又は一つのレコードが複数のシートに分かれている

②Name以外の型をキーとして参照したい(intとか)

③アセットへの参照を含ませたい(長い呪文を書かずに)

④複数の行を一つのレコードとして扱いたい

 

とりあえずDataTableにしておいて実行時に何とかするのも一つの手段ですが、

エディタで済ませられる処理についてはそうした方がパフォーマンス上好ましいです。

 

このような場合、独自にオブジェクトの型を定義しアセット化することになります。

※このやり方については以前の記事にて紹介されていますので、合わせて御覧下さい。

http://historia.co.jp/archives/1401

http://historia.co.jp/archives/1423

http://historia.co.jp/archives/1425

 

真面目にやるのであれば、元となるテキストデータを読み込みデータ化するプロセス(インポート処理)をわざわざ定義することになります。

アセットのタイプに応じたFactoryクラスを作成し、FactoryCreateText等をオーバーライド・実装することになりますが、これはとても・・・とても面倒です。

 

 

既にインポートそのものは可能なデータ(CSV等)を元とする場合であれば、

このあたりを簡略化する手段があります。

 

1.DataTableとして取り込んで加工する

一旦DataTableとしてインポートした後エディタで再処理する手法が有用な場合があります。

・複数のDataTableを統合する

・データ名を参照に置き換える

・任意の列をキーとして参照できるようにする

等をこれで行えます。

UCLASS(BlueprintType)
class MYTESTPROJ_API UMyDataAsset : public UObject
{
  GENERATED_BODY()

public:
/*
  元となるデータテーブルを WITH_EDITORONLY_DATA 内に宣言
  (データテーブルそのものは実行時に使用しないため)
 必要に応じて複数の変数や配列を用いる
 */
#if WITH_EDITORONLY_DATA
  UPROPERTY(EditAnywhere, Category="Test")
  class UDataTable* DataTable;
#endif

/*
  データを格納したい形式でフィールドを宣言(以下はてきとうな例)
 */
  UPROPERTY(BlueprintReadOnly, VisibleAnywhere)
  TArray<FMyDataStructure1> DataAsArray;
  UPROPERTY(BlueprintReadOnly, VisibleAnywhere)
  TMap<int, FMyDataStructure2> DataAsMap;

public:
/*
  データテーブルを読み取って必要な処理を施しフィールドに格納する
 */
  UFUNCTION(meta = (CallInEditor = "true"), Category="Test")
  void Process();
};

以下2点がポイントです

①#if WITH_EDITORONLY_DATA にDataTableを入れる

パッケージにDataTableそのものは含まれないようになります。

Process()内の実装においてこれを参照する部分にも同様の囲みが必要になることに注意してください。

②Process()関数の属性に meta=(CallInEditor=”true”) を含める

こうすることで、作成したアセットの編集ウインドウに以下のようなボタンが表示されます。

これを押すことにより任意のタイミングで処理を行えます。

DataTableのReimport処理もProcess内に書いてしまえばワンボタンで更新が可能になります。

一応ですが、関数の名前は任意です。

作用の異なる複数の関数を作成することも有用です。

 

テキストからのパースを含むインポート処理を書くことに比べてかなり気楽にできるはずです。

 

2.UDataAssetを利用する

Factoryを定義するのはとてもとても面倒です。

殆どCopy&Pasteで済むとしても面倒です。

UObjectのかわりにUDataAssetを継承することで、Factoryの定義なくしてアセット化を行えます。

この後開くダイアログで作成したいクラスを選択すればOKです。

マウスオーバー時に型名として”DataAsset”と表示されますが、

定義した通りの型のプロパティに問題なく設定できます。

 

 

以上、参考になれば幸いです。よいアセットライフをお過ごしください。

ヒストリア中学生職業体験会2017

$
0
0


弊社ではこの度、「未来を担う子供たちにゲーム業界の事をもっとよく知ってもらおう!」という目的のもと、社会貢献活動の一環として中学生向け職業体験会&会社見学会を開催いたします。

ゲーム業界の仕組みや職種の説明・社内見学・弊社開発ゲーム体験・実際に職種に分かれての職業体験を行う予定です。

「ゲームが好きだ!」という中学生のご参加をお待ちしております!

開催概要

主催 株式会社ヒストリア
スケジュール 2017年12月26日(火)14:00~
※開場時間 12:45
開催場所 株式会社ヒストリア セミナールーム

〒141-0032
東京都品川区大崎5-6-2 都五反田ビル西館8階

参加資格 ゲーム業界に興味のある中学一年生~中学三年生までの方(保護者同伴可)
募集人数 15名(先着順。定員になり次第締め切り)
応募フォーム Googleフォーム
持ち物 筆記用具
注意事項 ・開催時間は14:00から約2.5時間を予定しております。

・当日は私服でお越しください。

・開場時間より前にご来場いただくことはできません。12:45になりましたらエレベーターを上がり、8階まで直接お越しください。

・自動車、自転車でのご来場は出来る限りご遠慮ください。会場は駐輪場・駐車場のご用意はしておりません。ご利用の場合は、公共の施設をご利用ください。

・当日は記録のため弊社撮影機材が入ります。
撮影いたしました写真・動画は弊社の社会貢献活動の宣伝として使用させていただきます。ご了承くださいませ。

・保護者様同伴はお子様1名につき1名までとなっております。開催中はセミナールーム後方に椅子を用意いたしますのでそちらをご利用ください。

・セミナールーム内及び社内見学中の飲食はご遠慮ください。

・職業体験ではPCを使用いたします。機材の取り扱いには十分ご注意ください。

お問い合わせ 株式会社ヒストリア
広報 高橋
〒141-0032
東京都品川区大崎5-6-2 都五反田ビル西館8F
Mail:info@historia.co.jp

スケルトンについて

$
0
0

今回はスケルトンについてまとめてみます。UE4を始めたばかりの人に向けた内容です。

UE4のスケルトンとは何か

UE4のスケルトンは、名前は紛らわしいですが、キャラクターのボーン階層とは違ったものを意味します。
似たような用語にスケルタルメッシュというのがあるのですが、こちらはキャラクターのメッシュとそのメッシュ専用の骨、スキニングデータを意味します。これに対しスケルトンというのは、特定のモデルのボーン階層だけではなく、似たような構造を持つボーン階層の設定を包括したものということができます。公式サイトには以下のように記載されています。

重要な違いは、スケルトン アセットはスケルタル メッシュ内部のボーン階層とは異なることです。アンリアル エンジン 4 のスケルトン アセットは、 3D 表現の実際のスケルトンとは多少異なり、むしろ特定タイプのキャラクターやスケルタル メッシュのボーンや階層情報を保持するリストのようなものです。

スケルトンを共有するとどんな利点があるか?

なぜキャラクターごとにスケルトンを持つのではなく、異なるキャラクター同士でスケルトンを共有することが推奨されているのでしょうか?
たとえば、着せ替えができるゲームを想像してみてください。着せ替えしたモデルデータごとにスケルトンを作ると、モーションの数は着せ替えの組み合わせ分だけ掛け算することになります。また、体格こそ多少違うものの、そこまで重要ではない村人が何人も出てくるゲームを想像してみてください。スケルトンを共有しないと挨拶をするモーションを村人の数だけ用意することになります。

スケルトンを共有すると大きくは以下の利点があります。

  • AnimationSequence(モーション)を使いまわせる
    たとえ体型が異なるキャラクターでも同じ動きをさせることができます。
  • AnimationBlueprintやStateMaschineを使いまわせる
    StateMaschineとはざっくりいうと、キャラクターの状態に合わせてどんなモーションを流すかその遷移をしめしたものです。
    (例:キャラクターが地面に設置していなければ空中浮遊中のモーションを流す、キャラクターの移動速度に従って走りアニメーションの速度を変える、プログラムからキャラクターの死亡通知を受け取ったら断末魔のアニメーションを流す)
    こういった仕組みでキャラクターのアニメーションを管理する必要があるのですが、スケルトンが共通であればこの仕組も使いまわせます。

一つのスケルトンの中でどこまで変更可能か?

ではどこまでボーン構造を変更したときに同じスケルトンとして共有できるのでしょうか。これには明確な基本ルールがあります。

「階層の変更をともなう変更はできない」

  • ボーンの追加はOK(ただし、すでにスケルトンに存在するボーン同士の中間には禁止)
    既存のボーンの後ろにくっつけるようにボーンを追加するのは構いませんが、既存のボーンとボーンの間に新たに追加することは禁止されています。
  • ボーンの削除はOK(ただし、削除した場合はそれ以下のボーンをすべてなくす必要がある)
  • 同じ名前が別の階層に存在すると、変更とみなされる
    上記のルールと若干同じ内容ではあるのですが、追加ボーンがすでに同じ名前で異なる階層に存在している場合、ボーンの階層を変更したとみなされるため、これはできません。

これらのルールはインポート時のスケルトンに限ったことではなく、インポートしたスケルトンを共有してスケルタルメッシュを追加した場合、そのスケルタルメッシュのボーンも対象となります。

 

いくつか例をみてみましょう。

このサンプルでは女性のスケルトンと恐竜のスケルトンを共有しています。手足や背骨のボーンの名前こそ一緒ですが、全体的な大きさはもちろん、恐竜は尻尾のボーンを持っているためボーンが追加されています。さすがに女性と恐竜のモーションを共有することはあまりないと思いますが、このような場合でも同じスケルトンにすることができます。

 

つぎにエラーケースを見てみましょう。
恐竜のときと同じようにエイリアンの頭にボーンを追加して女性のスケルトンでインポートしてみます。

インポートするとエラーが出ました。

こちらはスケルトンの階層が変更される場合にでるエラーです。実はエイリアンには恐竜のときと同じくMayaのデフォルト名(joint1,joint2,joint3,joint4…)のままボーンを追加しています。一度スケルトンにスケルタルメッシュを追加すると、スケルトンにはなかったボーンが自動的に追加されます。恐竜をインポートした際にjoint1…はHipsの子として追加されました。

エイリアンをインポートするときに出たエラーは、joint1がHipsの子にあるのにHeadの子に移動したとみなされてしまったために起きたのですね(命名規則はしっかりしましょう)

スケルトンの設定

スケルトンを共有する上で重要なのは、ボーンのTranslate(移動)をどう扱うかということです。公式サイトではこちらのページの内容です。スケルトン設定のタブの下の文字を選択肢、Show Retargeting Optionsを選択すると現在の設定を確認できます。


大きさの異なるキャラクターでスケルトンを共有した例を思い浮かべて下さい。大きさが違くてもモーションは使いまわせるのですが、大きさが違うということはボーンの位置が異なります。ボーンの位置が異なっているのにアニメーションでボーンの移動情報を参照すると、キャラクターのもとの大きさにかかわらずアニメーションの位置までボーンが移動してしまいます。

これでは普通は使いまわせませんので、殆どのボーンは「Skeleton」の設定にする必要があります(用語が混乱していますが、ここでのSkeletonは各キャラクターのボーン情報のことで、アセットとしてのSkeletonではありません)
ただし例外があり、移動による動きの大きさも考慮してほしいので、モーションの中で実際に移動するボーンは「AnimationScaled」にする必要があります。

すべてのボーンを「Skeleton」に設定すると、アニメーションの移動を読んでくれないのでこのような動きになります。


多くのボーンの階層構造では腰の骨を「AnimationScaled」、それ以外の骨を「Skeleton」にするといいでしょう。

Viewing all 984 articles
Browse latest View live


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