楽しい建築インテリアビジュアライゼーション

これは、総コン Advent Calendar 2017の20日目(12月20日)の記事です。

皆さんは「どうぶつ〇森」はプレイされていますか? あのゲームではどうぶつ達と交流したり、好きな家具を配置しておしゃれな部屋を作ったりして遊びますよね?

今回は、未来のどうぶつの森になるかもしれない、最近一部で流行りの「建築ビジュアライゼーション」の話です。

UE4では高品質なライティングやポストプロセスエフェクトを比較的容易に用いることができ、建築業界などで使われ始めています。

どうやって作っていくかはまだまだ勉強中なので今後の記事で紹介していこうと思っています。

   

1. まずは3Dビジュアライゼーションについて

3Dビジュアライゼーションと聞いてどのようなものを思い浮かべますか?

そもそも、この言葉を知らない人の方が多かったりするかもしれませんね。知ってる人で、一番身近なものだと最近のリアルな描写のゲームを思い浮かべる人が多いではないでしょうか。

簡単にざっくりと説明すると、「3Dで何かを見えるように表示する(そのままw)」と言えるのですが、さすがにこれではざっくりとし過ぎていますね。

簡単に例を挙げると、ゲーム世界にある建物や、車のモデルが3Dビジュアライゼーションとしてよく用いられています。

要するに、3D空間で何かみせれるものを作ることを言います。

2. 建築ビジュアライゼーションが熱い!

最近建築ビジュアライゼーションの分野が注目を集めてきているように思います。

1つの理由として、「VRが一般に普及し始めた」ということが原因になっていると考えています。 VRを身近に体験できる施設やPSVRなどで世間的にVRに抵抗がなくなりつつあり、「VRって面白そう」や「VR気になる」のような興味から体験したことのある人も増えてきています。

なぜVRと建築ビジュアライゼーションが結びつくのかというと「VRを使えば実際にその空間に居るような体験ができる」ということが大きく関わってきます。

現在使われるようになってきているのは、

  • 家を購入したりする際の内見
  • 設計段階でのチェック
  • その他いろいろ

でしょうか。

なぜ使われるようになってきたかというと、これまでは内見と言えばわざわざ車で家を回って行われていました。しかし、VRで完全に再現された部屋が見れ、その場に居るような感覚が得られるとしたらどうでしょう? もちろん、太陽光などの日照はしっかりと計算されていて、時間の変化も再現されています。

家具のモデルがそこにあり、窓から入る光も再現されているとなれば、VRを使ってみることでその場に行った時に近い体験ができます。これは内見を1つの場所で行うことができるということで、とても効率面で効果がありました。 (不動産屋側としては、ある意味汚れの少ない綺麗な状態でみせれるので良いかもしれませんね)

設計段階では、まだ建てられてもいない家を3Dモデルで再現し、壁紙や置きたい家具の選定などに使うことができます。

実際に見てみないとわからない事ってありますよね?

ですが、これまでは建ててしまうと変更が難しいものでしたが、このような技術を使うことで建てる前に変更することができるようになりました。

このように、VRの技術との掛け合わせによって不動産業界で建築ビジュアライゼーションの需要が増しています。

3. VRで家具を買えるように!?

さて、前述したように家を3D空間で再現するともう1つ使い道があります。

それは模様替えや家具の購入です。

3Dで再現された家のサイズと実際の家具のサイズの情報があれば、3D空間で家具を配置してみることができますよね?「このスペースにこの家具は置けるのか?」「この色は部屋の雰囲気に合うのか?」といったような悩みも事前に見てみることで、効率よく模様替えや新しい家具の購入ができるようになりますね。

もちろん、VR空間上で購入まで終わらせてしまえば更に手間は省けます。

4. 少し未来を考えてみる

ここで、勘のいい方は気づかれていると思いますが、建築ビジュアライゼーションをVRと組み合わせれば最初に話したゲーム作品のようなことができますよね。

自分の部屋の3Dモデル + 家具のデータを使ってVR空間に自分の理想の部屋を作る。そしてその空間にオンラインで友人を呼んで見てもらったりもできるでしょう。

