paiza開発日誌

IT/Webエンジニア向け総合求人・学習サービス「paiza」の開発者が、プログラミングやITエンジニアの転職などについて書いています。

初心者向け・C#入門とUnityチュートリアルやってみた


f:id:paiza:20180910132940p:plainこんにちは。倉内です。

paizaラーニングでは、動画レッスンとブラウザ上で実行できるオンラインエディタを使って、環境構築なしで未経験者でもプログラミングが学べます。

今回、C#入門講座に新レッスン「C#入門編5: 多次元配列を理解しよう」が追加されましたのでご紹介します。

C#でプログラミングするスキルが動画と演習課題で身につく「C#入門編」は全編無料となっておりますのでぜひご覧ください。

ところでC#といえばゲームエンジンのUnityが思い浮かぶ方も多いと思いますが、興味はあっても初心者には難しそうなイメージがありますよね。

私もそうだったのですが「せっかくC#を学習しているのだからチャレンジしてみたい!」と思い挑戦してみました。Unityについては本記事の後半でご紹介しています。

paizaラーニングでC#の基礎学習

paizaラーニングで公開している「C#入門編」は現在5レッスンあり今後も順次追加予定です。

新規追加された「C#入門編5:多次元配列を理解しよう」は、全11チャプターあります。このレッスンでは二次元配列(一部、三次元配列)について解説しています。

通常の配列より少しややこしい部分もありますが、動画では図などを用いて分かりやすく説明しています。

配列を使うと複雑なデータも扱えるようになるので、ぜひ受講してマスターしてください。「そもそも配列ってどんなだっけ…」という方は前のレッスン「C#入門編4: 配列の基礎」に戻って復習してから受講してみるのもよいかと思います。

まず、前半のチャプター1~5までで、二次元配列の作成・要素の表示といった基礎を学んでから、配列の要素の更新など基本操作を学習します。その後たくさんのデータを持つ配列を処理するには欠かせない、ループ処理を学びます。

チャプター後半ではドット絵や地図といった画像を使って多次元配列の理解をさらに深めていきます。

また、複数行の標準入力から値を受け取り、二次元配列に割り当てる処理を応用して、RPGのマップにキャラクターを配置してみる処理を書けるようになります。

ひとまずここまでの全レッスンを終えると、C#で四則演算、条件分岐やループ処理の記述、配列でデータを扱うことができるようになります。

腕試し&遊べるコンテンツでC#を使う

paizaではプログラミング問題を解いて、コーディングスキルを測るスキルチェックや、プログラミング問題を解くことで物語が進んだり、アイテムをゲットできたりするゲームイベントを多数ご用意しています。

ほとんどすべてのコンテンツでC#で問題を解くことができますので、「C#入門編」を終えた方は楽しみながらC#をもっと使ってみてください。

コーディングスキルを測る「スキルチェック」

paizaが提供しているプログラミングスキルを測るスキルチェックでは、制限時間内に問題を解いて提出し、採点されたスコアでランクづけをおこなっています。

paizaのスキルチェック問題について詳しくはこちら
paizaのスキルチェック

楽しみながら実力をつける「ゲームイベント」

paizaではゲーム感覚でプログラミング学習ができるコンテンツを無料で公開しています。初学者向けから上級者向けまで、さまざまな難易度の問題を用意していますので、シミュレーションゲームやRPGゲームを進めながら実力をつけられます。

基礎文法が理解できていれば進められるものもありますので、入門編が終わったという方はぜひプレイしてみてください。

UnityでC#を書くための準備

Unityのインストール

Unityはゲーム開発において世界でもっとも利用されているゲームエンジンで、「白猫プロジェクト」(コロプラ)や「Pokemon GO」(Niantic, Inc)などもUnityを使って開発されていることは有名ですよね。

実はUnityでは、プログラムを書かなくても画面からのパラメーター設定で多くのことを実現できるようになっています。簡単なゲームであれば3Dを扱う場合でもプログラミングなしで実現できます。

ただし、C#(他にもJavaScript、Booといった言語が使われることもあります)でプログラミングすることができれば、さらに高度な開発やカスタマイズが可能です。

これからインストール手順を説明します。今回私がUnityをインストールしたのはWindows 10(Home Edition)、メモリ8GB、HDD容量1TBのPCです。3Dのレンダリングは多少の負荷がかかりますが、このくらいのスペックのPCで問題ありません。

①Unity公式サイトにアクセス

https://unity.com/ja

公式サイトにアクセスし[はじめる]ボタンをクリックします。

②プラン選択画面でPersonalを選択

個人利用であれば無料プランであるPersonalで十分です。[無料ダウンロード]をクリックします。

f:id:paiza:20190418114007j:plain
 

③条件に同意しUnity Hubをダウンロード

利用規約と制限内容に目を通し、問題なければチェックボックスにチェックを入れてください。[Unity Hub をダウンロード]が活性化しますので、クリックしてください。

f:id:paiza:20190418114925j:plain
 

④Unity Hubをインストール

インストーラ「UnityHubSetup.exe」をローカルに保存し実行します。インストールは規約に同意し[インストール]ボタンを押したらすぐ終わります。

デスクトップにUnity Hubのアイコンができました。

※標準のまま進めると最新バージョンがインストールされますが、VRchat関連で使いたいなど用途が決まっている場合は、バージョン指定が必要なことがあります。

⑤初回起動時の設定

Unityを初めて起動するとログインとアンケート回答が求められます。

まずログインしましょう。Googleアカウントでログインできるので、今回は[Sign into my existing account]のほうをクリックして、[Sign in with google]でログインしてみました。

