化学出身者がUnityを1年間勉強してみる

Unityを中心とした独学記録

Unityちゃん 13-15

4日目はUnityちゃんの動画8-まで視聴。内容は以下の通り。()内数字は講義のレクチャー番号。

・物理演算を使わないプログラムで、1フレームごとに作動させる方法とこれまでの復習(13)

・オブジェクトの非接触と非アクティブ化(14)

・UIの表示(15)

13回では、前にパソコンの性能によってフレーム数が変わるので、フレームの絶対的な値を指示してどのパソコンでもフレーム数が同一になるようにした(FixedUpdate())。今回は物理演算を伴わない場合Time.deltaTimeを用いることで同様の操作を可能とした。

14回ではUnityではデフォルトの状態において、オブジェクト同士が接触すると反発するが、それを通過する方法(Is Trigger)と通過することで非アクティブ化にし、取得したように見せる方法を学んだ。

15回では14回で行った取得したオブジェクトを内部でカウントし、それをユーザーが見られるようにした。13回、14回の内容を踏まえると、アイテムを取得しそれがスコア等に加算されるような動きが可能となった。

 

一通りの講座は終了し、ステージのガワは作ることが出来る。

現在の知識を用いると下記ギミックが実現可能と思われる。

.静止状態のオブジェクト配置

.一定運動するオブジェクト配置

接触することで消えるオブジェクト配置

接触することで落下するオブジェクト配置

1,3は講義そのままで可能、2は応用になるものの、サンプルワールドにそのギミックがあるためコードを見れば可能だと思われる。

4は3の応用でColliderとRigidbodyを使えば可能か?現時点では

1、落下する足場とプレイヤーが触れることで足場が落下

2、落下する足場の上に透明なオブジェクトを配置し、プレイヤーが触れると足場が落下

が考えられる。特に2は透明なオブジェクトと足場を親子関係にしてやれば出来るだろうか。違いとして透明なオブジェクトサイズ<足場とすることで

1、足場の端を上手いこと移動すれば落ちる足場が作動することなく移動可能

2、特定箇所に触れると足場全体が移動

要は時差を用いたギミックが作れそうだということ。

 

ここまではこれまでの内容を踏まえれば実現可能だが、一つ新しいことを学んでみたい。それは「特定オブジェクトを所持していれば特定の扉が動く」つまりゲームによく見る鍵のこと。

Unityチュートリアルの3?にあった扉のソースがヒントになるかもしれない。

これらを用いていらいら棒みたいなゲームの作成を目指す。

 

少し触れて問題点が見えてきたが長くなるので次回以降とする。