AI研究所 - AI(人工知能)に脅かされないために、AI(人工知能)を作る側の人間になる -

HOME  >  unityでpythonを使うには?開発手順やメリットを紹介

公開日:2020.09.18 

unityでpythonを使うには?開発手順やメリットを紹介

プログラミング

 

AIの技術発展とともに主流なプログラミング言語のPythonが注目されるようになってきました。
ゲーム制作などをしている人の間ではUnityがよく知られていますが、UnityでPythonを使えるようにすることは可能なのでしょうか。
この記事ではUnityの基本的な情報について紹介した上で、Unity上でPythonを使えるようにするための方法を具体的に紹介します。

Unityとは?

Unityとはユニティ・テクノロジーによって提供されているゲームエンジンです。
自分でオリジナルのゲームを制作したいと思ったときに何もないところから作り上げるのは決して簡単なことではありません。
Unityではゲーム開発をするために必要なツールを搭載していて高いレベルのゲーム制作スキルを持っていない人でも気軽にゲームを作れるように設計されています。
ゲームエンジンとは平たく言えばゲーム制作のための統合開発環境のことで、Unityがあればゲームを作るために必要なものが一通り揃うと考えても良いでしょう。
Unityのユーザーは公開当初から増加を続けていて、現在では100万人以上のユーザーがいることが知られています。
この理由として大きいのは初心者でも比較的ゲーム制作を始めやすいことが挙げられるでしょう。
プログラミングをせずともマウス操作だけで簡単なゲームなら作り上げられるようにユーザーインターフェースが作り上げられているのが大きなポイントです。
パソコンとゲームで使用したい画像やBGMなどの素材があれば十分というのも魅力として知られています。
Unityは無料版として機能が制限された状態で利用することが可能という点も初心者でも利用しやすい理由です。
商用のゲーム制作を見越していない場合には有料版でなくとも多様なゲームを開発することができるでしょう。

さらにUnityは汎用性が高いことからも長く愛用している人が多くなっています。
プラットフォームの対応幅が広く、WindowsやMacOS、LinuxなどのデスクトップパソコンのOSだけが候補ではありません。
Playstation 4やXbox 360、Wii Uなどのゲーム機で動作するゲームも作成できます。
さらにスマートフォンアプリも開発が可能で、iPhoneとAndroidの両方に対応しています。
二次元と三次元の両方に標準で対応しているので作れるゲームの幅も広いというのも魅力です。
また、Unityではアセットストアを提供しているのも特徴です。
アセットストアはユーザーが自分で作った素材やプログラムの一部などを登録できるようになっています。
他のユーザーはその内容を見て参考にすることも、購入して使用することも可能です。
特に3Dモデルや特殊なアルゴリズムのプログラムなどは積極的に販売しているユーザーが多くなっています。
ゲームを作らない人でも、ゲームで使えるような素材を作って販売して利益を上げるといった使い方ができるのです。

UnityでPythonを使う手順


UnityでPythonを使用したいときにはいくつかの方法がありますが、簡単なやり方を紹介します。
気軽にできるのはIronPythonを使用する方法です。
IronPythonのサイトからインストーラーをダウンロードします。
そして、インストーラーを実行してIronPythonをインストールしましょう。
次にUnityのフォルダを開いてAssets/Pluginsというフォルダを作成します。
Unityで使うためのプラグインをIronPythonのフォルダの中からこのフォルダにコピーすることでPythonを使えるようになるというのが基本的な仕組みです。
IronPythonのフォルダ内にある全てのファイルをコピーしてきても動作するわけではありません。
Assets/Pluginsのフォルダにはライブラリファイルの*.dllという形式のものの中から適切なものをピックアップして入れることが必要です。
IronPythonのフォルダからPlatforms/Net35に入り、以下の六つのファイルをコピーしてPluginsのフォルダに入れましょう。
IronPython.dll
IronPython.Modules.dll
Microsoft.Dinamic.dll
Microsoft.Scripting.dll
Microsoft.Scripting.Core.dll
Microsoft.Scripting.Metadata.dll
この作業を終えてから、Unityのエディタを起動してメニューバーからEdit、Project Settings、Playerの順に選びます。
Playerの設定の中でOptimizationを選択し、API Compatibility levelの設定を.NET 2.0 subsetから.NET 2.0に変更しましょう。
これでIronPythonを使えるようになります。
Pythonで記述したスクリプトをゲームオブジェクトに搭載するときにはアセットに登録して追加するという流れで使用することになるので覚えておきましょう。

