投稿

Break time-Unityではない別のツールで作るゲーム

今回はFK_CLIを使ったゲームを作っていきます。

このツールはVisualStudioを使って作る3dモデルの表示ツールととらえるといいと思います。
今回作ったゲームは時間内でどれだけ多くの数を倒せるかというゲームを作りました。
ゲームの中での敵の動きはfor文を使って20行で上下左右の動きを三角関数を使って設定しました。
ゲームの動画

本当は敵から球をよけることもしようかと考えました。しかし、当てるのがまず大変だったため実装を取りやめました。矢印キーで遊ぶ簡単なゲームなのでダウンロードして展開して遊んでみてください。

次はもっと面白いゲームを作る…。(決意)

ソースコードも載せておきます。

先端メディア学を取ることができたら次もゲームかなとは思いますが今季最後の挨拶とさせていただきます。



Unityのお話⑨/パーティクルシステムを使用する方法

パーティクルとはゲーム内でアニメーションを再生するゲーム内の機能です。

Unity上では爆発や当たったところの表現によく使われます。
再生タイミングはスクリプト上で設定ができ、例えば、物が当たったとき、このボタンを押したときなどのタイミングで設定できるようになります。
prefabのファイルを見ると爆発の表現などは3Dで表現されているようですがテクスチャを見てみると2Dです。カメラに対して2Dのアニメーションが向きを変えて再生されているのかもしれません。パーティクルのプレハブを自分で作るのも面白いかもしれません。
ではまた次回。

Break Time -Studio One-

今回はDigital Audio Workstation(DAW)であるスタジオワンを使って軽く遊んだ記録を書いていこうと思います。


ガンダムUCが好きで似たような曲調の音楽を作ってみようと少し作ってみたのがこいつです。

お詫び 録画したんだけど音が出ない(原因究明中) 申し訳ございません 画面は参考にしてみてください
実はDAWについても少し勉強中でオーケストラの楽譜を打ち込んだりなどはできるようになったんですねw。学校ではCubaseProが使われていますが、マイPCではピアプロ推奨のスタジオワンを使っているんです。無料で音楽を作れる時代になってきたのでいろんなことに挑戦している私です。来年には自作を組んでCGにも挑戦したい所存です。

せっかく大学まで来てんだからいろんなことやっとこってスタイルはメディア学部では特におすすめの学習スタイルですよ(学費高いしね…。)

今回は小休憩なので軽くで終わります。

Unityのお話⑧/変数の違い~回転~

今回はバグのお直しもかねて今回は実際にスクリプトの紹介をしたいと思います。
今回は前回に出たUIのバグから気づいたことについて話します。
なぜ小数点で角度が表示されてしまったのかというと、数学的に言えばラジアンに基いた関数で表示されてしまったことが原因であるということがわかりました。

砲台の角度を表示するUIのメソッドがこちらです
 private void Anglevision(float angle)
    {
        {
            GameObject playerobj = GameObject.Find("Tank");
            GameObject objectangle = GameObject.Find("CanonL");
            angle = objectangle.GetComponent<Transform>().eulerAngles.x;
            float vision = 360 - angle;
            if (vision == 360)
            {
                vision = 0;
            }
            angletext.text ="Angle:" +vision.ToString();
        }
    }

これについて前回のスクリプトでは、eulerAngles.xをrotation.xと書いていました。
rotationの関数はラジアンで角度を参照しています。
テスト動画
eulerAnglesの関数はオイラーの角度つまり私たちがよく知る360度で参照する方法で表示されるようになりました。


Unityでも数値を扱う部分に違いがあるので注意をしたほうがよさそうです。
(特にUI系)

ではまた次回。


Unityのお話⑦/UIを導入しよう

今回はUIについて書いていきたいと思います
前回作ったゲームからスコアと角度を読み込むスクリプトを作りました。



今回の動画
今回必要になったのはほかのところで書いたスクリプトを呼び出す必要があったということです。そのやり方はスクリプトの入っているオブジェクトを探してそのあとにそのスクリプトを参照するか、オブジェクトの座標系を呼び出すというものです。よって特定の書き方で変数を呼び出せれば動画のように数値を表示できるようになります。

*角度に関しては原因を探っています。


UIについてはHPを作っても面白いかもしれません。

ではまた次回

Gallery公開

お知らせです。

Galleryを公開しました。
ゲームなどを公開していますがチャンネルにもつながっているので良ければ見に来てください。

Unityのお話⑥/物理演算を導入しよう

今回は物理演算を本格的に導入したゲームを作っていこうと思います。

今回のゲームは戦車のゲームを作りました。

ゲームの動画
今回のゲームは物理演算を使って榴弾を再現したゲームを作りました。
さてまず前回数学の式を使ってオブジェクトを動かすということを説明しました。 円を動かすにはどのようにすればよかったのかという解説で実際に導入した結果は、 3つ目の敵に導入した結果しっかりと円を描くようになりました。これにより、回転を使わずに円に動かすことができるようになりました。 このスクリプトの利点はエネミーの向きを一定に設定できることにあります。例えばエネミーが玉を飛ばすスクリプトを書いたとき回転を使って玉を飛ばせたとしても一定の向きに飛ばすことはできません。そこでこのやり方を使えば玉を飛ばすことができるようになったというわけです。
話は戻しますが、今回のゲームは撃つスクリプトを導入した結果、戦車のゲームが完成したわけですが、実はスクリプト上では玉は一定方向に飛ばしています。なぜ、Unity上ではたを全方向に飛ばすことができるようになったのかです。それは登録したオブジェクトの向きと関連性があります。実はこのゲームはオブジェクトの親子関係を利用して角度と位置を変更できるように組まれていますなのでオブジェクト単体で見ると一定方向ですが、 全体では変わっているのでこれが実現できるようになったというわけです。親子関係は、オブジェクトを動かすうえでは大事なことです回転にも同じ原理が使われるので、Unityを使うときには親子関係に気を使いましょう。
ではまた次回。