Unity5でボールの跳ね返り!

先日、Unity 5がリリースされましたね!

私も2年前にプロコンの時にお世話になりました。そのせいで、しばらくUnity拒絶症にかかって、触っていなかったのですがせっかくのリリース。

流行に乗ろうではないか!!

 

Unityの機能を久しぶりに見ると、効果音・BGM編集用のミキサーがついてたり


Unity - Upgrading Unity 4 Audio Part 1: Mixers and Effects

64bitに対応したりといろいろ新機能が増えていました。まだUnityをフルで活用できないけど、いつかはストアにリリースしたいですね。

 

ってことで早速インストールしましょ。

Unity - Get Unity

無料のPersonal版を選択。なんか製品発表の時にスプラッシュ画面をつけてて、前年度の収入が何$以下なら無料版の機能制限が撤廃して使えるみたいな話し聞きましたけど、よく分かってないです。

さくさくっとインストールしたら起動しましょ。

f:id:Collonville:20150310220602j:plain

 

おーなんか、前よりかっこよくなってる。右上のNew Projectを選択

f:id:Collonville:20150310220812j:plain

 適当にプロジェクト名を「BouncingBall」にしてCreate project。

 

f:id:Collonville:20150310221045j:plain

 起動画面。画面の構成自体は前と変わっていないようです。


Unity入門(2)- Unityの画面構成 | Developers.IO

 

今回の目標は、ボールを上から床に向けて自然落下させて遊んでみることなので、まずはゲームオブジェクトのボールと床を作ります。

 

・床の作成

左上のメニューからGameObject->3D Object->Cubeを選択。

するとこんな感じに立方体が作成されます。

f:id:Collonville:20150310221953j:plain

今回は床にしたいってことで、赤枠にあるTransformでScaleをいじります。

x = 20,y = 0.2,z = 1にするといい具合の床が完成。Positionも分かりやすいようにx = y = z = 0にしました。

f:id:Collonville:20150310222239j:plain

 

 ・ボールの作成

GameObject->3D Object->Sphereを選択。すると床同様にシーン画面に球体が表示されます。Potisionをx = 0,y = 10,z = 0にします。

f:id:Collonville:20150310222831j:plain

ボールを落とした時にz軸が床と合っていないと、そのままスルーしちゃいますので気をつけて。

 

・カメラの調整

ではでは、早速実行してみましょう。シーン画面の上にあるプレーボタンをクリック。

f:id:Collonville:20150310223134j:plain

f:id:Collonville:20150310223226j:plain

あれ?ボールはどこ????

実際ボールは存在していますが、たまたまカメラに見えていないだけです。なので、実際のプレイ画面のシーンを見るにはカメラの位置をいじってあげないといけません。

 

プレーボタンを再度押して編集に戻して、シーン画面にあるカメラっぽいオブジェクトをクリックしてください。

f:id:Collonville:20150310223833j:plain

 すると左下にCamera Previewが表示されます。これが実際にカメラが見ている風景なので全体像が見えるようにPositionを調整します。

f:id:Collonville:20150310223908j:plain

 今回だとx = 0,y = 5,z = -10ぐらいですかね。再度プレーボタンを押すと。

f:id:Collonville:20150310224128j:plain

うん!いい感じになりました。

 

・ボールを落下させる

さて、このままではボールは落ちてきません。オブジェクトを配置しただけではただの置物なので、落下させるにはボールに物理シミュレーションを適用させなければいけません。そこでUnityには、Rigidbodyっというのがあります。


Unity - マニュアル: リジッドボディ

 

これを追加するだけで、なんと自動的に物理運動の制御をやってくれます!!

しかも空気抵抗やトルクによる空気抵抗、質量により変化もパラメータをいじるだけでおまかせ。

 

シーン画面でボールを選択して、左側のInspector画面下にあるAdd ComponentからPhysics->Rigidbodyを選択。

f:id:Collonville:20150310225332j:plain

各パラメータの説明をすると

Mass:オブジェクトの質量

Drag:オブジェクトが受ける空気抵抗

Angular Drag:回転により受ける空気抵抗

