i/o blog

ゲーム系の情報の入出力してみるブログ

ぷちコン4 参加しました

Sphere Rush!

 [ゲーム説明]
このゲームは 発射台から自動で発射される同じ色のスフィアを繋げて消すパズルゲームです
消しきれなかったスフィアが発射台にまでたどり着いてしまうとゲームオーバーになります
そうならないようにプレイヤーは発射台を操作して、スフィアを繋げて消しましょう

 [制作日数]
2日

 [ジャンル]
パズルゲーム

 [操作 ※ゲームパッドのみ対応 ]
左スティック ... 発射台の回転
右スティック ... カメラの回転

 

振り返り

UE4を使用したゲーム製作に必要な知識が無いことを痛感しました...

・長いBPの処理がとにかく読みづらい

 →慣れればなんとかなれそうなので数をこなして慣れないといけない

・機能をまだ十分に把握できていない

 →カスケードできれいなパーティクル作りたいのに汚い花火しか作れない...

 →タイトル画面どうやって作れば...ググるのめんどいから後回し(→未実装)

・バグにすぐ対応できない

 →ファイルの移動が多かったので●●のパスがありません!見たいので結構怒られた

 →貫徹後の提出前(AM 5:00)にパッケージ化できないバグ判明で無事死亡

 

結果は"残念賞"

なんと僕だけ一番早くにコンテストの結果を知ることができました!

結果は残念賞です...理由は遅刻したからです...

そもそもなんで遅刻したかというと、

作品を0から作り直したせいで2日という期間で作品を作ったから工数が足りない状態で最後の最後で色々あったからです

その色々の1つに、パッケージ化出来ない問題があり、そのおかげで無事に遅刻しました

なので、この事から僕がこの先ぷちコンに参加したい人と、将来の自分に言っておきたいのは

「ボタンを押せば100%パッケージ化できるわけではないので、作品を完成するまでに1回くらいはテストしてみることをお勧めします」

まあ当たり前といえばあたりまえなんですが、僕はこれで失敗したので書いておきます

 

追記 10/13

一応ue4のパッケージできない問題解決。以下の3つの手順を踏んだら解決しました。
1.パッケージに1回失敗した同じ階層にもう一度ファイルを作ると失敗になるみたい
 →細かい原因はわからず
2.必要ないプラグインが有効になっていたため
 →VRとLeapMotionなど、ゲームに必要ないプラグインを除外
3.ウイルス対策ソフトをoffに
 →勝手にexe消されるから一応
以下の1~3の手順を踏めば起動はできるみたいです。

 

ただ新しくLeapMotionのモジュールが足りません? みたいなエラーが出るように

f:id:dabura:20151013125435p:plain

こちらはまだ未解決

 

感想

"振り返り"でいいこと書いてないけど僕は参加してよかったです

現在の自分の力量をこのタイミング把握できたのでこれから何をすればいいのかある程度方向性がさだまりました

 

それと自分の中の小さな目標であった「ぷちこんへの参加」はひとまず達成です

次参加するときの目標は、「まず遅刻しないところから」ですかねw

冗談はさておきそこら辺ははおいおい考えていこうかなと思います

 

UE4 Particle チュートリアル6

manabibeya.com

何かのファイルが無いことを先に伝えてくれるのは凄くありがたいですね

 

やったこと

 MeshEmitterを作成する

 

覚えておきたい機能

ParticleColor ...

 マテリアルエディターのノードの一種

 cascade側からマテリアルの色を変えるときに使用する

 

Sphere(Location) モジュール ...

 円状のランダムな座標にパーティクルを生成することができる

 

結果

(↓)初期回転値をランダムで設定したり、あたり判定つけたり、色々した結果

f:id:dabura:20151001015837p:plain

UE4 Particle チュートリアル5

manabibeya.com

 

やったこと

 GPUパーティクル

 

画像はどちらも毎秒1000個のパーティクルを生成

CPUは処理不可の関係上最初だけしかパーティクルは生成されない

GPUはドバドバ

f:id:dabura:20150929035259p:plain

ただし、その代わり機能がいくつか制限されている

少なくとも使えない機能

・Light

・Collision  ※代わりにCollision(SceneDepth)なら使用可能

 

Collision(SceneDepth)モジュール

 ... 深度バッファの値とあたり判定をする。通常のあたり判定より軽い。

 

 Bounds

 ... 処理軽減の工夫の一つ

     ここで設定された描画範囲に含まれたときにだけパーティクルが表示されるようにする

 

vector field

 ... ざっくりな説明だと、立方体にベクトルがたくさん詰まった空間

 ↓の画像の赤い線がすべてベクトル

f:id:dabura:20150929041217p:plain

チュートリアルでは

