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

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

ただいまの
回答率

88.03%

3Dプログラミングを学びたい

解決済

回答 3

投稿 編集

  • 評価
  • クリップ 2
  • VIEW 8,318
退会済みユーザー

退会済みユーザー

3Dプログラミングの勉強をはじめたいです。

まわりの知人たちに訪ねてみたところ、Unityを推されたのですが、
私はあまりゲーム制作に興味がもてません。

Unityといえば、ゲームをつくるためにあるというイメージが強くあるのですが、
一方、Unityをゲーム以外にも活用している事例などもあると耳にします。
具体的にUnityのゲーム以外の活用例をご存知でしたら、どんなものがあるのか教えて頂きたいです。

私は主にメディアアートの分野に興味があり、恥ずかしながら将来的にはライゾマティクスやPARTYのような、いわゆるカッコイイ系のインタラクティブコンテンツの制作に携わりたいと考えています。
そのため、表現手法として、3Dプログラミングを学びたいと考えています。3Dプログラミングを初心者からはじめたい人にとって、おすすめの言語やツールをお教え頂きたいです。

・WebGL(three.js)
・Processing

程度であれば、少しだけかじったことがあります。



みなさん、本当にためになる意見を頂き、ありがとうございました!
決めるのが難しかったのですが、最も具体度の高い回答をくださったpikovoltさんにベストアンサーをしました!

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

checkベストアンサー

+2

たぶん挙げている集団の作品を考えると、ツールというか重要な部分はC++とかで自作じゃないでしょうか。
(ものによって、MAXやLiveで同期取ったりはしているかもしれませんが)

自作の全部入り系という意味ではopenFrameworksがお勧めです。
C++のライブラリなのでC++を覚える必要がありますが、いろんな機能を連携させるのを主眼にしたフレームワーク作りが行われています。

ただ個人的にはCycling'74のMAXを面白がれるなら、アリかも。と思います。かなりアカデミックな分野に近いところの技術になりますが、いろいろなモジュールを連動させる系統としては歴史のあるソフトです。
体験版で試してみるか、同じ系統のPureDataを使ってみることをお勧めします。
こっちも、自分でオブジェクトを作り始めるにはC++が必要になってきます。
あと音楽を連動させる場合は、Ableton Live 及び Max for Liveもお勧めです。

あと3Dソフトですが、Blenderの使い方くらいは覚えた方が良いです。
なにかデータを表示させたい場合に、計算で自動生成した幾何学模様しか出なくてもよければソフト不要と言えますが…普通なにかの形状を表示させたりすると思うので。
標準でどんなデータ形式が扱えて、UIでどんな操作ができるのか、くらいは最低限知っておきましょう。

ところで、
質問者さんの挙げているクリエイティブ系の分野だと、1人でどうこう考える前にまずは同好の士を求めた方が良いと思います。
もし学生さんでしたら、そういう人が集まる大学を探してその大学に必要な基本スキルと、自分の好きな分野をはっきりさせるのが先です。尖った奴らと意見を戦わせて、自分の土台をしっかり固める中で必要なスキルとして3DCG技術が必要な状況でしたら、僕は先に挙げたようなフレームワークやツールをお勧めします。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/08/26 03:26 編集

    とてもくわしい回答をありがとうございます!
    回答者様のおっしゃる通り、自分のやりたいことをしっかり整理したいと思います。

    とりあえず、openFrameworksとBlenderのことを調べてみたいと思います。

    フレームワークという概念がいまいち分からないのですが、OpenGLや画像処理なんかを基本的な知識だけあれば、簡単に(直感的に)使えるというような認識でいいのでしょうか?たとえば、上に挙げたUnityなんかは複雑な物理演算の知識がなくても、ある程度のものであれば制作できると思うのですが、そういったイメージで問題ないでしょうか?

    初歩的な質問ですみません。

    キャンセル

  • 2015/08/26 04:35 編集

     openFrameworks(oF)は別々に提供されているライブラリの統合を目的にしていて、インターフェースをある程度まとめてある。という感じですがバラバラに覚えるよりは楽だし、機能を探し歩く手間も少ないです。

     フレームワークというと、作業に対する枠組みを用意して作業を定型化・効率化するのが目的ですが、oFはまだそこまで纏めきれてない印象です。ただ初期化処理とか纏まってるだけでも初期導入時には助かるので使った方が楽かと。

    >簡単に(直感的に)使えるというような認識でいいのでしょうか?
     ミドルウェア的に高度に機能をラップして、ハンドリングし易くしている感じでもないと思います。単に導入を楽にする感じです。

     もっとミドルウェア的なものがお望みだとUnity、少し細かいところに手を入れるのがお望みならUE4(UnrealEngine4)を試してみてはどうでしょうか。

    キャンセル

  • 2015/08/26 08:51

    なるほど、openFrameworksの勉強をすれば、その周辺の知識もある程度いっぺんに学習できるということで効率が良いんですね。

    この質問で、自分のやりたいことを実現するには、Unityよりも他の言語のほうがよさそうな感じがしました。もちろんUnityも触ってみますが。

    いろいろと教えてくださり、本当にありがとうございました!!

    キャンセル