UnityでPythonを使うメリット

UnityでPythonを使えるようにするとどのようなメリットが生まれるのかが気になる人もいるでしょう。
Pythonを使わなくてもUnityでゲーム制作をすることも、様々なアセットを集めて使うこともできます。
Pythonを使うことによって生じるメリットについて理解を深めておきましょう。

AIプログラミングを用いるゲーム制作ができる


Unityはもともとプログラミングをせずとも様々なタイプのゲームを制作できる統合開発環境に仕上げられているのが特徴です。
オブジェクトを並べたり、ゲームの仕様を記述したりするだけで簡単に作れるのはメリットですが、標準では高度なプログラミングをすることはできません。
その打開策となるのが今回紹介したような方法を用いてプログラミングをできるようにすることです。
Pythonに限らず他のプログラミング言語を使用できるようにすることで、その言語の特性を生かしたプログラミングによるゲーム制作をできるようにすることが可能です。
ただ、Pythonを使えるようにすればAIプログラミングを活用しやすくなるメリットがあります。
PythonはAI分野における標準的なプログラミング言語として用いられています。
機械学習やディープラーニング、強化学習などのアルゴリズムはPythonで作成されているものが基本です。
AIを活用してゲームを作りたいと思ったときには、そのアルゴリズムをすぐに流用できるようにするためにPythonを選ぶのが適切でしょう。
また、AIプログラミングの経験者の中にはPythonに特化して勉強してきていて、実際にプログラムを作って実行した経験が他にはないこともあります。
すぐにAI搭載のゲーム作りに使用できるという点でもPythonを選ぶのが無難です。
Pythonによるゲーム制作も行われているので、ゲームとの相性も決して悪いことはありません。

すぐに実行できるインタプリタ言語

プログラミング言語を使ってゲームを作り上げていくときには動作が軽快な言語を選ぶのが適切です。
プログラムを作成して動作確認をするのに時間がかかってしまうと、開発スピードが低下してしまうことは否めません。
その観点からもメリットがあるのがPythonです。
Pythonはインタプリタ言語なのでコンパイルをする必要がないのが魅力です。
プログラムを実行するまでの時間が短いので軽快に制作を進めることができるでしょう。

Unityの環境をベースにしたPythonによるプログラミングができる

Unityはユーザーインターフェースが優れている点で定評があるゲームエンジンで、使い方によってはゲームによらず様々なアプリケーションの開発にも応用できます。
その開発環境をベースにしてPythonによるプログラミングを行えるのもメリットです。
いわばPythonによるアプリケーション開発の補助ツールとしてUnityを使うことができます。
その際にアセットストアを利用することもできるため、開発スピードも加速させることができるでしょう。

PythonをUnity上で使って開発を使用しよう


マルチプラットフォームで直感的に操作できるユーザーインターフェースに仕上げられていることで人気が高いUnityはゲーム開発に活発に用いられるようになりました。
AIを活用してゲームを制作したいというときなどにはPythonを使えるようにすると実現可能です。
IronPythonを使うなど、簡単にPythonを使えるようにする方法があるので積極的に活用していきましょう。


参考になったら「いいね!」と「シェア」をお願いします!!

このエントリーをはてなブックマークに追加
AI(人工知能)セミナー開催中