C#開発者がUnityに切り替える方法

Unity3Dは、最も人気のあるゲームエンジンの1つです。 近年、Unityは使いやすく、開発者に多くの既製のソリューションを提供するという事実により、ますます多くの素晴らしいゲームがリリースされています。 Plarium Kharkivの.NET開発者であるAlexey Naumenkoは、開発者にUnityの学習を開始する方法を話しました。







プログラミングを始めたきっかけ



私はKhAIで電気通信の学位を取得して勉強しました。 ドローンを設計した先生がいました。 彼のおかげで、すでに4年目に、地上からUAVへのデータ転送を制御するマイクロコントローラー用の簡単なCコードを書き始めました。 それから私は、狭い問題を解決するためだけでなく、絶えず書くために実際のプログラミング言語を学ぶ必要があると決めました。



C#とJavaのどちらかを選択しました。これらの言語の本を読みましたが、Visual StudioとJava IDEを開いて、最初の「ラッパー」を優先して選択しました。 長所と短所を分析する正しい方法ではありませんが、選択を後悔していません。



なぜgamedevに行ってUnityを選んだのか



5〜7年生のとき、友人と私はゲームを作ろうとしました。 そして結果はナンセンスだったが、プロセスのロマンスは私に残った。 さらに、特に古代のRPGでプレイするのが好きです。 大学卒業後、私はいくつかの食品会社で働いていました。私は1年間ウェブプログラミングに従事し、その後4年間コールセンター向けのソフトウェアを開発しました。 しかし、私は常にゲーム開発に挑戦するという考えに悩まされていました。 そのため、空き時間に、将来のゲームに使用するエンジンを考え始めました。



多くの開発者がUnityとUnreal Engineを使用していますが、すべてのオプションを検討したかったのです。 したがって、私は人気のあるプロジェクトが書かれているものを理解し始めました。 これらは、Naughty Dogのようなプロプライエタリエンジンか、インターネット上で情報がほとんどないエンジンのいずれかであることが判明しました。これらのエンジンを使用するには、業界でしばらく作業し、少なくともゲーム構築の一般原則を知っている必要がありますエンジン。



UnityとUnreal Engineの選択に戻りました。 そして、その時から私は.NETで4年間プログラミングをしていたので、選択は簡単でした。UnityにはC#がありますが、Unreal Engineはそうではありませんでした。 Unityのもう1つのプラス:いくつかの興味深い質問をグーグルで検索し、ほとんどすべてに答える試みを見つけました。 常に専門的ではありませんが、情報があり、それについて話し合う人がいました。



UnityにはStackOverflow- Unity Answersに類似したものがあります。 そこでは、初期段階で特定の質問に対する答えを見つけるのは非常に簡単です。したがって、特にプログラミングの一般原則を理解している場合は、エントリーのしきい値は非常に低くなります。



トレーニングを開始する場所



興味のある問題と同様に、すでに解決済みの問題を調査しました。 特定のソリューションを検索したことがありますが、 Asset Storeで見つかりませんでした。 そのため、フォーラムの監視を開始し、必要なことを正確に実行している男に出会いましたが、ストアはいくつかの要件について彼のソリューションを逃しませんでした。 私は彼にメッセージを書き、彼の営業時間を買うことを申し出ました。 彼は余分なお金を稼ぐ機会にとても満足していました-それはルーマニアの10年生でした。 エンジンの研究におけるほぼ私の最高の投資:10ドルと、Swiftの支払いと同じ金額。



初心者にとっては、たとえそれが原始的なものであっても、他の人がどのようにタスクに取り組んでいるかを見るのに役立ちます。 結局のところ、多くのソリューションが存在する可能性があります。 開始時に、暗闇の中で指を振っているかのように。 選択したソリューションがどれだけ適切かはわかりません。将来的にその実装に問題があるか、より簡単なオプションがある可能性があります。



いくつかの例に焦点を当てることは常に良いことです。 私は購入を断念しました:そこにはたくさんの山がありましたが、私は自分のニーズに合うようにこのソリューションを作り直しました。 この例を分析している間、多くのエントリーレベルの質問が消えました。 それで彼はUnityで作業する基本的な原則を理解し始め、エンジンの機能を扱い続けました。



1か月半の間、私はベースを研究しましたが、表面的にではなく、むしろ客観的に-その時に必要なものでした。 最初は、他の新しいテクノロジーと同様に、多くの疑問が生じました。 私はネイティブコードを見て、マニュアルを読んで、何かがUnityでこのように機能し、他の方法では機能しない理由を見つけました。 しかし、もちろん、特定のタスクがなく、なぜあなたがこれをしているのか理解できない場合、それはより難しく、より長くなります。



そのようにUnityを学ぶことは意味がありません-特定の設計問題を解決することから始めなければなりません。 すぐに「パックマンを作りたい」と決める方が良いです。 これに必要なものを考え始めます。たとえば、キャラクター制御を実装する必要があります。 黄色の生き物は白い点を食べる。 クリーチャーは、食用の物体につまずいたことを理解する必要があります。つまり、食用の点とパクメンとの接触を判断することから始める必要があります。 その後、特定の問題が発生し、それを解決する方法を探す必要があります。これは、私の意見では、技術を研究する最良の方法です。



.NETからUnityへの実際の移行



候補者にインタビューするとき、Unityの知識をテストするのではなく、.NETに焦点を当てると直接言います。 実際には、.NETを知っている人は、Unityと並行して言語を学習し始めた人よりも、エンジンでの作業を訓練する方がはるかに簡単です。 したがって、.NETを知っていて、面接のためにUnityで働きたいだけの人を招待します。 その後、すべてを教えます。



時々、Unityをまったく知らないシニアまたはミドル+ .NETプログラマーにインタビューします。 同時に、その人はジュニアポジションに移動しません。というのは、プラリウムでは、エンジンでの作業にはUnity Juniorの概念がないからです。 すべてが.NETで問題ない場合、エンジンのマスタリングは非常に簡単です。



何を読む



Unity Answersに加えて、 UnifyWikiあります。 コードを逆コンパイルして結果を確認できます(難読化されていません)。



フォーラム( answer.unity3d.comおよびforum.unity3d.com )は、 最初は非常に役に立ちました。 また、Jason GregoryのGame Engine Architecture本も読んでいます。 その著者はUnityについて特に語っていませんが、ゲームエンジン全体のコンポーネントと機能を詳細に調べています。 彼は、エンジンの構成要素、必要な数学の種類、レンダリングの仕組みについて詳しく説明します。 この本はUnityの理解を広げます。このエンジンに何があるのか​​、それから何を求めるべきなのかを理解し始めました。 唯一の難しさ-この本を読むには、非常にやる気を起こさせる必要があります。退屈ではありませんが、かなりボリュームがあります。



Unityと連携するメリット



大企業は、クロスプラットフォーム向けのUnityを愛しています。 何かを書いた場合、アドオンはありますが、iOSとAndroidの両方でビルドされますが、すぐに動作します。 もちろん、これが支払いに適用されない場合:)



この場合の利点は、Plariumがエンタープライズサポートレベルのサポートを持つUnityの公式パートナーであることです。 彼らはリクエストに迅速に応答するだけでなく、より多くのオープンソースコードを提供し、私たちは自分で何かを開いて終了することができます。



Unityでの作業を計画している人にとって、この情報が役立つことを願っています。 頑張って!



All Articles