質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

4回答

301閲覧

Unity 学習方法

退会済みユーザー

退会済みユーザー

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

2クリップ

投稿2019/04/09 14:06

Unityを使い始めてから一年以上になります。市販のUnity関する書籍や海外のチュートリアル動画、ネットにある記事などを読んで、独学で勉強してきましたが、いまだ基本的なことしか出来ず、ゲームやアプリの一つも作れていません。オブジェクト指向?という感じです。
一から自分で作ろうとすると、技術的な問題にぶつかって動けなくなってしまい、周りに聞ける人もいないので、ネットで調べて情報が出て来なければ、そこで挫折してしまっています。スクリプトリファレンスを読んでも、どう使いこなしていいか分かりませんでした。
Unityを仕事などで使っている方たちは、どのように学習していったのかを教えていただきたいです。回答よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

ひとつ、重要なことがあります。
それは、プログラムの世界は広大で、おそらく、ひとりの人間が一生をかけても学び尽くせないほど広いものだ、ということです。

これはどんなに優れたエンジニアでも同様です。
ひとりの人間ができる範囲というのはそこまで広くないということです。
ここで言いたいのは、「それだけ広いことを学びつくそうとしても無理だ」ということです。

どんな小さなものでもいいのでUnityでひとつ、小さなゲームを作ってみてください。
どんなに簡単なものでもいいです。今、質問者さんが知っている知識だけで作れるものです。

逆に言うと、それ以上のものを求めないでください。
まずは、知っている知識だけで作れるものを作ってみる。
これが大事な点です。

マルバツゲームでも、じゃんけんゲームでも、なんでもいいです。
最初はそうした小さなゲームから作り始め、小さなことを積み上げていくのがゲーム開発だと思っています。
(ゲーム開発に限らず、プログラムというのはそういうものだと思っています)

そして意外にも、「なにをそんな簡単な」って思いながら実装を始めても、必ずなにかひとつ以上、自分が知らない、あるいは悩む実装が出てくるはずです。
その実装にだけ注力してみてください。
「それだけ」なら、多分そんなに労力をさかずに解決できると思います。

そしてそのゲームを作り終えると、ひとつ悩んだその実装は、次はそれほど悩まなくても実装できるようになっているはずです。
そう、あとはこの繰り返しです。

そうして「少しだけ背伸びして、自分の実力よりも少しだけ上の実装してみる」。
この積み重ねを繰り返していくと、自然と実力がついているはずです。
千里の道も一歩から、というように、いきなり大きな実装はできません。

まずは、「自分のできることにプラスα」くらいの小さなゲームを作ってみてください。

投稿2019/04/09 16:03

edo_m18

総合スコア2283

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/04/09 20:24

回答ありがとうございました。
BeatStar

2019/04/10 01:07

横から失礼します。 確かに反復は必要ですよね。
guest

0

私は最初こそ本を買いましたが、公式チュートリアルレベルだったので今はWEBで賄える気がします。
(賛否両論あるでしょうが)ひたすらググること、公式リファレンスを読むこと、良い情報サイトを追いかけることで何とかしてます。
例えば「unity 公式リファレンス 読み方」でググれば情報が出ますし、
「Unity 学習方法」でteratail内を検索するだけでも似たような情報はたくさん出ます。

あとはそれを自分で実装してみて、確かめる・理解することが大事かと。
もちろんこれだけで完全にプロフェッショナルにはなれないとは思いますが、自分の作りたい物を作りたい!という要望は概ね叶えられるんじゃないかと思います。


「ネットで調べて情報が出て来ない」というのはごく稀で、
「調べ方が悪い」か「出て来た情報を理解出来ない・正しく扱えない」のどちらかだと思います。
(本当に情報が出ない場合もありますが、その場合はそれなりの解決方法もあります。原因を絞り込む、UnityならIssue Trackerや公式フォーラムに投稿する等)

それでも分からんというのであれば、teratailで質問してください。
質問するときのヒント|teratail(テラテイル)
上記は質問投稿の為のヒントですが、問題解決方法として必要なことがまとまっています。
(質問を投稿する為の情報まとめや調査中に問題が解決することもあると思います)