今はまだあまり一般の家庭に実際に歩き回れるVR環境は少ないですが、今後もし普及すればあのゲームはリアルな街や家で行われているかもしれません。

そして、ゲームだけではなく、もし3Dプリンターと組み合わさったらどうなるでしょうか?

自分の置きたい家具の色や形を実際にVR空間でチェックし、その場で印刷して使えるようになれば生活は更に便利で良いものになるかもしれません。

このように少し先の未来では建築ビジュアライゼーションの需要が様々な部分で出てくるかもしれません。

こんな未来が楽しみですね。

5. おわりに

UE4を使った建築ビジュアライゼーションに関する勉強会は次年度余裕があればやってみたいなと思っています。 開催されたときに興味があれば是非参加してみてください!

明日は、Sectorくんの「DTM初心者による、DTM初心者になるための、DTM入門」とのことです!

グループワークでゲームを作って展示するまで

これは、総コン Advent Calendar 2017の13日目(12月13日)の記事です。

今回は学園祭に向けて行ったグループワークの過程や、グループワークを行っていて気づいたことを紹介したいと思います。

これからもグループワークは何度も行っていくことになると思うので、その時に役立てばと思います。

   

1. 作品紹介

自分たちのグループは、「SUPER GRAY RUN」というゲームを作りました。

f:id:ymhr126:20171212113118p:plain

このゲームは、キャラクターを操作して飛んでくるモノや落ちてくる雷などを避けてゴールを目指すゲームです。

ゲームはここからダウンロードできます。

現在のバージョンではWidows64bit用のファイルのみの公開です

また最適化などがあまり行われておらず、当日動かすようにのみ作っていたのでスペック高めのPCでないと動かないかもしれません…

キャラクターとして使わせていただいたGrayちゃんは Grayちゃん OFFICIAL WEBSITE からお借りしました。

www.gray-chan.com

2. 何を作るかを決めるまで

まずは沢山案を出す

最初に集まった際に、色々と作るゲームの案を出し合いました。

グループワークでは何人かの案を掛け合わせてよい作品案ができることもあり、ここで沢山案を出すことが大切だと思います。

実際に自分たちの話し合いで出たものの一例をあげると

などが出ました。

プレイする人と状況を考える

今回は学園祭での展示で「ゲームセンターのような空間」というテーマがあったので、

  • 操作が簡単な方がプレイしてもらいやすい
  • プレイヤーの層は小学生から高校生
  • 長時間やりこむようなゲームではない

などのことを考え、出た案がこれらの条件と合わせてどうするかを話し合いました。

  • VRゲーム

  最近VR ZONE SHINJUKUなどのVRゲーセンが話題   直感的な操作にできれば説明がしやすくなる      ウケは良いだろうけど、環境を用意するのが大変

  説明があまりなくてもプレイできるのはいい   知らない曲だと難しい

  • 対戦ゲーム

  星のカービィの「刹那の見斬り」のようなゲーム

  Wii Sportsの居合切りのようなゲーム

ここまで案を出して上の候補は難しいということになった。

案の再検討から決定

実際に対戦ゲームを作ろうと試しに作てみた結果、これまでに出ていた案を実現するのは難しいということになった場合は、案の再検討が必要です。

自分たちは、「簡単な操作でやりごたえのあるゲーム」を目指し、「3D避けゲー」を作ることに決まりました。

3. 役割分担をはっきりさせる

それぞれのスキルの確認

今回はランダムで決まったチームだったため、それぞれ何ができて何ができないのかといった情報を共有する必要がありました。

  • プログラミングができる人(ゲームを作ったことがある人)
  • 動画編集ができる人
  • イラストが描ける人
  • 楽曲が作れる人

といったゲームに必要な要素を作れる人をしっかりと確認しましょう。

我々のチームはそれぞれの要素を作れる人がいましたが、3Dモデルだけは作れる人がいなかったので、前述のGrayちゃんやアセットをお借りしました。

役割毎に仕事と期限を決めていく

今回の場合展示するのは学園祭の日と決まっていたため、スケジュールの延期は出来ません。そのため、しっかりと仕事内容と期限を前もって決めていくことが大切でした。

