UnityでParticleSystem(Shuriken)を学ぶための資料

Unity5で、パーティクルを作成する際は、今までYoutube動画を主に参考にしていましたが、日本語でかなりサンプルを配布しているブログを見つけたので紹介します。

 

この方のレーザーを参考に自分で作ってみると理解が深まりそうです。

このKTK_kumamotoさんは、動画でチュートリアルも公開しています。ところどころ声が小さい場合がありますが、やっぱり日本語だと助かります。

 

ほかにもホーミングミサイルの短いサンプルを見つけました。

 

Clickerチュートリアルをやってみました。

 

Youtubeにあるクリック系ゲーム作成チュートリアルをやってみました。英語ではIncremental Gameと言われる場合が多いようです。

このチュートリアルはUnityのボタンやタイトル画面を作るuGUIベースで、クリックゲームを作成するチュートリアルでした。チュートリアルをやることで、クリックしてお金が増えていく仕組みと、自動でお金が増えていく仕組みを学ぶことができました。このチュートリアルの場合、UIとロジックの結合度が高いので、もう少し集約できないものかと感じました。実際に集約しようとしたらそれはそれで複雑になるのかもしれません。

ゲームの骨格部分は完成しますが、動画製作者はモチベーションがなくなってしまったようですこし中途半端な終わり方になっています。最後の動画(No.7)では、実際に動画のチュートリアルでやっていない画像などが出てきたりしています。プロジェクトの配布はGoogle Driveで行っているようです。Unity5.3でもおそらく動作すると思います。

https://drive.google.com/folderview?id=0B83YUQcB3PvffjBjSHFVdld6cE8xUTE0dXB6XzVXNVZ3cHMxUF9YUW1ZcENkLUQ0dDNpdTQ&usp=sharing&pageId=102642569277185773532

クリックゲームと数学

英語なので読めてませんが、いろいろな計算方法があるようです。

http://gamedevelopment.tutsplus.com/articles/numbers-getting-bigger-the-design-and-math-of-incremental-games–cms-24023

このプロジェクトの配布

http://hajimete-program.com/games/ClickerGame.zip

まとめ

このチュートリアルで、クリック系放置ゲームの基礎は学べました。クリック系放置ゲームはアクション性が低いので、プログラミング初心者にはよいチュートリアルだと思います。RPG風の画像にしたりアイテム管理みたいな仕組みを作ると面白そうです。

2.プロシージャルジェネレーションの動画チュートリアルをやってみます

プロシージャル洞窟生成のYoutube動画チュートリアルの二回目をやってみました。今回は、二次元配列をそのまま描画するのではなく、二次元配列から4点を取り(=コントロール・ノード)、各線の中間に点を取り(=センター・ノード)、各頂点に対して、キューブを生成するようになりました。またセンター・ノードのほうは若干小さなキューブを描画するようにしました。

ソースコード解説

このソースコードは下のメソッドから見るとよいです。

  1. 頂点であるXYZ座標を保持するNodeクラスを定義
  2. 自身のNodeと、上と右に隣接するNodeを保持するControlNodeクラスの定義
  3. 4つのControlNode(=4つの頂点座標)を四角形としてまとめるSquareクラスの定義

上記の頂点XYZはNodeクラス、隣接する頂点も管理するControlNode、それを4つに束ねたSquareクラス、このデータ構造を踏まえて、あとは入力された二次元配列が、xy座標を持つので、そこからSquareの二次元配列を作っているだけです。データ構造をしっかり頭に入れていると、SquareGridで生成している部分のコードもすんなり読めるようになります。

このプロジェクトの配布

 

http://hajimete-program.com/games/Procedural%20Cave%20Generation%20E02.zip

 

 

1.プロシージャルジェネレーションの動画チュートリアルをやってみます

Unity公式サイトにリンクが掲載されているダンジョン生成動画チュートリアルをやってみます。Unity5.3で問題なく動作しました。

やっていることはとても単純で、セル・オートマトン(Cellular Automata)と言っているのでライフゲームを作るアルゴリズムと似たようなものでした。描画にはUnityのデバッグ用のGizmoという仕組みを使いました。これはUnityのシーン上に、線やキューブなどを配置してデバッグ情報として使える機能です。

アルゴリズム概要

  1. 二次元配列を用意する
  2. 各要素にランダム生成した1または0を入れる。
  3. 二次元配列を走査し、隣接する要素を数え4以上なら空間、4以下なら壁にする。
  4. 3を複数回返してダンジョンにしていく。
  5. UnityのGizmoで、キューブを生成して描画

隣接する要素を数えるのは、ライフゲームでもテトリスでも2Dゲームではよくあることですが、それを複数回繰り返してスムーズにするという仕組みはとても興味深いものでした。

A04

このプロジェクトの配布

http://hajimete-program/games/Procedural Cave Generation E01.zip

 

Unity5の洞窟、ダンジョン生成チュートリアル動画の紹介

洞窟やダンジョンは自分で地道に作成するのもよいですが、Unityでは自動生成するアセットや作成方法のチュートリアルが豊富にあるので紹介します。

セルオートマトン(Cellular Automata)の基礎から入っていくチュートリアルです。ライフゲームを作ったことがある人はすんなり入っていくことができます。ライフゲームの仕組みを応用すると洞窟やダンジョンが作れるのがとても驚きです。最初の動画を試してみましたが、単純に生成アルゴリズムなのでUnityだけではなく別の言語やシステムでも使える技術をわかりました。様々な場面で応用できそうです。

Unity公式でも「Basic 2D Dungeon Generation」というチュートリアルがありました。こちらは1時間の動画なのでこちらのほうが学びやすそうです。この動画ではよくあるローグライク系の部屋を生成する方法が学べるようです。

POSTDの記事「手続き型のダンジョン生成アルゴリズム」もダンジョン生成の仕組みを調べるとっかかりになりそうです。