Use Gravity:重力を適用させるか

Is kinematic:物理シミュレーションは適用されないが、スクリプト制御のみで動くことができる

Interpolate:フレームの補完などの設定

Collosion Detection:高速に動くオブジェクトですり抜け防止を行う

 

今回は重力さえあればいいので、Use Gravityにチェックをいれるだけでいいです。プレーにしてちゃんと落ちるか確かめましょう。

f:id:Collonville:20150310230145j:plain

 落ちたな(確信)

 

・ボールに跳ね返りをつける

ボールも無事落下したので、今度は跳ね返りをつけます。

Unityには、先ほどあったRigidbody以外にも様々な物理シミュレーション用の項目があります。

メニューからAssets->Create->Physic Matrialを選択。

f:id:Collonville:20150310230713j:plain

これは物理特性マテリアルと言われており、摩擦や跳ね返り係数の調整ができます


Unity - マニュアル: 物理特性マテリアル

 

各パラメーターの説明めんどいんで、上記の公式マニュアルを読んでくださいw

跳ね返り係数をいじるのでInspector画面にあるBouncinessをいじります。

f:id:Collonville:20150310231126j:plain

デフォルトだと跳ね返り係数が0なので全く跳ね返りませんよね。

 

ころんさん!跳ね返り係数分かりません!って方はこちらへ↓

5.2.3.1 反発係数 ■わかりやすい高校物理の部屋■

 

だいたい0.99ぐらいにするといい具合に反発してくれます。いろいろいじってみると面白いですよ。

f:id:Collonville:20150310231541j:plain

数値の設定をしたらAssetsフォルダにある物理特性マテリアルをドラッグ&ドロップでCubeに適用させます。CubeのInspectorのBox Colider->Materialからも設定できます。

 

適用し、プレーを押すとボールが跳ね返ってくれるのが確認できると思います!

f:id:Collonville:20150310231913j:plain

 

 ・まとめ

今回は、ボールに物理シミュレーションを適用させて簡単な跳ね返りシミュレーターを作りました。まだまだUnityには面白い機能が盛りだくさんなので、今後も自分のプロジェクトを進めながらまとめて行こうと思います。

 

これからも進化し続けるUnityに期待しましょう!!

 

 

 

 

 

Intel Edison Breakout Board~開発準備 その1~

Intel社から今年日本で10月に発売されたばかりのAtom搭載の超小型コンピュータ「Edison」を入手しました!!

 

12月13日にOPTiM社主催の勉強会に参加した次の日に、ぶらぶらと秋葉原にある秋月電子に寄ったのですが

f:id:Collonville:20141217160627j:plain

ありました!

 

学校のメカトロ部のほうからこういうデバイスがあると聞いていましたが、ここで会えるとは。早速、部のLineで欲しいか?と聞いたところ「欲しい!!欲しい!!」との返事。本来買う予定では無かったですが、買ってきましたよ(同人誌もっと買う予定だったのに...)

 

買ってきたのは、Edison Breakout Boardのほう。もう一つEdison Kit for Arduinoがありましたが、ちょっとお値段張るのでBoardを選びました。

ちなみに秋月やAmazonでも買えますので是非


Amazon.co.jp: Intel Edison Breakout Board Kit Edison本体+Breakout基板: パソコン・周辺機器


Amazon.co.jp: Intel Edison Kit for Arduino Edison本体+Arduino基板: パソコン・周辺機器


商品検索 秋月電子通商 電子部品 ネット通販

 

あと、モジュールとPCをつなぐUSBケーブルですが、2本必要です!

「Aオス----マイクロBオス」× 2がないと開発ができないようなので、忘れずに買いましょう。秋月だと1本120円でした。

 

 Edisonの箱とUSBケーブル2本

f:id:Collonville:20141217170736j:plain

 

 

中身はこんな感じ。

Edison本体×1

Breakout Board基板×1

Edison固定用ナット×2

f:id:Collonville:20141217170745j:plain

 SDカードを上に乗っけてみましたがEdison自体は本当に小さいです。こんなに小さいのにこれだけのスペック。取り扱いが怖い

