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

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

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

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

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

Q&A

解決済

5回答

13260閲覧

Unityで数学知識はどこまで必要ですか?

sanset

総合スコア186

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

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

0グッド

1クリップ

投稿2017/03/30 12:25

編集2017/03/30 12:35

現在、独学でUnityの勉強をしています。20代社会人です。
プログラミング経験は、PHPやJavaScript等、WEBプログラム系です。ゲーム開発経験はありません。

Unityで、スーパーマリオ64のような、3Dアクション系ゲームを作ってみたく、それに必要なことをいろいろ調べたり、Unity本体を触ってきました。
しかし、こういったゲームプログラミングの経験はなかったので、なかなか馴染むことが出来ずにいます。
特に、操作するキャラクターに追従するカメラワークの実装等、3D空間のオブジェクトを移動させる処理等は、ネット上のソースをコピーしてしまい、中の内容を紐解くことが出来ていません。

覚えが悪いのは、自分が三次元空間におけるオブジェクトの立ち位置のx,y,zやベクトル、数学的な考え方が身についていないのでは?と考え始めています。
実際に数学は中学レベルのまま止まっている状態です。
**「Unityおよびゲームプログラムは数学と深い関わりがあるから、切っても切り離すことは出来ない。必要な知識」**とまで書いてある書籍も見かけました。

なので、現在はUnityに触る前に、「ベクトル」「ピタゴラスの定理(三平方の定理)」など、高等数学の勉強を始めています。
しかし、その勉強は一体どこまで学べば終わりなのか、Unityにおいてどこで応用が利くのか分からないまま勉強を進めているため、終わりのない道を歩いているような感覚です。

一方では、**「数学的な難しい内容は、Unityではすべて関数でまとめてくれている。そんな勉強するくらいならUnity自体の理解度や、標準の関数を覚えたほうがマシだ」**と言われたことがあります。
こちら意見も的を得ていると思うのですが、数学の知識が無かったことで、どこかでつまづいてしまわないかが心配です。

そこで皆さんにお聞きしたいのは、勉強の優先度です。
0. 最低限、高校数学レベルを身につけないと、Unityで3Dゲームの開発なんてできないから、数学の勉強から始めるべき。
0. 数学の勉強よりも、Unityそのものの勉強を始めても問題はない。

自分のような悩みを抱えている人がいた場合、皆さんならどちらを勧められますか?
Unity経験者の方は、是非答えを聞かせていただきたいです。

※プログラムの内容に関する質問ではありませんが、プログラムの勉強方法で悩んでいるため、質問として投稿させていただきました。

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

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

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

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

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

guest

回答5

0

なぜそんなに失敗を恐れるのでしょう?
つまづいた時につまづいたところを勉強すればいいだけです。

投稿2017/03/30 16:39

Zuishin

総合スコア28660

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

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

sanset

2017/04/02 03:08

回答ありがとうございます!そうですね、あまりの先の見えなさに臆病になっていたのかもしれません。1つずつ学んでいきます。
guest

0

「何を作るか」によりますが、基本的には2番を推します。

同じ3Dアクションでも、「物理エンジンに処理を丸投げしていいゲーム(例:ゴミ箱)」は数学(あるいは物理学)を知らずともAddForceだけしていれば何とかなります。(ならない時もありますが)
一方で「物理法則を一部無視したアクションを行うゲーム(例:マリオ、モンハン等)」では、三角関数などを駆使する必要が出て来ます。

また、「普通に実行する分にはUnityの既存APIをそのまま使えばいいが、一工夫する為には数学的な考え方が必要」みたいなパターンもあります。
(個人的には確率計算(PだのCだの)が必要になり慌てて勉強し直したことがあります)

これは作ってみないと分からない部分が大きいので、
「行き詰まったら『使えるUnityの既存APIはないか』『数学的に解けないか』の両方を調べる&考える」
という方法が一番効率的だと思います。
(ただ勉強するだけはつまらないですしね。もちろん学習優先なら、先に勉強する→それを活かせるゲームを作ってみる、という逆パターンもありだと思います)

