コラム

Published on 2018/1/16

Naokazu Terada

コラム

2018/1/16

Naokazu Terada

2017年11月25・26日に行われたななめな学校1に講師として参加し、「プログラミング」をテーマにした授業をしました。その際考えたことや、実際の授業内容について紹介します。

プログラマーである自分にとって「プログラミング」をテーマに設定することは自然なことでしたが、2020年度のプログラミング教育必修化は時事的な話題でもあります。予備知識として、文科省のサイトから学習指導要領(平成29年3月公示)やその解説資料をダウンロードして読んでみました。

学習指導要領におけるプログラミング教育

まず勘違いしていたのが、「必須化」といっても「プログラミング」という教科が追加されるというわけではなく、既存教科の中に組み込んでいくということなんですね。総則では受け皿となる教科として「算数科」「理科」「総合的な学習の時間」を挙げ、“学習内容と関連付けながら計画的かつ無理なく確実に実施されるものであることに留意する必要がある”とされています。まぁ、それはそうか…と思いました。

(3) 第2の2の(1)に示す情報活用能力の育成を図るため,各学校において, コンピュータや情報通信ネットワークなどの情報手段を活用するために必要な環境を整え,これらを適切に活用した学習活動の充実を図ること。また,各種の統計資料や新聞,視聴覚教材や教育機器などの教材・教具の適切な活用を図ること。
あわせて,各教科等の特質に応じて,次の学習活動を計画的に実施すること。
ア 児童がコンピュータで文字を入力するなどの学習の基盤として必要となる情報手段の基本的な操作を習得するための学習活動
イ 児童がプログラミングを体験しながら,コンピュータに意図した処理を行わせるために必要な論理的思考力を身に付けるための学習活動

〜総則 第1章総則の第3の1の(3)〜

ここだけを読むと、いわゆる「プログラミング技術の習得」に言及されているように思えたのですが、さらに続けて読み進めてみるとどうやら違うようでした。

小学校段階において学習活動としてプログラミングに取り組むねらいは,プログラミング言語を覚えたり,プログラミングの技能を習得したりといったことではなく,論理的思考力を育むとともに,プログラムの働きやよさ,情報社会がコンピュータをはじめとする情報技術によって支えられていることなどに気付き,身近な問題の解決に主体的に取り組む態度やコンピュータ等を上手に活用してよりよい社会を築いていこうとする態度などを育むこと,さらに,教科等で学ぶ知識及び技能等をより確実に身に付けさせることにある。

〜小学校学習指導要領解説 総則編 P85〜

つまり実践的なプログラミング能力を身につけるための指導ではないということらしいのです。しかし、まだ学習経験の少ない小学生にとって、実際に何らかの“プログラミング言語を覚えたり, プログラミングの技能を習得したり”することなしに、“コンピュータに意図した処理を行わせるために必要な論理的思考力”を身につけるのは難しいのではないか思いました。確かに既存のプログラミング言語を扱うと、細かい前提知識が必要となり、本質にフォーカスしにくいということも想像できます。かといって、体験を伴わない形で概念的な話を聞かせるだけでは、ほとんど意味が無いと思うのです。

必要なのは魅力的なプログラミングへの入口

前述の指導要領を読むなどして簡単に調べたところでは、一般的な学校の授業の中でプログラミング技術が習得できるような状況には、当分の間はならなそうだと感じました。おそらく年に数回、そういえばそれっぽい授業があったなぁというくらいの感じになるのではないでしょうか。そういった状況で大切なのは、子どもたちにプログラミングの世界を魅力的に伝え、興味を持ってもらうことだと思います。企業などが主催する小学生向けプログラミング教室や、市販のプログラミング教材など、入門に適したコンテンツはすでに多くあります。本人が興味さえ持てば、そういったもので学校以外の場面で学ぶことが出来ます。小学校のプログラミング教育においては、限られた時間の中で、プログラミングの「楽しさ」を伝えることが重要な事なのではないだろうかと考えました。

授業内容の構想