・intensity(強度) ... ベクトルの影響度 、どれだけ早くパーティクルを動かすか

・Tightness(気密性、結びつき) ...  1.0に近いほどパーティクル固有の速度と方向がなくなる

の二つ値をいじってパーティクルをぐにょぐにょ動かす

 

 

今までのチュートリアルで一番ワクワクしました

適当に値を変えるだけでいろいろ作れるのでいろいろ遊んでみました

たいして値はいじっていないです

f:id:dabura:20150929035855p:plain

f:id:dabura:20150929035858p:plain

f:id:dabura:20150929035852p:plain

f:id:dabura:20150929035849p:plain

楽しーーーーー!!

Ue4 Particle チュートリアル 1~4

パーティクルのチュートリアルやります

パーティクル入門 (1) パーティクルの用語 | UE4 の学び部屋

パーティクル入門 (2) カスケードの概要 | UE4 の学び部屋

パーティクル入門 (3) パーティクル用レベルのセットアップ | UE4 の学び部屋

パーティクル入門 (4) スプライト エミッタを作る | UE4 の学び部屋

 

やったこと

1~2 パーティクルについての説明

3     チュートリアルに使用するステージの作成

4     spriteEmitterの作成

 

覚えておきたいこと

cascade ... UE4のエフェクトエディター

↓の画像のRequiredなどの設定項目をいくつかいじってパーティクルを作っていきます

f:id:dabura:20150925021007p:plain

簡単に説明

Reauired(必須)  ... マテリアルなど必須な設定

Spawn               ... 生成スピードなどの設定

Lifetime             ... 滞在時間

Initial( Location , Size Velocity ) ... 様々な初期化値

ColorOverLife   ... 色と透明度の設定

Acceleration     ... 加速度

SizeBySpead   ... スピードに応じてサイズが変わる

Collision           ... あたり判定

Light                 ... 発光

 

チュートリアル4までやった完成物f:id:dabura:20150925015826p:plain

エフェクトの発生時からG -> B -> R の順で色を繊維させていくと↑みたいになります

f:id:dabura:20150925020311p:plain

 

Pepar チュートリアル 9 (Last)

manabibeya.com

 

やったこと

・自動で動くリフトを作る

 

Show3dWidet ... エディター上で変数の数値を変更できる機能f:id:dabura:20150918041648p:plain

↑のように、「EndLocation」というvector変数をエディター上でいじれるようになり、今回のような移動の終点をエディターでゲームシーンを見ながら決めたいときにかなり役に立ちます

やり方は、Show3DWidget欄にチェックを入れるだけです

f:id:dabura:20150918041654p:plain

 

Switch on ( ETimeLineDirection )

 enum用のswitch

 引数のピンに渡されたenumに対応した行動をする

 (  )内は作成されたenumの分だけある

 

 

今回はこれで終わりました

Peparのチュートリアルは、2Dゲーム作るには知っといて損はないですね

細かいところで便利な機能もいくつか発見できたし、個人的には満足でした

 

 

あれ?ネット機能のチュートリアルは!?

Pepar2D チュートリアル 7,8

manabibeya.com

manabibeya.com

 

やったこと

・状態(移動/ジャンプ/待機)に合わしたアニメーションにした

・ジャンプの追加

 

今回はやったことはシンプルでしたが、知っておくべきおくことがいくつかあったので紹介

enumeration(enum)の作成

 「右クリック」→「BluePrint →「 Enumeration 」で作成

 作成すると他のBluePrint内で参照できるようになる

f:id:dabura:20150915040609p:plain

 

select

 ... switch文みたいなもの

 一番下の値に与えられた値(byte/enum/bool)に対して、上の値を返すf:id:dabura:20150915041328p:plain

 例: ↓の画像であればenumに対してFlipBoadを返す

f:id:dabura:20150915040936p:plain

 

collapse(倒壊) nodes / collapase to macro

 選択した複数のノードを省略する

 複数のノードを選択した後に右クリックで操作可能

 

collapse nodes 

 ノードの集合体を作れる

 中身が見えるので見やすい

f:id:dabura:20150915042206p:plain

 

collapase to macro 

 マクロを作成する

 使いまわしがきくようになる

f:id:dabura:20150915042403p:plain

 

expand node 

 collapse(倒壊) nodes / collapase macroをもとの状態に戻す

 これも右クリック操作でできます

 小ネタですが同じ複数のノードに対して

 collapse nodes → collapase to macro → collapse nodes

 と行ったあとにexpand node を行うと、同じように

 collapse nodes → collapase to macro → collapse nodes

 の順番で戻ります

 最初、試しにいろいろやっていた時になかなか元に戻らなくて混乱していましたが、そういうわけでした