Unity 教育

Unityで、教材を作ってみました。

更新日:

| Unity の物理演算やら、ハイクォリティなグラフィックを一切役立てない簡素なアプリ


 

 

上の図は、小学4年生ぐらいで習う面積を求める問題。

 

緑の部分を求めなくてはならないのだ。

 

考え方は基本、自由なのだが、もっとも分かりやすく少ない計算量で、回答したいところだ。

 

しかし、計算量を減らそうとすると、アイデアが、必要になる。

 

また、計算量は増えるが、見たままの感じで、4つの緑の部分をそれぞれ計算する方が、考え方は単純である。

 

どちらにせよ、うちの子供はつまずいていた。

 

全体の面積から、白い部分を引き算すればいいのだが、その考え方が理解できなかったらしい。

 

となれば、いろんなパターンを見せて、理解してもらおうとある程度、変動可能な図解を作ってみた。

 

間に合わせなので、デザインの方はご容赦願いたいのだが、色々、作っていくうちに Unity の勉強にもなったので、以下、コードを載せさせていただく。

 

何しろ、初めて完成物を作ったので大目に見ていただきたい。

 

 

 

| 解説


 

まずは、はじめに、適当な四角を用意する。

 

 

そして、UI のスライダーを使って、四角形の縦と横の長さを変更できるようにした。

 

 

以下のスクリプトが、この四角形オブジェクトにアタッチしたもの。

 

 

 

本当は、Update 関数の中には、あまり、多くの処理を書きたくなかったのだけど、とりあえず、挙動は安定していたので、これで、良しとした。

(7年落ちのノートPCはうなりを上げていたが・・・。)

 

iTween を使って、滑らかな動きも入れてみた。(iTween イイ。)

 

 

何より、時間が掛ったのが、白いクロスしたものの挙動。

 

緑の四角形と連動して、長さを変えなくてはならないし、移動範囲もあわせて変動させなくてはならない。

 

もっと、簡単でPCへの負荷も少なくする方法もあるのだろうが、初心者の自分には、まだ、これが、精一杯。

 

以下、白い部分のスクリプト。

 

縦棒の方。(動きが、平行移動になるので、こちらを MoveBoarderH ( Horizonntal ) としている。)

 

 

 

同じく、横棒の方。

 

 

白い部分の棒を、ドラッグで移動できるようにした処理は、定型文みたいのを、拾ってきて、それぞれの動きに、制限をかけている。

 

そして、今回、新たな発見というか、とても便利だったのが、Mathf.Clamp(m, -1.0f * VerticalValue / 2.0f + 2.0f + 0.5f, VerticalValue / 2.0f + 1.0f - 0.5f); で、利用している、Math.Clamp 関数なるモノだった。

 

変数そのものに、変化の範囲を指定できるので、かなり、コードを簡略化出来た。

 

後は、適当に、式や値を、テキストで表示すれば、完成。

 

良かったら、お子様の算数の勉強にお役立てください。

 

 

-Unity, 教育

Copyright© exarow , 2018 All Rights Reserved Powered by AFFINGER5.