ここで、無理なことをやろうとしたりすると全体に遅れが生じる可能性があったので、我々は「必須のもの」「余裕があれば作るもの」の2つに仕事を分け、必要な物から順に作っていきました。

チームのバランスが悪い場合、負担が特定の人に大きくのしかかる場合があるので注意が必要です。

4. しっかりとコミュニケーションをとる

進捗は良くても悪くてもすべて報告

ここが一番重要です。

グループワークで一番大切なものはコミュニケーションです。

各自の進捗具合は本人が言わなければわかりません。もし、遅れているなら早めに言ってもらえれば他の人と調整することもできますが、その報告が遅くなればなるほどスケジュールが厳しいものになります。逆に早く進んでいる場合は本当に遅れている部分を相談することもできるので、報告は大切です。

今回のグループワークでは、Slackを使ってコミュニケーションをとっていました。

そこで、自分は毎回何か実装ができたり、相談がある時は報告するようにしていました。 自分以外の人に見てもらい、意見をもらうことで、自分では気づかなかった問題に気づかされることもあり、とてもよかったです。

仕様書や記録はしっかりと

今回はそれほど大きなプロジェクトではなかったため、それほど用いませんでしたが、他の人に「こういうものを作ってほしい」などというときにも指示を出しやすくなります。

また、これまでの過程などを議事録として残しておくことで、話し合いに参加できなかった人も後から話し合いの内容を見ることができます。

5. ゲームができたら

レベル調節のためにテストプレイを

作っている人はそのゲームの操作に慣れてきて、退屈に感じたり簡単に感じることがありますが、他の人にやってもらうと面白かったり、難しかったりすることもあります。なので色々な人にテストプレイをしてもらいましょう。

操作説明は分かりやすく

操作説明は初めて触る人にするものなので、イラストを使って分かりやすくしましょう。

特に一般的ではないコントローラーなどを使う際は注意が必要です。

6. おわりに

今回はゲーム制作でのグループワークかつ、少人数規模の実例をもとに書いたので、それ以外の場合は変わってくるかもしれませんので注意してください。

グループワークは色々とためになることも多いのでやってみましょう!

明日は、turtley_fmsくんの「画像を投げたらgif画像にしてくれるslackbotを作ろう (Python3)」とのことです!

初心者が初心者にUE4の勉強会を開いた話

これは、総コン Advent Calendar 2017の6日目(12月6日)の記事です。

前回は活動報告というよりは自分の研究から調べたことなどの共有に近いものでしたので、今回はサークルでの活動報告を兼ねた勉強会でわかったことなどの知見を記していきたいと思います。

   

1. はじめに

先月からUE4を全く触ったことの無い人に対しての勉強会を開催しています。

周りにUE4を使っている人がほとんどいなく、授業でも取り扱われないUE4ですが、最近注目度が上がりつつあり、利用者も増えてきているのでいい機会だと思い開催し始めました。

現在までに隔週で2回開催しました。 これまでの資料はここにあります。

2. 初めて触る人に教える際に気を付けるべきこと

いきなりすべてを教え込まない

UE4ではエディタ上に様々な機能が詰め込まれています。そのすべての使い方を最初からすべて教えても内容が多すぎてパンクしてしまいます。なので、最初はその場で使う機能から教えていきました。

便利な機能がたくさん詰め込まれているので仕方ありません。

最初に教えたのは、ブループリントの使い方やビューポートの操作方法などプログラミング以外のことでした。そこから段々とプログラミング関係に入っていきます。

ブループリントはつながりを詳しく

UE4で用いられているプログラミング環境はC++のほかにブループリントというビジュアル言語があります。そこではノードどうしを繋げてプログラムをかいていくのですが、最初のうちは「どことどこを繋げたらいいのかわからない」という質問が出ました。

そこから、まず、ノードがどういった作りになっているかなどの紹介をし、色が同じであったり、形が同じなものを取り上げて説明をしました。

その後、変数の使い方(GetとSet)についてなどに入っていきます。

これによって、これまでのプログラミング経験からくる知識を使いやすくなると考えます。

文字で説明より図で説明

ビジュアル言語である以上、コードを直接貼ることはできません。