子供向けのプログラミング学習と聞いてまっさきに思い浮かぶのがScratch2というプログラミング環境です。ただ、これを使ってしまうと経験者と初心者のレベル差がでてきてしまいます。今回、事前にプログラミング経験を知ることができなかったので、もっと別の教え方をした方が良いと考えました。
そこで考えたのが、人やカードなどのアナログなものを使ってプログラミング体験をしてもらおうというアイデアです。かつてのコンピュータは、パンチカードでプログラミングしていたのですから、別にデジタルデバイスがなくてもプログラミングはできます。授業の中でも「ペッパーのプログラムは、紙と鉛筆さえあれば今ここでも書けます(ただし実行はできないけどね)」という話をしました。また、オリジナルのルールを設定すれば、経験値に関わらず同じ条件で学習できるはずだと思ったからです。

時間制限への対策

今回の制約として大きかったのは時間です。与えられた授業時間は2時間30分でした(途中1回休憩をはさみます)。小学校の通常の授業と比べるとながいようですが、たった1回の授業です。対象が大人でも、この時間の中で満足なプログラミング体験をしてもらうのは難しい時間なのではないでしょうか。そこで、グループワークにしようと考えました。通常プログラミングは1人で取り組むものですが、あえてグループワークを導入し同じ課題に協力して取り組むことで、個々の待ち時間を節約したり満足感の平均値も上げたりできると考えたからです。

また、授業の始めと終わりに、子ども達に伝えたいことを簡潔にまとめたレジュメを提示しました。なかでも下の2つは実際にプログラミング体験をする前に意識しておいたほうが良いと思ったことです。それぞれについて説明します。

1. プログラムに「正解」はない あるのは「目的」のみ

プログラミングは表現であり、目的を達成するための行為です。目的の達成には多くの道筋があり、目的を達成しさえすればOKだということを、まず冒頭で伝えておきたいと思いました。色んな答えがあるはずだとあらかじめ意識していれば、プログラミングの世界をより楽しむことができるはずです3。

2. ロボットはかしこくない

一般的にロボット4は賢いものとして扱われることが多いです。でもそういう意識のまま、初めてプログラミングを体験すると、「なんでこんなことができないんだ」「面倒だ」とストレスに感じてしまいます。前提としてロボットはかしこくないと意識しておけば「じゃあしょうがない、自分がしっかりプログラムしてやろう」という姿勢で望む事ができます。この方がプログラミングはきっと楽しく思えるはずです。

授業内容の紹介

考えたのは、5人1組でマス目状のステージに配置されたアイテムをゲットしていくゲームです。アイテムをゲットするために、ロボット役の先生5をプログラムします。「すすむ」「右向け右」など、カードの種類がいくつもあるので、1つずつ使い方の説明と練習問題というのを1セットとして繰り返す流れで進めていきました。

まず、こちらで用意したステージをプロジェクションし、各チーム自分達のステージ上に同じようにアイテムなどを配置して再現します。矢印の書いてあるダンボールがスタート位置、それ以外のダンボールはブロック(進入禁止のマス)です。アイテムは、紙コップの中に入っていてお菓子とジュースの2種類があり6、なかには中身がどちらかわからないように「?」と書かれた蓋がしてあるものもあります7。

ステージの準備ができたら、カードを並べてプログラムを書いていきます。左枠はプログラム本体用、右枠はカスタムカード8を定義する用の枠です。

プログラムができたら、カードを順番に読み上げながら、ロボット役の先生を動かして確認します。ここで先生には「かしこくないロボット」役に徹してもらいました。先生が気を利かせて「賢く」振る舞ってしまうとゲームが成立しません。あくまでプログラムに忠実に動いてもらうように、授業前に細かくルールを確認しておきました。

お菓子効果

休憩前のステージと最後のファイナルステージの2つについては、獲得したアイテムの数だけチームの人数分、本物のお菓子をプレゼントしました。安直な手段でしたが、そのルールを伝えた時に子ども達のテンションが高まったのを感じ、やはり効果は絶大だなと思いました。

ファイナルステージ

ファイナルステージでは各チームに問題作りをしてもらいました。問題はステージとそのステージをクリアするプログラムのセットです。隣のチームの問題を解いてゲットできたアイテムは自分たちのものです。逆に、自分たちの作ったステージで隣のチームに取られなかったアイテムは自分達のものになります。このように攻守入れ替わるステージです。最初に、問題作りをしてもらい、出来上がったところからひとつずつ回答が正しいことを確認していきました。確認ができたチームのステージは証拠として写真を取り、プログラムの方は消してもらい、別のチームに問いてもらう準備をします。