f:id:paiza:20190419134455j:plain

[Sign in with google]をクリックするとメールアドレスとパスワードの入力画面になります。

Googleアカウントで認証後、[Personal]を選択して、[Next]をクリックします。

f:id:paiza:20190419135616j:plain

個人利用であれば一番下を選択すれば大丈夫です。

f:id:paiza:20190419141123j:plain

アンケートなので特にこのあとのUnityの利用には影響しません。あまり構えずに答えれば大丈夫です。一応回答例を載せておきます。

  • Where are you located?(どこに住んでいますか?) - Japan(日本)
  • In what capacity do you primarily use Unity?(Unityをどんな立場で利用しますか?) - Hobbyist(趣味で)
  • What is your primaly role?(仕事は?) - Programmer(プログラマ)
  • How would you rate your Unity skills?(Unityのスキルはどれくらい?) - Absolute Beginner-never used Unity before(初心者)
  • Platforms of interest(興味があるプラットフォーム) - Android, iOS
  • What type of project do you primarily plan to develop with Unity?(どんなプロジェクトでUnityを使った開発をする予定?) - Games(ゲーム)

[OK]をクリックし初回設定完了です。お疲れさまでした!

チュートリアルを動かしてみる

さっそくチュートリアルを動かしてみましょう。

チュートリアルは[Learn]タブから選択するのですが、このチュートリアルを動かすためにもろもろの機能が盛り込まれたパッケージのインストールが必要なので、[Installs]タブを選択して一番上の「Unity 2019.1.0f2」をダウンロードしてください。

※容量が大きくて時間がかかるので、チュートリアルを動かさずに自分で新しいプロジェクトを作成して進めるという方は飛ばしてください。

f:id:paiza:20190419144608j:plain

[Download]をクリックすると、下図の子画面が表示されます。適宜選択し、[Done]をクリックするとインストールが開始されます。

インストールが終わったら[Learn]タブに切り替えて、いずれかをダウンロードするとボタンが[Start]に変わりチュートリアルを実行できます。

どれでもいいのですが、上から3つ目を選択してみました。

f:id:paiza:20190419145359j:plain

敵と障害物を超えてゴールに辿り着くゲームです。初期設定のままだと敵の動きが速すぎて通り抜けられないため(必ず死ぬ)速度の調整をしたり、ボタンを押してから扉が閉まるまでの時間が短すぎるので時間を調整したり…というのを画面からパラメーターを変えるだけで実現できます!

f:id:paiza:20190419145719j:plain

下図は敵の速度調整の画面です。Speedを30から1に変更しました。

f:id:paiza:20190422102859j:plain

Speed変更後は敵がゆっくりになり、通り抜けることができました。画像だと伝わりづらいのでぜひご自分のPCで実行してみてください。

触ってみると分かるとおり、画面にある各パラメーターを調整するだけでかなりいろいろなことができます。

自分でプロジェクトをつくるとこのような画面になります。新規プロジェクトの作成はUnity Hubで[プロジェクト]タブを選択し、[New Project]クリックで可能です。

手始めに立方体を置いてみました。

f:id:paiza:20190419145944p:plain

画面右側にコードが表示されています。これは自動生成されたものですが言語はC#です。例として表示したこのUnity Timelineは公式ドキュメントではこう説明されています。

Unity のタイムラインを利用して、映画的コンテンツ、ゲームプレイシーケンス、オーディオシーケンス、複雑なパーティクルエフェクトを作成できます。

いきなり難しそうなところを開いてしまいましたが……ゲーム開発には欠かせない、アニメーションやエフェクト、サウンドといった複数の要素を合わせて管理することができる機能です。

いよいよこれからUnityで開発!というところですが今回はここまで。次回はUnity上でC#でスクリプトを書いてゲームに取り込んで再生してみたいと思います。

まとめ

paizaラーニングでC#の基礎を学んだあと、Unityをインストールしてチュートリアルを動かすところまでまとめて説明しました。

C#は今回紹介したUnityでのゲーム開発はもちろん、大規模な業務システムやWindows向けアプリケーションなど幅広く利用されています。

言語名のせいか「C#はC言語をもともとやってないと難しいのでは……?」と思う人がいるようなのですが、C#は比較的新しめの言語でIDE(統合開発環境)も整っており、初期の学習難易度がそこまで高くはないのでおすすめの言語の一つです。

C#入門編」は5月以降も新レッスンを追加予定ですので、楽しみにお待ちいただければと思います!





paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。

詳しくはこちら

paizaラーニング

そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。

スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

詳しくはこちら

paizaのスキルチェック





※このブログで紹介しているキャンペーンやイベント、およびサイト内の情報については、すべて記事公開時の情報となります。閲覧されたタイミングによっては状況が変わっている場合もございますのでご了承ください。

ITプログラマー・エンジニア転職・就活・学習のpaiza

プログラミング入門講座|paizaラーニング

PHP入門編Ruby入門編Python入門編Java入門編JavaScript入門編C言語入門編C#入門編アルゴリズム入門編AI機械学習入門

エンジニアのためのプログラミング転職サイト|paiza転職

プログラミング スキルチェックエンジニア求人一覧

未経験からエンジニアを目指す人の転職サイト|EN:TRY

プログラミング スキルチェックエンジニア未経験可求人一覧

エンジニアを目指す学生の就活サイト|paiza新卒

プログラミング スキルチェックエンジニア求人一覧

ブラウザを開くだけで エディタ、Webサーバ、DB等の開発環境が整う|PaizaCloud