何がどう分からないのかまとめる。
(問題を絞り込む/理解していること・していないことを明確化する)

エラー文はそのままコピペしてググる。
問題は文言を色々言い換えてググる。

「このサイトを見たがこの部分が理解出来ない」「この文言でググったが情報が出ない」
という情報を添えて質問する。

というフローを試してみてください。

投稿2019/04/10 00:27

sakura_hana

総合スコア11427

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/04/10 03:44

回答ありがとうございました。
guest

0

#とにかく、何かしらゲームを1本完成させる
絶対にやるべきなのはこれです。とにかく「完成させた」という事実を手に入れましょう。
アイデアを考えると思いつかないこともあるので、最初は既存ゲームの模倣がおすすめです

私はチュートリアルを終えたあとに、スーパファミコンの「マリオ」を模倣しました。
ひよこかなんかのキャラクターを左右にうごかし、ジャンプさせてゴールを目指すというものです。

参考書とかにもよく載ってますよねこういうサンプルゲーム。
こういうのだったら、一人でも完成させられそうだと思ったので作ってみたのです。

##まずは初期プロトタイプを作る
個人開発の場合、企画書書いて仕様書書いてみたいなことやってるとラチがあきません
(もちろん書いたほうが良い場合もあるのでケースバイケースですが)

とにかくそのゲームの根底部分になる基礎システムだけ最初に作ってみると良いかと思います
たとえばマリオで言うなら

・マリオを移動させる機能
・マリオをジャンプさせる機能
・マリオが移動すると画面がスクロールする機能

この3つがあれば、とりあえずステージ配置して遊ぶことができます。

##あとは肉付けに挑戦
ここからがキモです。実装してみたいと思う機能をどんどん追加していきます。

・スコアの概念、スコア表示、スコアの増減する仕組み
・コインの概念、コインの配置、コインに触れたら獲得、コインが溜まったら残機が増える
・敵の追加
・味方の追加
・攻撃機能の実装
・ダブルジャンプの追加
・ダッシュ機能の追加
・敵を倒し続けるとスコアがどんどん加算されるシステム(デビルメイクライみたいな)
・死ぬまでひたすらステージが生成されるエンドレスモード

つらつらとやってみたいことを挙げていき、1つずつ実装していきます。
学ぶために学ぶのではなく、やってみたいことを実現するために学ぶというのがスタンスとして近いかと思います。

もちろん実装方法がわからなければ調べて実装します、検索したりサイトで質問したり。
そして一度作ってしまえば、「これはあのときこうやって作ったな」と今後また作るときに再利用できます。

「こういう機能はこうやって作る」っていうのを自分の中にどんどん保存していくイメージです。

##駄目な時は逃げる
たまにどうしても自分じゃ作れないものがあるときがあります。
そういうときはさっさと逃げるが吉です。

何時間も悩んで作れるかどうかわからないものと格闘するよりは
さっさと見切りをつけてステージを2-3個増やすほうが良いでしょう。

投稿2019/04/10 00:58

hogefugapiyo

総合スコア3302

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/04/10 03:44

回答ありがとうございました。
guest

0

仕事で Unity を使っている人は、仕事の中で覚えていった人が多いと思います。
社内には過去に作られたアプリのコードがたくさんありますし、1日8時間 Unity での開発に取り組んでいるのですから、誰でもそれなりにできるようになるでしょう。

もし質問者さんが Unity を使って仕事をしたいと思っているのであれば、アルバイトでも構わないので Unity を使っている会社に飛び込んでみるのはありかと思います。
そうではなく、あくまで趣味でやりたいというのであれば、とにかくコードを書いたり、読んだりする時間を増やすしかないですね。

また、teratail でも Unity の質問はたくさんありますし、ある程度の問題は質問サイトで解決すると思います。
それで問題が解決せず、手取足取り教えてもらいたいのであれば、プログラミングスクールなどに行くしかないと思います。

投稿2019/04/09 23:02

nskydiving

総合スコア6500

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/04/10 03:44

回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問