下はその時に撮った写真一覧です。皆かなり複雑なステージです。左下のステージだけ矢印が手書きなのは、隣のチームにスタート位置がバレないように裏返しておきたいという意図らしいです。記録のため、後で僕が画像に手書きで矢印を入れました。そこまで本気でやってくれるとは、予想していなかったです…(汗)。

全チームの問題作りが完了したら、時計回りに場所を移動して、今度は隣のチームの問題を解く番です。後で1チームずつプログラムの確認をしていくのに時間を残しておきたかったので、ここでの時間制限は厳密にしました。そして最後に、全員の前で各チームの作ったステージや、それに挑戦したチームのプログラムの確認をしていきます。

予想外のドラマ

あるチームは途中で1枚だけカードの数を間違えていました。相手の思わぬミスで自分たちのお菓子を守れた出題側チームは湧き上がりました。逆に、解答側チームの空気は一瞬で凍りついたのを感じましたが、「大丈夫まだ続けられるよ!」といって、そのままプログラムの実行を続けると、偶然的にいくつかのアイテムを追加でゲットすることが出来ました。内心『よかった…』と思ったのですが、その後自分たちのステージのアイテムは全て取られてしまい、また落ち込むことに…。こんなドラマが生まれるとは、授業前は予期していませんでした。

グループワーク(チーム制)の副産物

グループワークにしたのは時間的な制約を考慮したからでしたが、他に色んな効用があったようです。特にファイナルステージの解答時間は結構タイトだったこともあり、全体を俯瞰して指示を出すもの、カスタムカードを作るもの、枠からはみ出ないようにカードをきれいに並べるものなど、チームワークの良し悪しが勝敗にも大きく関わってきました。どんどん積極的にプログラミングする子、冷静に問題箇所を発見する子、新しいアイデアを思いつく子、即席のチームでしたがそれぞれが役割を見つけて活躍していました。隣のチームのやり方を偵察に行って報告したり、カスタムカードを使って他のチームとは違う新しい命令を作って盛り上がったりなど、グループワークならではの楽しさも沢山ありました。

幻のチャレンジステージ2

個人的には当日の時間調整でやむなく削ったチャレンジステージ2(下のスライド参照)でプログラミングの「凄さ」を体験してもらいたかったのが心残りです。きっと自力で解ける子もいたので、せめて家に持ち帰って考えてもらえるような用意をしておけばよかったと反省しました…。

おわりに

限られた時間の中で、プログラミングの「楽しさ」を最大限に伝えるという点を、重要な課題に設定しました。結果としてまとめた「先生をプログラミングしておかしをゲットしよう」の内容は、ステージのバリエーションを増やせば、もっと深く学びをすすめることもできます。特殊な教材も不要です。グループワークにしたことで、子どもたちも非常に楽しんでくれたようだったので、効果はあったのではないでしょうか。(もし同じ内容をやってみたいという方は、ご連絡いただければ提供できる資料はお渡しします!)

近年の機械学習分野の盛り上がりをみると、今回扱ったようなプリミティブなプログラミングは将来的には現代における手書き文字のような、限定された場面でしか使われない技術になる可能性もあります。10年後、20年後にななめな学校があったとして、今回の授業を受けてくれた子どもたち世代が次世代に向けて一体どんなことを伝えたいと思うのだろう…?そんな妄想をするとなんだかワクワクします。

最後になりましたが、今回の授業内容の検討や実施、またこの記事の執筆にあたってもお手伝いくださったアシスタントの皆様には大変お世話になりました。ありがとうございました。


エンジニアを募集しています!


KARAPPOでは、エンジニアリング的視点から生まれる新しいアイデアや問題解決の提案、ユニークで面白いチャレンジをしていくために、エンジニアを募集しています。ななめな学校のような、地域に貢献する活動には今後も継続して参加・協力していきます。自分も参加したい/興味があるという方は、ぜひこちらの募集要項をご覧になってご応募ください(この記事読んだよと書いてくださるとさらに喜びます)。よろしくお願いします!

  1. 千葉市メディア芸術振興事業実行委員会主催の小学校3年〜6年の子供たちを対象にしたイベント。「なななめな視点」を持つことを学び、表現の幅を広げてもらおうという趣旨で、様々なクリエーターを講師を迎えて催されます。今回は2日間で計6名の講師が招かれ、各講師1日2回の授業を行いました
  2. 単純なアニメーションからインタラクティブなゲームまで、色んなものを作ることができるプログラミング教育のためのソフトウェア
  3. 実際の授業でも、ある課題について必要以上に複雑なプログラムを書いた子がいて、その後他の子がもっとシンプルな回答をする場面がありました。その時、どちらも目的を達成していたので「正解」だと教えました
  4. 「機械」と読み替えてもらって結構です。授業の中では同じ意味で用いました
  5. アシスタントの方5名に協力いただき、各チームに1人ずつついてもらいました
  6. それぞれ色の違う棒を入れています
  7. 蓋のされたものは「条件分岐」を使ってゲットします
  8. 関数に当たるカードです。処理のまとまりに名前を付けて、使いまわしたり、プログラムを読みやすくしたりできます