そのため、プログラムをスクリーンショットとして保存し、その上に説明を書いていく方法をとりました。 慣れてくると文字だけでもわかりはじめるのですが、最初のうちはこのスクリーンショットがとても分かりやすく役に立ちます。

上で説明したノードどうしのつながりも画像なら分かりやすいですよね。

最後にプログラム全体を見せる

どうしてもスクリーンショットを使ったスライドでは内容ごとにスライドを変えるので部分ごとの紹介になってしまいます。 そのため、最終的にどのようなプログラムが出来上がるかを見せた方が理解が深まります。

なので、ビジュアル言語を使う際は最後に参考として全体像を見せるようにした方が良いと思います。

個人で演習として触ってもらう

なかなか時間を作るのが難しいのですが、やはり理解するためには手を動かすことが大事になります。 なので、最初に例を呈示し、そのあとに似たような内容のことを作業してもらっています。 これにより、自分で考えることができ、最初は時間がかかっても段々と力がついて早くなっていくでしょう。

3. 今後の予定

ドンドン作品を作る

これまではこちら側で作るものを用意していたが、これからは毎回1作品を目指していこうと考えています。

また、作るものもみんなで案を出し合って決めていこうと思います。

みんなで勉強していく

ある程度の理解ができたら今度はみんなで輪講のような方式に変えていきたいと思っています。 おのおのが作りたい作品を作りつつ、作る過程で調べたことを共有していきたいですね。

コンテストに出す

作ったものは世の中に出していきましょう! ということでそれぞれがぷちコンなどのコンテストに出せればいいなと思っています。

4. 最後に

これまで参加していない人も次回から参加してもらって大丈夫です! ちなみに次回は12月19日の火曜日、19:00~の予定です

明日は、turtley_fmsくんの「Processingで簡単な輪郭追跡をしよう」とのことです!

VR / AR / MR で空想世界の実現をめざして

これは、総コン Advent Calendar 2017の2日目(12月2日)の記事です。

技術の共有ではなく、今回は知識の共有を目的に書いていくので、VR / AR / MRの技術だけを求めている方には申し訳有りませんがご了承ください。

   

はじめに

まず、VR / AR / MRと聞いてみなさんはどのようなものを思い浮かべるでしょうか? 多くの人は最近流行りのVRアミューズメントテーマパークやPSVRの様な"娯楽"での活用例が多いのではないでしょうか。理系の人だとHoloLensなども出てくるでしょう。そして、その多くはヘッドマウントディスプレイ(以下HMD)を使っているものだと思います。

しかし、VR / MRは娯楽以外の使い道も様々なものが研究・開発されているのです。

自分もその1人として研究室ではVR技術の研究をしているので、今回はあまり取り上げられないものを紹介したり、そこから空想世界の実現に向けた技術の利用法も考えていきたいと思います。

 

現在のVR / AR / MR利用例 

  • トレーニング(職種訓練)での活用

現在、VRなどは様々な職種訓練での活用が行われています。

その理由は、VR / ARなどの利用で訓練の効率が跳ね上がるからです。

これまでの訓練では、実際のモノを使って教官が授業をするといった方法で行われてきました。しかし、これでは教官が一定数必要になり、説明を聞いてから作業では時間が限られていたり、効率が悪いものでした。 そこでVRの / ARの出番です。これまで人が教えていた部分を忠実に再現された3Dモデルを使ってHMDに表示し、完成形までの過程をアニメーションで見せたりしました。これによって、いつでも好きなタイミングで見ることができ、何度も繰り返し見ることも可能になったです。

このように、まるでそこに実物があるかのような感覚を与えてくれるVR / ARは職種訓練において効率的な学習と、他人に縛られない時間の利用を可能にしました。

  • アメリカでは軍事利用も

アメリカでは軍の実戦で用いる装備や訓練でもARの技術を使おうと開発が進められています。

海軍や陸軍では、ARディスプレイを搭載したヘルメットを用いて、戦艦の砲撃照準の支援や命令の可視化による作戦の効率的な伝達などを目標にしています。

  • 不動産業界でも利用されている