f:id:Collonville:20141217171043j:plain

 

Breakout Boardと接続した後の様子。EdisonをBoardに乗せてそれぞれのコネクタを接続した後に、ナットで締めます。

f:id:Collonville:20141217171055j:plain

 

 

さてさて、いよいよ本題の開発環境の構築に行きます。

まずは、Intel社のサイトからEdisonのドライバーをインストールします。リンク先にあるページの一番下の「Windows Driver setup 1.0.0」ってやつです。

Edison - Software Downloads | Intel Communities

 

インストール画面。そのままぽちぽとNext押していくとインストールが始まります。

f:id:Collonville:20141217173411j:plain

 

無事インストールが終わったら、次はPCとのシリアル通信を行うためのドライバー

 をインストールします。

Virtual COM Port Drivers

winユーザーは「setup executable」からインストラーをダウンロードしてください。管理者権限がないと実行できないので一旦どこかに落としておいたほうが楽です。

f:id:Collonville:20141217174323j:plain

 

これもインストールが終わったら、いよいよUSBと接続です。

f:id:Collonville:20141217175307j:plain

 

 

まず先に、写真の赤い方にケーブルを刺します。FTDIチップが乗ってるそうなんで先に挿しちゃいましょう。

f:id:Collonville:20141217180004j:plain

そしたら、自動的にデバイスインストールが始まるので、終わったらデバイスマネージャーに行ってポート番号を確認してください(今回の場合COM5)

 

次に、TeraTermのような仮想ターミナルでEdisonに接続します。


Tera Term (テラターム) プロジェクト日本語トップページ - SourceForge.JP

f:id:Collonville:20141217180418j:plain

シリアルでポートを先ほどデバイスマネージャーで確認したポートを選択。

 

f:id:Collonville:20141217180555j:plain

設定->シリアルポートでポートレートを115200bpsに設定

 

設定が完了したら、もう一つのほうのUSBを接続してください。すると、Breakout Board上のLEDが光ります。

f:id:Collonville:20141217180902j:plain

TeraTermではこんな感じで、私の好きなBoot画面がずらずらと流れてくるはず

 

edison rogin : って出てきたら「root」と打ち込んでenter押すとこんな感じ

f:id:Collonville:20141217181538j:plain

 rootに入れました。ここまでで第一段階です。

次はEdisonを自分用に調教しましょう。

 

・バージョンの確認

 Edisonのファームウェアのバージョンを調べます。

Teratermに「cat /etc/version」と打ち込んでください。

f:id:Collonville:20141217182210j:plain

 なんかバグでキーボードに一番最初に打った文字が出ないようですが、1回Deleteキーで消して再度入力するとちゃんと出てきました。

 

最新のバージョンはきっとどこかに載ってます(知らない)

・名前を変更する

せっかく買ったEdison。自分の好きな名前にしちゃいましょう。

コマンドで「configure_edison」入れて実行

 

f:id:Collonville:20141217183938j:plain

こんな感じの画面になります。最低でも5文字以上入れないとダメだそうです。

名前を決めたら再度Enterキーで確認が取られるので良ければ「Y」、再度入力する場合は「N」

 

 

・パスワードを変更する

名前が決まったら自動的にパスワード変更に移ります。初期パスワードは「root」でしたので、セキュリティのために変更しましょう。

スクショ撮り忘れました(*ノω・*)テヘ

上記の同様、良ければ「Y」を入力で次にいきます。

  

 

Wi-Fiに接続する

 さぁいよいよEdisonをWi-Fiに接続します。自動的にスキャンが始まりますが、やはり受信環境が良くないと上手くできないそうです。

f:id:Collonville:20141217185047j:plain

 こんな感じに、使っているSSIDがずらっと出ればOKです。何回やっても出ない場合は無線親機に近づけるなどしたら出やすいかも。

 

f:id:Collonville:20141217185855j:plain

 接続したいネットワークを選んでパスワードを入力してあげると、Doneと表示されます。なんかPlease go to 192.168.1.13って書いてあるんで試しに接続してみましたが、何も表示されませんでした(pingとかarpで接続は確認できたんでいいのかな?)

 