コラム

Published on 2017/12/3

Takayasu Sagawa

コラム

2017/12/3

Takayasu Sagawa

僕はビデオゲームが好きで、自分でも作りたいと思っていました。

「何で作ればいいの?とりあえずUnity1とかで作るんでしょ?」
「ジャンルは何?RPG?アクション?アドベンチャー?」
「ゲーム性ってなんだろう?誰も考えた事のない仕組みのゲームが作りたい。」
「あわよくばSteam2でリリースとかしてみたい!」

そんな事は本当にどうでもいいんだ!

「えっ!?でも、どうせ作るなら、クオリティ高いものを作りたいんだ僕は!よし、もう少しだけゲームをプレイして研究しよう…(ただ遊んでるだけで何かを勉強している気になるパターン)」

うだうだやってないで手を動かそう!

頭で色々考えているだけじゃいつまで経ってもゲームは出来ない。君の頭の中の世界は、今日もお蔵入り。ゲームを一本作ることは、それだけで本当に考えることが多くて、まして初めて作ろうとしてる僕には、考え及ばない部分がきっと沢山あります。だったらもう、考えるより前に、何でもいいから手を動かそうと思いました。

さあ今すぐ作り始めよう!

手駒は羊(人)と羊(羊)。

僕は前回の記事でモデリングについて学び、その結果できたものは、

羊(人的な)と

羊(羊的な)です。

この2つの強力な手駒を使えばなにかできそうです。
なんでもいい。ゲーム制作について分からない事だらけの僕にとってまず大事なのは、そう作りはじめること、ゲームを作る人になることです。

思いついたところから作り始めてみる

まずどうやったらゲームになるのかを考えました。けど、ここでも深く考えていては何も進まない。ゲーム論とか難しいことを深く考え出すとドツボにはまって、何も作れなくなるのです。

そんなものはとりあえず何でもいい。どんな絵を作りたいか!君は(僕は)このビデオゲームの中でどんな絵を見たいのか!?

「時間制限の中で何ポイントとれるか!」とか「敵を全員ぶっ飛ばしてステージをクリアできるか!」とか、そういうのでとりあえずゲームにはなるんじゃないでしょうか。

そうだな!そこは後で考えよう!

何か新しいゲームシステムを思いついた!とかそういうところから始まっても良いんだと思います。

とにかくすぐに思いついたその世界の最初の一歩を踏み出してみよう。できることからやってみよう!

それは楽しいから!楽しいは次の一歩の燃料になるから!

カラフルな羊がいっぱい画面上に出てくる!

こんな感じのカラフルな羊がいっぱい画面上に溢れかえってるっていうのが出来たらいいなと思った!で羊(人的な方)がそれらと戯れる!

どう?楽しそうじゃない??

で、そこまで作ってみます。すごくしょぼくてもいいから、形になるまで作ってみます。インターネットの力があればできる!Unityは色んな人が色んなTipsを残してるので、作りやすいです。

増えた手駒と、不満点

で、ここまで来ると、人羊、羊のモデル以外に手駒が増えているわけです。

  • 羊がランダムにわらわら動く
  • 羊が無限に出現
  • カラフルな羊
  • TPS3視点のカメラ
  • 移動できる人羊
  • 羊を投げれる人羊
  • 箱っぽいステージ

そして同時に、もっとこうしたいとか、こういう風にしたらどうだろうという点もでてきます。

  • 目的もルールもない
  • 羊が硬そう、もっとふわふわ感出したい
  • 羊のモーションがない
  • ポストエフェクト4で独特な夢見心地な画作りをしたい
  • カメラが壁や床にめり込む
  • 人羊がジャンプできない
  • ステージがただの箱なのでもう少し工夫したい
  • スタート画面作りたい