また後日紹介(12/20の記事の予定)しますが、建築ビジュアライゼーションという建築物を3D空間で作るものがあります。 ゲームでも建物がステージとして出てきますよね?こういったものも建築ビジュアライゼーションに含まれてきます。

では、不動産業界と建築ビジュアライゼーションにどうやってVRが用いられるのでしょうか?

それは、設計段階で顧客が実際に建てた時の様子を見るために用いられるのです。 家を買う際に、内見というモデルルームや実際の家を見てみることがありますよね。ですが、これは建築後にしかできないものでした。しかし、VRと建築ビジュアライゼーションを組み合わせればそれができてしまうのです。 更にVR+建築ビジュアライゼーションの良いところは、実際に見て壁紙や床・家具などの再検討ができるのです。オフィスを新しくする際にどのような机を置くかなど、実際に置いて見てみないと具体的なことがわからない時もこれを使えば自分たちの目線で確認できるのです。

どうぶつの森」みたいに部屋の模様替えもあらかじめ決めることができますね。

ここまで、いろいろと事例を紹介してきました。実際に娯楽以外でもVR / AR / MRはドンドン用いられるようになっています。

 

空想世界の実現をめざして

みなさんは映画「アイアンマン」を見たことがあるでしょうか? その作中に「J.A.R.V.I.S.(ジャービス)」という人工知能が出てきて、アイアンマンであるトニー・スタークの補助をします。 そして、アイアンマンのヘルメットの内側では敵の情報や持っている武器の説明や弾数、マップやスーツの耐久性など色々な情報が表示されます。

これはAIの部分を除けば現在でも実現できるのです。 先ほど挙げたアメリカでの利用法の次の未来といった感じですかね。 AIもだんだんと発達してきているので簡単なものなら今でも実現できてしまうかもしれません。

このように今ではまだ空想の世界でも段々と実現していくものもあるかもしれません。 電脳コイルの電脳メガネはHoloLensがまさにそれのようなものですし、ドラゴンボールスカウターも何を戦闘力にするかはわかりませんが顔識別と組み合わせれば実現できそうですよね。 今はまだ眼鏡サイズのモノしかないディスプレイですが、いつかコンタクトレンズサイズにしようとする企業もあります。

こういった技術の進歩にはVR / AR / MRの技術を組み合わせることで更に便利な生活が待っているでしょう。 地図を表示することで誰も道に迷わない世界。料理中にレシピや焼き加減の状態を表示するような効率化された世界。など…

2016年は「VR元年」と言われ、一般にもVRが普及し始めたばかりです。あと何年かするだけでもまた大きく技術が進歩していることでしょう。 いまは漫画や映画の中の世界がすべて実現するのは難しかもしれません、しかし段々と近づいてきてはいるのです。我々も空想世界の実現をめざして頑張っていきましょう!

おわりに

だらだらと色々なことを書いていただけなので、興味があるものは調べてみてください。 ですが、「そういうものがある」「そういう研究が進んでいる」と知っているだけでも価値があるものだと思います。 興味がある人はVR / AR / MRの研究をして空想世界を自分の手で実現させることを目指しましょう!

明日は、Zawa_worksくんの「Gifmagazine-APIJavaScript/Node.jsで叩いてみた」とのことなので、楽しみにしてます!

Unreal Engine 4 (UE4)でMedia Textureを作って動画を流す

去年の夏、全天球動画(360°パノラマ動画)をUE4をつかってVR空間で見ようと作業していました。当時の自分は初めてUE4に触れ、まだ何もわからない状態で作業しているうちに色々な壁を前にして挫折してしまったので、今回はその中の1つであった動画の流し方を紹介します。

 

ネットで検索すれば色々記事が出てきますが、昔のものも多く、1つの記事を参考にしてもうまくいかないことがあったので、これだけで最低限はうまく動くようにできるようにしたいと思います。

 

まずは流す動画を準備していく

今回は空のプロジェクトにStarterContentを後から追加した状態から始めますが、各自のプロジェクトに動画を追加してもらっても問題ありません。

 流したい動画をコンテンツブラウザへインポートする

f:id:ymhr126:20170808035953p:plain

 

 次にコンテンツブラウザ内で右クリックし、Media → Media Player を選択