試しに「ifconfig」と打つと、wlan0にデバイスのMACアドレスとかIPアドレスとか出てればOKです。

 

ファームウェアのアップデート

まだまだ出たばかりのEdisonですが、これからアップデートが頻繁に起こると予想されるのでできるようにしちゃいましょう。

今まで開いてたTeraTermは一旦Edisonと接続を切ってください。

 

最初の方にEdisonドライバーを落としてきたページに飛びます。

Edison - Software Downloads | Intel Communities

そのページの真ん中にある「Edison Yocto complete image」をダウンロードしてください。

 

f:id:Collonville:20141217191909j:plain

 ダウンロードしてきたzipを開くとこんな感じ。

これらのファイルすべてをマイコンピュータからEdison(:F)を選びコピーします。たまにEdisonの中にファイルがあるそうですが、それは先に消してから zipの中身を入れます。

f:id:Collonville:20141217192232j:plain

ファイルを移したら、再度TeraTermを開き、「USB Serial Port」を選んで、もう一度115200bpsに設定します。

設定が終わったらEnterキーを2回ぐらい押しちゃってください。1回だけだと反応しない場合があります。

f:id:Collonville:20141217192945j:plain

 決めたEdisonの名前 login:が出たら「root」と打って、パワワードも先ほど自分で決めたのを入れます。

ここでも、一番最初に打った文字が出てこない症状がでるので、Deleteキーとかで戻って、再度入力するとrootに入れます。

f:id:Collonville:20141217193325j:plain

 

reboot ota」と打ったらアップデートと再起動が始まります。

デバイスによっては5分とかかかるそうなんで、終わるまでUSBケーブルを抜かないように注意。

 

f:id:Collonville:20141217193933j:plain

再起動が終わったら、再度rootとパスワードを入力して「cat /etc/version」でアップデートされているか確かめます。

 

アップデート操作する前と変わっていなかったので買った時から最新ファームウェアだったようです。

 

 

 

 

とりあえず、ここまでお疲れ様です!!

やっと開発準備その1が終わりました。基本的なデバイスとの接続方法とアップデート方法は覚えておいたほうがいいと思います。

 

次回は実際にLEDチカチカ、通称「Lチカ」でもやってみようと思います。

謎の多いデバイスですが、これだけ高性能なモジュール・・・どんどん普及していって欲しいです。

 

 

それでは(*・∀・)ノ゛

 

 

ころんとTUT

みなさん初めまして!ころんPです!!

現在は富山高専射水キャンパス電子情報工学科5年に在籍しております。なぜこのような記事を書いているかというと、来年の春からTUTに編入で入ってくるからなんです。

 

もうすでに数人の先輩方とお会いしましたが、ころんがどのような人物なのか分かってもらうのに良いチャンスかなと。そのうちプログラミングの話もしていきたいと思っています。

 

 

さてさて、ころんは一体何ものか。正直自己分析は苦手なので一言で表せないのでTUTの編入までの流れを書きていきます。

 

元々、高専入学する前から電子回路や情報工学に興味があって、自分で秋月でパーツを買って電子工作をしていろいろと遊んでいました。中3の時に高校の学校紹介がありましたけど、高専の紹介を聞いた時には「もうここしかない!」と決断して入学しました。

この判断が、正しかったか間違っていたかは未だに分からないです。

 

