IronPythonを使ってUnity上でPythonのコードを実行する

ここ最近、Pythonインターフェイスを用意しているライブラリが非常に多くて、使ってみると確かに、C++でガリガリと低レベルのコードを書くよりもコーディング量が少なくて扱いが楽なのである。最近じわじわと日常に浸透しているSoftBankのロボットPepper君もPythonで制御できるらしいし。

ということで、この利便性をUnityで活かせないかと前々から調べていたのです。そこで見つけたのがIronPythonという、.NET FrameworkやMono上で動作するPython実装。UnityのC# ScriptはMonoで動いているので、こいつは行けるんじゃないかと思って1年以上前から勉強を始めてたんだけど、日本語の情報が少なくて苦労してた。

で、最近になって、UnityでIronPythonを使う日本語記事をまとめている方を見つけたのです。↓
http://tkitao.hatenablog.com/entry/2015/05/18/225902
http://tkitao.hatenablog.com/entry/2015/05/31/210054
http://hikipuro.hatenadiary.jp/entry/2015/08/02/073220

どうやらCLRでPython側からUnityの関数も呼べるみたいね。C#とPythonで相互にやり取りできると色んなモジュールと連携できて便利だな。Pythonモジュールの依存関係とかどうなるかわからんけど。


スポンサーリンク


http://baba-s.hatenablog.com/entry/2017/10/25/100000
http://baba-s.hatenablog.com/entry/2017/11/06/080000
https://github.com/exodrifter/unity-python

以前にUnityでIronPythonを扱う方法を調べた時は、Mayaのインストールフォルダに入っているPythonのインタプリタを流用するっていう変なTipsにたどり着いたのだった。つまりMaya持ってないと試せない、随分と高い投資が必要という。↓
http://techartsurvival.blogspot.jp/2013/12/embedding-ironpython-in-unity-tech-art.html
http://techartsurvival.blogspot.jp/2013/12/techartists-doin-it-for-themselves.html

ここ最近、強く感じるんだけど、ハードウェア開発に限らず、ソフトウェア開発のアウトプットも結局のところ、どれだけ多くの種類の部品(つまりライブラリやモジュール)を知っているか、それらをどうやって組み合わせるか、という知識量で大体決まってきてしまう。アプリケーション開発で低レベル層のアルゴリズムから、上位層のUIまで全部自前で作るなんてことはまずありえない。

ソフトウェア開発においても、部品の選定スキルがものを言う。ガチでアルゴリズムを考えている研究者から見れば、「ただAPIを叩くだけの簡単なお仕事」に見えるかもしれないけど、ソフトウェアエンジニアはそのアウトプットとなる製品で評価される。質の良い部品を揃え、それらを効果的に結合させる設計スキルで勝負している。

なんてね。


スポンサーリンク

関連記事

Webサイトのワイヤーフレームが作成できるオンラインツール
Maya LTのQuick Rigを試す
Google App Engine上のWordPressでFlickrの画像を貼る
バージョン管理の履歴を可視化するツール『Gource』
頭蓋骨からの顔復元と進化過程の可視化
Unityで360度ステレオVR動画を作る
ヒーローに変身なりきりアーケードゲーム『ナレルンダー』
シフトカーを改造してラジコン化する人達
Arduinoで人感センサーを使う
法線マップを用意してCanvas上でShadingするサンプル
オープンソースの物理ベースGIレンダラ『appleseed』
タイミングとクオリティ
BlenderでPhotogrammetryできるアドオン
Raspberry Piでセンサーの常時稼働を検討する
3Dデータ処理ライブラリ『Open3D』
Arduinoで作るダンボーみたいなロボット『ピッコロボ』
WordPress on Windows Azure
『手を動かしながら学ぶエンジニアのためのデータサイエンス』ハンズオンセミナーに行ってきた
Deep Learningとその他の機械学習手法の性能比較
Amazon Web ServicesでWordPress
Photogrammetry (写真測量法)
UnityでOpenCVを使うには?
オープンソースの3Dメッシュデータライブラリ『OpenMesh』
Raspberry Pi
Multi-View Stereoによる3次元復元ライブラリ『OpenMVS』
Google XML Sitemap Generatorプラグインを3.4.1へダウングレード
Model View Controller
ROSの薄い本
Webスクレイピングの勉強会に行ってきた
Pythonの自然言語処理ライブラリ『NLTK(Natural Language Toolkit)』
OpenCVでPhotoshopのプラグイン開発
PythonでMayaのShapeノードプラグインを作る
続・ディープラーニングの資料
科学技術計算向けスクリプト言語『Julia』
株式会社ヘキサドライブの研究室ページ
Unityで学ぶC#
Unity ARKitプラグインサンプルのチュートリアルを読む
組み込み向けのWindows OS 『Windows Embedded』
Mask R-CNN:ディープラーニングによる一般物体検出・Instance Segmentatio...
オープンソースのロボットアプリケーションフレームワーク『ROS (Robot Operating S...
畳み込みニューラルネットワーク (CNN:Convolutional Neural Network)
TensorFlowでCGを微分できる『TensorFlow Graphics』

コメント