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

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

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

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Unity

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

1回答

2473閲覧

pythonを使用したunityアプリをAndroid上で使えるようにするには?

kohehe

総合スコア13

C#

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Unity

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

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/07/24 03:15

前提・実現したいこと

unityで、pythonファイルを使用したprojectを製作中です。
実機デバイスで動かそうとしたら、pythonファイルが反映されていませんでした。

  private string pyExePath = @"C:\Users\81909\AppData\Local\Programs\Python\Python37\python.exe"; //実行したいスクリプトがある場所 private string pyCodePath = @"C:\Users\81909\Desktop\MeCab\MeCabPython\MeCab_unity.py"; private string txtOtameshi = @"C:\Users\81909\Desktop\MeCab\MeCab_text\otameshimemo.txt"; public List<string> arrtext = new List<string>(); //public TextCreate txtcre; public GameObject txtcre; // Start is called before the first frame update private void Start() { StreamReader sr = new StreamReader(txtOtameshi, Encoding.GetEncoding("shift_jis")); string texter = sr.ReadToEnd(); sr.Close(); //print(texter); //外部プロセス設定 ProcessStartInfo proStaInfo = new ProcessStartInfo() { //実行するpythonファイル FileName = pyExePath, //WorkingDirectory = @cd, //シェルを使うかどうか UseShellExecute = false, //ウィンドゥを開くかどうか CreateNoWindow = true, //テキスト出力をStandardOutputストリームに書き込むかどうか RedirectStandardOutput = true, //実行スクリプト 引数(複数可能) //この引数は、実際のテキストである事を想定する。 Arguments = pyCodePath + " " + texter, //エンコード StandardOutputEncoding = Encoding.GetEncoding("shift_jis") //←追加 };

試したこと

なのでそのpythonファイルとpython.exeをunityのproject内に入れてやるといけると思うのですが、動いてくれませんでした。

  private string pyExePath = @".\Assets\python.exe"; //実行したいスクリプトがある場所 private string pyCodePath = @".\Assets\MeCab_unity.py"; private string txtOtameshi = @".\Assets\otameshimemo.txt";

てな感じでパスを設定しました(動かなかった奴)

発生している問題・エラーメッセージ

Win32Exception: ApplicationName='.\Assets\MeCabPython\python.exe', CommandLine='.\Assets\MeCabPython\MeCab_unity.py 引数 ', CurrentDirectory='', Native error= %1 は有効な Win32 アプリケーションではありません。

補足情報(FW/ツールのバージョンなど)

unity20194.4f1
visualstudio2017

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

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

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

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

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

guest

回答1

0

それは動かないですよ。Python 用の Unity とは別のアプリケーションを Unity で作ったアプリと別の所で動かしていたものを Android に持っていっても、それは Android 上では動きません。

Unity から Python を呼び出す時は ironpython を使うのが定番ですが、それも Windows と Mac しかサポートされてません。

Android/iOS で Unity から Python を呼び出すことはできないと思っておいたほうがよいです。不可能ではないのでしょうがやり方を教えられるほど簡単なものではないし、こうやればいいよというやり方がどこかに載ってたりはしません。

投稿2020/07/24 03:37

bboydaisuke

総合スコア5291

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

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

kohehe

2020/07/25 23:39

マジですか、他の方法を考えています。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問