メインコンテンツまでスキップ

Unityはなぜ難しいのか

本項では、まず「Unityが難しい理由」を考察した後に、「その難しさとどう向き合って行けば良いか?」のヒントをいくつか提示していきます。

目次

Unityが難しい理由

「Unityは難しい!」という言葉をよく聞きますし、実際にVRChatユーザの大半の人がそう思っているかもしれません。なぜUnityは難しいと思われてるのでしょうか?

筆者なりに考えたところ、以下の3つのポイントが思い浮かびました。順に説明していきます。

  • ①専門的なカタカナ・英語の用語が多い
  • ②プロ向けツールゆえに画面構成が複雑
  • ③「コンピュータの気持ち」を汲んであげないとうまく動かない

専門的なカタカナ・英語の用語が多い

これはUnityに限ったことではないですが、PCやスマホを触っていると日常のように様々な外来語や専門用語が飛び交います。

英語が苦手な方にはものすごく苦痛なことでしょう。なぜ、全て日本語にしてくれないのか?と。

これは、歴史的に見ると現代のコンピュータやIT技術の基礎となるような研究が主に欧米や英語圏で盛んだったからだという説があります1 。もちろん、言葉の意味自体を日本語で都度説明することはできるのですが、どうしても「〜〜のようなもの」というような表現となってしまいますし、Unityなどのツールの画面上に出すには冗長なものになってしまうでしょう。

専門用語は、無理のない範囲で少しずつ学んでいくことが重要かと思います。また、元となる言語で単語の意味を調べてみるとちゃんと用語の性質を表していることも多いので、暗記だけでなく由来を調べて少しでも楽しみながら学んでみるのもオススメです。

プロ向けツールゆえに画面構成が複雑

Unityはゲーム業界に留まらない様々な業界のプロの方々に使われているツールです。

Unityのような、プロ向けのツールを開発・提供する企業の立場で考えてみましょう。開発を続けるにはお客さんを増やし、お金をもらい続けなければなりません。既存のお客さんにはこれからも離れることなく長く使ってもらいたいものですし、新しいお客さんも継続的に増やしたいのです。なので、お客さんの要望は積極的に取り入れるでしょう。

お客さんが増えれば増えるほど「これもやりたい!」の声が増えてきますし、その要望に答えるごとにツールの機能も増えてきそうです。

Unityとしても、お客さんのいわゆる「主要な使い方」を網羅的にカバーするためには様々な機能を標準で備える必要があります。また、Unreal Engineのような競合他社製品が魅力的な機能を追加すれば、それに追従して自分たちも機能を追加するかもしれません。

いずれにせよ機能が増えれば増えるほど、操作するための画面は複雑になってしまいます

そのため、我々のような「アバターを改変する」というような目的を持つ人達にとっては本来必要のない機能がかなり多いため、一種のノイズのようなものが多く目立ってしまいます。

たとえば、PCを使った音楽制作・発表に関わる人が使うかもしれない「ミキサー」という機材があります(料理で使うやつではありません)。以下の写真は、代表的な「家庭用ミキサー(左)」と「業務用(プロ向け)ミキサー(右)」を並べてみたものです。

ミキサー比べ

上の写真を見比べてみると直感的にわかるように、右の機材(プロ向け)のほうが複雑で難しそうですよね?

左の機材と比べ、右の機材は明らかにツマミやスライダーといった「操作できそう・いじれそうな箇所」が多いですね。もちろんその分できること、自分にとってのやりたいことが実現できる可能性も高いですが使いこなすためにはある程度の時間を必要としそうです。

せいぜい1つの楽器やマイクを繋ぐくらい、といった軽めの用途から始めるのであれば左右どちらの機材でも実現できそうです。しかしながら、軽めの用途でもいきなり右側のようなプロ向けの機材を使いこなすのはなかなか難しそうですね。

「コンピュータの気持ち」を汲んであげないとうまく動かない

これまでコンピュータやITに関する技術を学んでこなかった方々にとって、PCやゲーム機が映し出す「ゲームの世界」というのはまさに魔法そのものかもしれません。

しかしながら、「ゲームの世界」というのはコンピュータの様々な制約を乗り越えた末にようやく辿り着いたものです。開発者たちが苦心して作り上げた、「見せかけ上はそれらしく見えるように」映し出された世界でもあるのです。