+2

Unityといえば、ゲームをつくるためにある
おっしゃる通り、基本的にゲームエンジンですが、
ゲーム以外にも活用できるというのはそうでしょう。

Unityのゲーム以外の活用例
初音ミクが人気ロックバンド「BUMP OF CHICKEN」とコラボ、PV制作に使われたUnity

映像分野で有名な例では上記があります。



3Dプログラミングを初心者からはじめたい人にとって、おすすめの言語やツール

・WebGL(three.js)
・Processing

これらはそのままおすすめできる言語です。
とくにProcessing.jsを使えば、JavaScriptで扱えて手軽です。


カッコイイ系のインタラクティブコンテンツの制作
コンテンツが動画中心か、操作中心かで方向性が異なりますが、
動画寄りでしたら、動画編集ソフトが重要になると思います。

たとえばAviUtlとか、商業制作であればAfter Effectsとか。

それから、Blenderやメタセコイアなど、3Dのモデリングソフト。
ただ自分でモデリングせず、なるべく素材を使う手もあります。

ですから、どんなツールを使うかというのは、
プログラミング、モデリング、エディティングなど、
どの部分に重心を置くか、質問者様の制作方針によります。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/08/26 03:33

    回答ありがとうございます!

    私は、3Dモデリングで精巧なCGグラフィックをつくりたいといったわけではなく、どちらかというとインタラクティブなインスタレーション作品のプログラマーとして携わりたいです。



    キャンセル

  • 2015/08/26 06:10

    >インタラクティブなインスタレーション作品のプログラマー
    でしたらやはり、Processingが一番それに向く言語だと思います。

    それからProcessingの周辺、インタラクティブアートに関係する言語には、
    「p5.js」「Pure Data」「vvvv」「Context Free Art」などがあります。
    実際に使うかどうかはともかく、一応ご紹介しておきます。

    「openFrameworks」はC++で組むため、本格的ですがハードルは高くなります。
    商業作品などで性能が求められる場合、腰をすえて取り組む必要があるでしょう。

    Unityは、インタラクティブ性がゲームに近くなる場合、とくに効率的でしょう。
    たとえば、建物の中で人に話しかける仮想空間を提示する作品とか。

    キャンセル

  • 2015/08/26 08:45

    ありがとうございます!
    インタラクティブアート周辺にはそんなにたくさん言語があったんですね!
    なるほど、C++...とりあえずドットインストールでもやってみます!

    この質問で、自分のやりたいことを実現するには、Unityよりも他の言語のほうがよさそうな感じがしました。もちろんUnityも触ってみますが。

    いろいろと教えてくださり、本当にありがとうございました!!

    キャンセル

+1

Unityは、Rigidbody(物理挙動)という属性をオブジェクトに与えることができます。
これを使うと「物体が重力によって落下する」「壁にぶつかって跳ね返る」といった動作を、自分で物理学的計算をしなくても作ることができます。
なのでシミュレーション的な使い方もできます。計算精度の点では充分ではありませんが、“お手軽な可視化ツール”として使っています。

オブジェクトの質感を変えたり、ライティング周りも簡単にできます。
無償版でもかなりの機能が使えるようですので、ためしに使ってみるといいですよ。
結構楽しめます。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/08/26 03:10

    なるほど!以外な使い方があるんですね!参考になります!

    キャンセル

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

  • ただいまの回答率 88.03%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る