一気にこうした不満点も出てくるのです。
どうです、これらを解消したらゲームになりそうじゃありませんか?

閑話休題

プレイヤーの目的・ルールが殆どないものでも、それはゲームになり得ると僕は思っています。
だって、山になるゲーム(できることは山を眺めるだけ)とか、

世界中のあらゆるもの、ライオンや鳥や石ころやバスやアメーバや宇宙とか本当に地球上のあらゆるものになれる。あとは転がりまわるだけ(ありがたいお説教も聞ける)のゲームとかもあるので、

もうどんなものでも、作者が表現したい世界があってプレイヤーがいたらゲームになるんだと思います。というか、ゲームかゲームでないのかとか、そんな事はどうでも良くてちょっと僕と誰かの人生が楽しくなったらそれでいいです。ちなみに実は上の2つは同じ作者5のゲームで、僕はどっちも好きです。

不満点の解消と新たな問題

ポストエフェクトをいじってみる

モデルを周期的に拡大縮小させてフワフワ感を作る

↑これはバグったところ。でも面白い。何かのアイデアの種になるかも。

ルールを考える

カラフルな羊がたくさん出てくるってところから、ちょっとパズルゲーム的なルールを考えました。

床も色分けして、羊を同じ色の床に放り込むっていうゲーム

ここでも、それが面白いかどうかは作ってから検証しようと思いました。

ちなみに、色のついた床から丸いのが出てるのは、そこに今色がついてるよっていうのをわかりやすくするためです。これはUnityのパーティクルの機能で出しています。

ゲーム完成!

スタート画面とリザルト画面を一応作って、そしたらほら!一応ゲームできた!

それでやって見て思ったのが、まあつまらないのは想像通りなのですが、触っているとすぐに「ここを直したいな」というのが出てきます。

もうちょっと効率よく、羊を仕分けしたい
→ 羊を持ってると同じ色の羊が寄ってくるようにしよう。
白い羊が全く無意味
→ 白い羊はぶつかると他の羊の色に染まるようにしよう。

それで、最終的に書き出したものを下に置いておきました!
https://shagggy.github.io/videogame-sheep/sheep-function/

また次の一歩を踏み出そう

どうしよう!まだ何にも面白くないよ!!!!!

ここまで、あまり考えずに作ってきたから、まあ面白くないんです。でも何も作らずうだうだ考えていた時より、充実していたし、色々勉強になりました。そしてこのゲームはきっともっと面白くなりそうだし、それを考えるのは楽しそうです。

この辺でちょっと、できたゲームを触りながら、頭で考えてみようと思います。どうやったら面白くて素敵なゲームになるのかを。

また、ひきつづき進捗報告させていただきますので、よろしくお願いします!

ちなみにgithubにプロジェクトファイルを公開していますので気になったらのぞいて見てください。有料のアセットやfontファイルなどは含まれませんので、そのままでは動かないかと思いますが参考程度に。もし何か聞きたい事とか気軽にコメントや、twitterで聞いてください!よろしくお願いします。

 


エンジニアを募集しています!


KARAPPOでは、エンジニアリング的視点から生まれる新しいアイデアや問題解決の提案、他の会社ではできないような面白いチャレンジをしていくために、今よりエンジニアの数を増やしたいと思っています。Unity得意な方も大歓迎です!!貢献したい/しても良いよという方は、ぜひこちらの募集要項をご覧になってご応募ください(この記事読んだよと書いてくださるとさらに喜びます)。よろしくお願いします!

  1. Unity – Game Engine 今や言わずと知れたゲームエンジン。機能制限のないPersonalアカウントが無料で使える。どちらかと言うとプログラム書ける人向けか。他にUE4とかGameMakerとかが人気のあるエンジンで、そっちの方がプログラム書いたことない人でもとっつきやすい。
  2. 世界で一番大きなPCゲームのダウンロード販売プラットフォーム。総ユーザー数は1億2500万人を超える。大手のゲームから個人開発者のゲームまで幅広く取り扱う。PCゲーム人口の低い日本でもここ5、6年くらいの間でかなり知られてきたような気がします。
  3. Third Person Shooterの略。要は三人称視点。
  4. レンダリング済みのカメラに映った映像に対して後処理(ポストプロセス)として付加するエフェクト
  5. デイビッドオライリーさん。1985年アイルランド生まれの元々はアニメーションをやっていた人。僕とほぼ同い年か。。この記事でドミニクチェンさんと対談してて面白いです。