私が入学した当時は、旧商船高専と旧工業高等専門学校が1つに合併してスーパー高専という名で新入生に宣伝していましたね。今見れば他の高専と比べて大したことしていないような気がします(もっとヤれよ!!!

そんな中、高い倍率をくぐり抜けて電子情報工学科として入りました。 そして部活動を決めるときにソフトウェ系の旧コンピューター部(今はデジタルメディア創作部)かハード系のメカトロ部に入ろうか悩んでましたね。どちらもプロコンや、ロボコンに出場していて両方入たかったですが、なんやかんやで旧コンピューター部に入部しました。

部では、プロコンや自作ゲームを作っている先輩方を見ていろいろと刺激を受けました。そうしてプログラミングを勉強していくうちに3年後には部長として部を率いていきました。徹夜で作った宣伝動画のおかげで新入生確保も順調に進んでいき、私が入部した頃は数人しかいなかった部が、今では40人います。そして5年になった今も部長をしています・・・。

プロコンへの参加も活発になり、以前は予選落ち続きでしたがなんとか今年で2年連続本戦出場へ導くことも出来ました。

ちなみに高専時代作ったものはだいたいこんな感じです↓

 

赤外線LED100個点灯させるための回路作ったり

f:id:Collonville:20141206234950j:plain

 

FTIRディスプレイとUnityを使ってサンドアートシミュレーター作ったり

f:id:Collonville:20141206235023j:plain

 DTNとMANETを使って災害用のコミュニケーションツールを作ってみたりf:id:Collonville:20141206235619j:plainf:id:Collonville:20141206235646j:plain

 こんな感じで、ハードからソフトまでいろいろ開発しました♪

その分、徹夜続きで在学中に不整脈になっちゃいましたけど!!その他にもKinectで体感型音楽ゲームとかTwitterのツイート内容を解読してハードウェアを制御したり、Androidタブレットを使ってタイピング育成アプリを作ったりしました。

 

基本的に「作りたいと思ったものは、作ってしまおう!」精神でやっています。 

 

こんな感じで高専時代にいろいろ作ったんだなぁとお分かりいただければ幸いです。

扱える言語は、C・C++C#Javaです。最近はJavaScriptとGoが面白そうなのでやってみたいと思います。

 

5年になって進路を決めないといけない時期が迫ってきたのですが、TUTに関しては事前に下調べをしてもうここにしようかなと4年の時から決めていました。インターンシップでTUTの画像情報メディア研究室に2週間お世話になり、そこでAR技術や画像処理について学んだのがきっかけですね。

エピ曲線!?なにそれおいしいの??とか思いながら、携帯電話も圏外になる環境でしたけど、やっぱり高専生特有のノリが好きでこの大学でもやっいけそうだなと思いました。

 

学力入試の後にゆdieさん、アレンくん、おわわさん、いさおさん、他のTUT生(ごめんなさい、あの後人数増えすぎて覚えてないです。許してください、なんでもしますから)にお世話になり、なんとか試験に合格しましたよ。正直他の進路決めていなかったので危なかったですが。

ってことで来年からそっちに行きますね!!

 

ちなみに今は、ImagineCupに挑戦中です。最近話題のウェアラブルデバイスとビッグデータを使った健康管理システムを開発中で、TUT入学してからも忙しい状況が続きます。

 

 

 

話は変わりまして、趣味についても書いていこうと思います。

Twitterのほうにも書いてあるのですが、ボカロ(IAちゃん)を使って作曲してます。

マイリス↓

 基本的にVOCALEAMOやVOCAMETALなどのジャンルを目指していますけど、なかなか思うように作れないです。。。ここ2年間はプロコンや進路で時間が取れなくて全く作曲に手を付けていません。

好きな曲のジャンルは主に、エモーション、スクリーモです。激しくてドゥンドゥンやっているのが好きです。他にもアニソン、ジャズはよく聞きますよ。

 

高専バンドでギターやってます。TUTでも軽音楽に入ろうと思ってます。豊橋のライブハウスは盛り上がりがないって聞いたんですけどどうなんですかね?気になります。

f:id:Collonville:20141207010122j:plain

 

Myギターたち。7弦楽しいです

f:id:Collonville:20141207010137j:plain

 

メインエフェクターのPOD HD PROとFURMAN。中音とジャリジャリ感の扱いが難しいのが難点・・・

f:id:Collonville:20141207010254j:plain

 

プログラミングも一種の趣味に入ると思いますけど、ここではあえて書かないでおきます。これからそういう記事が増えると思うので。

 

 

 

とまぁ、長文になりましたがころんについて少しでもお分かり頂けたでしょうか。TUTに行ってからは、コンピュータクラブと軽音楽に入ります。プロコンやバンド組んでライブとか出たいです。

それでは4ヶ月後を楽しみにしています(っ´ω`)っ