f:id:ymhr126:20170808040051p:plain

 

表示されるチェックボックス両方にチェックを入れ「OK」で作成。

f:id:ymhr126:20170808040116p:plain

 

この3つができていれば大丈夫です。

f:id:ymhr126:20170808040143p:plain

 

動画がちゃんと使えるかを確かめるなら、MediaPlayer(画像ではmyMediaPlayer)を開き、動画を再生してみてください。

 

次にどの動画を流すかを指示するためにBluePrintを書いていく。

今回は実行したら流れるようにするので、レベルブループリントで作成する。

 

レベルブループリントを開き、変数を作成

f:id:ymhr126:20170808040354p:plain

 

変数の型を「MediaPlayer」の「リファレンス」にする。

f:id:ymhr126:20170808040431p:plain

 

コンパイルし、デフォルト値を先ほど作ったMediaPlayerにする。

f:id:ymhr126:20170808040538p:plain

 

作った変数をドラッグ&ドロップし、ゲット(Get)で用いる
変数からOpenSourceノードを作成する

f:id:ymhr126:20170808040615p:plain

 

Media Sourceを自分でインポートした動画にする

f:id:ymhr126:20170808041207p:plain

 

実行されたら流すようにしたいのでBeginPlayにつなげる

 

動画の準備はできたので、次に再生する場所を設置する

StarterContentの中のShape_Planeをビューポート内に配置

f:id:ymhr126:20170808041302p:plain

 

位置や大きさを以下のようにするとちょうどよい

f:id:ymhr126:20170808041323p:plain

 

これで再生する場所もできたので、動画を貼り付ける

MediaPlayerのSoundとVideoの2つを選択し、先ほど配置したShape_Planeにドラッグ&ドロップする

f:id:ymhr126:20170808041429p:plain

 

自動的にマテリアルを作成してくれる。

f:id:ymhr126:20170808041448p:plain

 

これで実行すれば再生されるようになった

f:id:ymhr126:20170808041507j:plain

 

最後に

ここまでで動画は流せるようになったので、全天球動画をVRで見るためには、動画を貼り付けるものを内側にテクスチャが貼れる球体を用意し、インポートする動画を全天球動画に変更すれば大丈夫です。

 

今回は初歩的なUE4で動画を再生する方法を紹介しました。

これを使えばゲーム内でTVを作ったりすることが可能だと思いますので、試してみてください。

最初の一歩は概要説明?

どういうことを書いていくのか

  • その時書いているプログラムに関する学んだことの共有
  • 観た映画の感想
  • 何かしらのイベントのまとめ

  など、趣味のことから勉強に関することまでを日記のような感覚で書いていきます。

 

ここにいたる経緯

 これまではTwitterなどを使って軽く同じようなことをしていましたが、あちらではたくさんの情報に埋もれてしまい大切なものを忘れてしまうことが多く、文字数の制限を受ける環境では限界があったので今回自分用のメモという意味でこれを始めました。

  なので、これまでのTwitterよりは詳しく、でもそんなに堅苦しくない気軽に読めるような簡単なものになると思います。

 

軽く自己紹介?

 情報系の学部に通う学生で、まだまだ勉強を始めたばかりの初心者でたまにプログラム書いては壁にぶち当たってます(´・ω・`)

 UnityやUnrealEngineを用いた3Dゲームに興味があり、勉強中。

 最近作曲の勉強も始めたが、他のものに時間を取られまったく進んでいない…

 

 趣味は映画鑑賞でだいたい週に1回は映画館に通い、自宅でお酒を嗜みながらの映画鑑賞もよく行っている。基本的に洋画をメインに観ており、好きなシリーズは「96時間」や「STAR WARS」などメジャーなものが多い。一番好きな俳優はリーアム・ニーソンである。

 また、ボドゲにもお金をつぎ込み色々購入するも、時間とメンバーが集まらず最近はほとんどできていない。

 

 なので、一緒に映画を見に行く人や、ボドゲで遊ぶ人を募集しています。

 

最後に

 こんな感じで語彙力もない私が、日々考えていることを忘れないうちに書き出していきます。

 温かい目でたまに見てもらえると嬉しいです。

 

 以上