コラム

Published on 2017/9/25

Takayasu Sagawa

コラム

2017/9/25

Takayasu Sagawa

今個人的に3Dのゲーム開発をしようかと思っているのですが、その上でまず大きく立ちはだかり避けては通れない壁があります。3Dのモデリングです。

誰にも作れない素敵なキャラクターのモデリングをしたいのに、何をどうしたらいいのかわからない。普段2次元的なデザインや、プログラミングで3D的な表現を用いたことはあるものの、モデリングは未知の領域で何のソフトを使って、どんなことから始めればいいのかがわからない。

軽く調べてみると、ゲーム制作に使われる3Dのモデリングソフトと言えば、「MAYA」や「3ds MAX」、「Cinema 4D」などがどうやら代表的なソフトらしいことがわかりました。ですがどのソフトも初心者が最初に手に取るものとしてはかなり高額で、勢いで手を出せるレベルではなかったです。一応体験版もありますが、機能が制限されていたりいずれ使えなくなってしまうことを考えると、試しに使ってみようかという気になりませんでした。

そこで、無料のソフトはないのかと調べてみると、実は無料のモデリングソフトというのもいろいろとあるではないですか。という事で今回3Dを始めたい人間の一人としてタイプの違う3つのソフト、「Blender」、「Sculptris」、「MagicaVoxel」を実際に使ってみみましたので、実際の使用感、制作物とともにご紹介させて頂こうと思います。

比較方法として、私が作ってるゲームに実際に使われるかもしれないキャラクター、「羊」をそれぞれのソフトで実際に作ってみて比較してみました。

↑何の変哲もない、ただの羊。最低でも正面とサイドからの絵があると、作りやすいと思います。

 

Blender

まずは言わずとしれた「Blender」。

Blender.jp

このソフトの存在は昔から知っていました。高校生くらいの頃に、Monsters Inc.を見てPixerに憧れて実家のパソコンに無断でインストールした覚えがあります。実家のクソみたいなスペックのPCでも一応動いた記憶があります。その時は全く使い方がわからず何も出来ませんでしたが。

このソフトはオープンソースで開発されている3DCGの統合環境アプリーケーション。初版が1995年とかなり歴史のあるソフトで、なんとこれ一つで、モデリング、レンダリング、アニメーションまで行うことのできる、無料とはとても思えないポテンシャルを持ったソフトです。

↑ Blenderでローポリのオオカミ

【使用感】


↑向きを変えるたびにレンダリングが走るためノイズが載っています。ローポリの感じが可愛いです。

このソフト操作感がかなり特殊で、「MAYA」など所謂業務用ソフトを普段から使っている人にとってはかなり分かりにくいらしいのですが、私を含めそもそも初心者の方は他のソフトに慣れている状態ではないと思うので特に問題はないだろうと思われます。私もそこまで違和感は感じなかったです。ただ、このソフトになれて、もし他の有償ソフトウェアに移行した時に苦労するのかもしれないですね。

初心者のための!作って学ぶBlenderの基礎 | 日本VTR実験室

こちらの記事が非常にわかりやすく、モデリングからテクスチャ貼り、ボーンを入れてアニメーションまで一通りの操作について順を追って丁寧に書いてありとても参考になりました。Blender始めるなら絶対に読むべきだと思います。

モデリングの流れとしては、地道に四角形の面で形を作っていく感じなのですが、このとき学んだのは絶対に下絵を書いたほうがいいということです。

↑下絵を書かずに途中でどうしたら良いかわからなくなった何がしかの物体

それで先に提示した羊の絵を描きました。正面からとサイドからの下絵をあらかじめなるべく正確に、立体になったときを考えて書きます。それを正面とサイドのガイド絵として設定して作業すると、迷いがなくなるので早くそして綺麗に仕上がると思います。

Sculptris

次に紹介させていただくのは「Sculptris」。

Pixologic :: Sculptris :: OakCorp WEB

これは3Dスカルプト(彫刻)ソフトウェアと言われるもので、代表的な有償のスカルプトソフトウェア「ZBrush」を開発している所と同じ所で開発されている言わば入門版「ZBrush」のような立ち位置のソフトウェアです。

3Dスカルプトとはどういう物か、簡単に言うと、粘土をこねるように直感的にモデリングできるもので、例えば人間やモンスターなど有機的で複雑な形状のものを作るのに向いていると言われています。その他通常のポリゴンモデルにディテールを付加したい時に使われているようです。