本当はこう作りたいけど、コンピュータや開発環境などの事情で妥協をしたり、代替案を考えなくてはいけない場面も多々あるでしょう。

アバター改変においても、「やりたいこと」をちゃんと動く状態で実現するためにはコンピュータの様々な制約、気持ちを汲み取ってあげる必要があるでしょう。コンピュータは、「自分ができる範囲で」「自分に任されたことだけを淡々と」しか仕事をやってくれないのです。言うならば「ゲームの世界の裏側」のような領域としっかりと向き合う必要があります。

やりたい事によっては、3DCGやゲームエンジン、設計思想、更にはその土台となるような基礎数学やコンピュータ・サイエンスに関わる分野も一から学んでいく必要があるかもしれません。

Unityとの向き合い方のヒント

アバター改変をするのであれば、こんなにも難しいUnityと向き合うことは避けては通れない道です。

ここでは、向き合い方のヒントを2つ提示します。

  • ①「必要になったとき」に「必要な分だけ」学ぶ
  • ②他者の力を積極的に借りる

「必要になったとき」に「必要な分だけ」学ぶ

3DCGやゲームエンジン、設計思想などをいきなり全てを学ぼうとするのはとても難しいことです。「全て」ということは、人によっては基礎数学やコンピュータ・サイエンスに関する分野の学習も含まれるかもしれません。 もちろん、楽しく学べる分には構わないですが「つまらないな」「分からないことが余計に増えていって不安だな」などと感じながら学び続けることは何としても避けたいものです。

ひとつ、考えを提示してみましょう。

私達は「やりたいこと」を実現する手段としてアバター改変と向き合っているわけです。言ってしまえば、そのやりたいことができるための最低限の技術さえ身に着けてしまえばよいのです。

まずは「やりたいこと」を言語化してみて、どうやればそれをUnityで実現できるか?を考えてみましょう。「この機能をこう使えば実現できる!」まで具体化できていれば問題ないですし、具体化ができないところ、すなわち未知の部分は都度学んでいけばよいのです。

未知の部分が出てきたときの学び方は、次の②を参考にしてみて下さい。

他者の力を積極的に借りる

人は誰しも好き嫌いや得意・不得意な分野があります。ある人はデザインセンスも高くて衣装作成ができるけど、Unityはさっぱりという人もいるかも知れません。もちろんその逆の人もいるでしょう。

「UniMagic」というこの空間には、様々なスキルや経歴を持った人たちが集まっています。自分にとって興味が持てないこと・苦手な分野はきっと誰かにとっての得意分野であることが多いでしょう。

皆さんがUniMagicで活動するうえで意識すべきポイントは「苦手な分野は他人の力でカバーしつつ、自分の興味のある・得意な分野をとことん伸ばすこと」だと思います。苦手なことは自分一人だけで無理に頑張らなくて良い、ということです。

なので、Unityで分からないことがあったり少しでも自分一人だけでは解決が難しいな…と感じたら、質問をしてみましょう!授業中でも良いですし、放課後でも構いません。クラスルームのDiscordチャットでも、質問掲示板でも、信頼できる先生の個人宛のDMだって構いません。

もちろん、「良い質問のやり方」自体も技術と呼べるもので、人によっては質問をすること自体が難しいと思います。どこでどのタイミングで質問すればよいのか、だれに質問するべきなのか、「自分が分からないこと」をどう言葉で表現して説明すればよいか、どうやって相手になるべく迷惑をかけずに質問すればよいか…

筆者の考えとしては、入って間もないコミュニティでは暗黙のルールの有無も何も分からないですし、「とにかくまずは自分から動いてみる」で良いと思います。筆者としては自主的に行動を起こそうとする人たち全てを全力で応援したいですし、その気持はUniMagicの教職員みな同じだと思います。

まずは一度、誰かに質問をしてみましょう!

そして、気持ちに余裕ができたタイミングでも構わないので質問のやり取りを振り返ってみて、「この分野はこの人に聞けば良いな」「この人となら相性も良くて質問しやすいな」「こう切り出せばスムーズに答えてもらえるな」といったことを考えていければよいのです。

最後に、「もっと上手に質問をしたい!」という類まれなる上昇志向を持つごく一部の限られた方々向けに、参考程度に質問のやり方・考え方のヒントとなりそうなリンク2 を提示しておきます。

Footnotes

  1. https://wa3.i-3-i.info/column6.html

  2. https://www.hyuki.com/writing/techask.html