ネット上のソースをコピーしてしまい、中の内容を紐解くことが出来ていません。

ただし、どちらにしろこれは危険です。
何千行もあるAssetのスクリプトを全て読めとは言いませんが、コピペするレベルのソースならば、どの行が何をしているのか把握しておくべきです。
理解すれば別の部分でも応用が利きますし、理解しないままだとバグの温床になります。

投稿2017/03/31 01:58

sakura_hana

総合スコア11427

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

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

sanset

2017/04/02 04:01

回答ありがとうございます!分からなくなった段階で、知識を身に付けるほうが効率的ですね。 ソースコードもしっかり理解した上で実装したいと思います。アドバイスありがとうございます!
guest

0

ベストアンサー

私はまだまだUnityの勉強中ですので偉そうな事がいえる立場ではありませんが、私も皆様と同じように2番をお勧めします。
大抵の処理に関しては「足し算」「引き算」「割り算」「掛け算」「割り算の余り」「if文」「for文」が理解できれば実行させることは可能です。
剛体演算だのといった難しい事の多くはUnity側が処理してくれます、問題なのはそれをUnityで動かすためにはどういう命令文を書く(もしくはどういうコンポーネントを追加する)必要があるのか?という所だと思います。
そしてそれらの多くはネットで書かれています、それでも解らない時は私はこのサイトで質問させていただいています。
三角関数を用いて敵キャラを動かしたりする場合でも、開発者はスプリクトで「Mathf.Cos」という自動で計算してくれる関数などもあります、そこにとりあえず値を放り込んで実行してみるだけでも何となく理解できると思います。
どうしても複雑な数式になってしまう場合は調べる必要性が出てくるかもしませんが、その時に改めて調べて勉強すれば解決すると思います、そしてUnityの使い方もとにかく解らない項目を調べて実行して理解するの繰り返しです。
結構プログラムとかUnityの項目が英語という事で躊躇される方もいらっしゃいますが、トライ&エラーで色々と試してみる事をお勧めします。
動かしたい仕様に従って作って動く楽しみをまずは感じて欲しいと思います。
苦労しながらも色々と試してその結果、思ったとおりに動いてくれた時は私はディスプレイの前で「よっしゃーー!!」と喜んだりしています、これがないとプログラムの勉強は疲れてしまいます。
折角Unityという便利な開発ツールが生まれ、素人でもゲームが作りやすい環境が生まれたのですが、是非とも目一杯活用して、自分の作りたい物を実現して欲しいと思います。

投稿2017/03/30 20:14

sitappa1981

総合スコア66

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

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

sanset

2017/04/02 04:00

回答ありがとうございます!初心者の僕目線でアドバイスを下さり、とても心にしみました。励みになります。Unityから勉強をしていきたいと思います!
guest

0

場当たり的だと言われようが、僕は2を推します。
いるかいらないか分からない数学の勉強などしたくないからです。
脳の肥やしにはなるので、全く無駄とはいいませんが…。

まず、作りたいもののビジョン、それに必要な数学の知識が発覚した時点でそれを勉強します。
(あなたの言うカメラワークなど。)
その内容が解らない時は、その知識がどのレベルの物か調べ、自分が解るところまで戻り、
そこに向かって数学の勉強をしたほうが楽しいです。

やっぱり、バグっていようが画面が動いて悩む方が楽しいのです。

投稿2017/03/30 14:50

mugicya

総合スコア1046

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

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

sanset

2017/04/02 03:07

回答ありがとうございます!たしかに画面を見てトライ&エラーしたほうがモチベーションも保ちやすそうです。
guest

0

2番お勧めします!
unityで何ができるかも調べておいて方がいいかもですね!
https://x-hours.com/articles/271

投稿2023/12/31 12:46

kometaro12

総合スコア4

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問