↑Sculptrisで作られたムキムキのモンスター

↑ Sculptrisでサイクロップスを作っている過程

【使用感】

 

↑モリモリと肉感的な羊になりました。色も「Sculptris」で塗っています。耳のあたりが結構適当です。

所謂3Dソフトのような複雑さが無く、一見これは簡単で面白そうだなと思っていたのだが、正直一番難しかったです。
盛ったり、削ったり、滑らかにしたり、平らにしたり、画面上で本当に粘土を作る操作をしていくのですが、やはり本物の粘土のように自分の手で触りながら作っていくのとは訳が違います。まず思った形に中々ならないです。自分の脳内から、マウスとディスプレイを介して粘土を作るのがこんなに困難だとは。ちょっと盛って、盛りすぎた部分を平らにして、視点を回転させて、おかしなところを少し削って、というのを延々繰り返していました。

↑ 作り途中の羊。とてもひどい。

また、どうしてもモデルがリアルな形になっていくので、少しでも変なところ例えばちょっと足の先が曲がっていたりとかそういう細部のおかしな部分があるだけで、すごく気持ち悪くなります。いつまでたってもクリーチャーで、可愛らしい「羊」に中々ならなかったです。

初心者は、空想上のモンスターとかそういった、ちょっと気持ち悪い形を作るのが向いてるかもしれません。可愛いキャラクターを作るのは相当難しいだろうなと思います。

MagicaVoxel

最後に紹介するのはミニチュア版「Minecraft」のようなソフト。

MagicaVoxel

こちらはちょっと特殊なモデリングソフトで、ボクセルモデリングソフト、簡単に言うと立体的なドット絵です。その他の有償のボクセルモデリングソフトだと「Qubicle」があります。

こちらのソフト、レンダラーが統合されていて、パストレーシング1を用いた非常にきれいなレンダリング結果が得られるのですが、面白いのが、一つ一つのボクセルのシェイプを円柱や球体、さらにはレゴブロックのように変えることが出来ます。

ミニチュアっぽい雰囲気の世界や、可愛い、いかにもゲームっぽいキャラクターを作るのに向いていると思われます。

【使用感】

↑こちらも向きを変えるたびにレンダリングが走って光を計算し直しています。レゴっぽいおもちゃっぽい感じになりました。

本当にドット絵を書く感覚に似ていました。私が作ったときの流れとしては、まずは正面から見た2次元のドット絵を書き、それを押し出し、かまぼこ状の立体にします。そこから不要な部分を削っていくという流れです。

ボクセルで構成していくので、どうしても斜めの部分や曲線部分が多くなってしまうとがたがたとする部分が目立ってしまい、あまりきれいにならないので、なるべく直線的な形で構成できるといいのかもしれないと感じました。

このソフトでものすごく複雑な風景やオブジェクトを作ってる達人みたいな人2もいるのですが、初心者はまず少ないボクセルと少ない色でシンプルなキャラクターを作ってみるといいと思います。それだけで十分可愛いキャラクターが作れるソフトです。

難点があるとしたら、このソフトで作ると、どうしても雰囲気が似通ってしまうことでしょうか。ただ、3Dのモデルを誰でも手軽に短時間で作ることが出来るという意味で非常に画期的なソフトだと思います。

まとめ

僕はひとまず、「Blender」をもっと勉強してみようかと思いました。
やはりこれ一本でとりあえず完結するので、3Dモデリングの基本が一通り学べそうだと思ったからです。またUnityもBlenderからのオブジェクトのインポートに対応しているらしいです。3

その他の「Sculptris」「MagicaVoxel」も全然タイプが違うので、場面によってはぴったりハマる局面もあると思います。どちらのソフトもとりあえず始めるのは「Blender」よりも圧倒的に楽なので、一回触ってみることをおすすめします。とても面白いですよ。

これから作っていくゲームの進捗などもTECHNOTEに書いていけたらと思いますので、応援して頂けるとうれしいです!よろしくお願いします!


(追記)

ゲーム作ってみたのを記事にしました!/1069

  1. あまり良くわかっていないですが、3Dの描画手法のひとつで、現実世界に近い光の振る舞いをシミュレートすることらしいです。
  2. 達人達の作品
  3. Unity – マニュアル: Blender からオブジェクトをインポート