3DCG屋さんの活動記録

PROFILE ★★こんな人です

3DCGを活用した映像や没入体験コンテンツの制作をしています。テクノロジーの社会実装に興味があり。テクニカルディレクター。面白いこと新しいことにワクワクする気持ちに『素直』でいつづける。

2020年6月10日水曜日

Python3をWindowsに入れて、PythonPath追加。


なんか・・・・Python3が変なフォルダ(Cの深く)にあったので

クリーンインストールすることにしたのでそのメモ。


まず、既存のPythonをアンインストール。
→プログラムの追加と削除から、Python2 Python3を削除


次に、公式からPython3をDL。


DLしたexeファイルをダブルクリックで実行。
最初の画面で、Add Python Path をオンにしたほうが良い。
【注意!】
ここで、何も考えず進めたら・・・また深くにインストールされてしまったので、

最初の画面で、CustomInstall を選択して



以上。




さらに、batファイルなど、コマンドプロンプトでPython実行するときに
PythonPathも設定しておくと便利。
都度、一時的にPath通すのがうまくいかなかったので、
恒久的になっちゃうけど環境変数に追加します。

環境変数/ 新規で

PYTHONPATH = <任意のフォルダパス>

参考サイト:







Mayaで出たRedshiftのエラー?


今回遭遇したエラー


// Warning: file: C:/Program Files/Autodesk/Maya2018/scripts/others/supportRenderers.mel line 67: The renderer "redshift" used by this scene, is not currently available. The "mayaSoftware" renderer will be used instead. To prevent this message from being displayed in the future, set the option variable: MAYA_NO_WARNING_FOR_MISSING_DEFAULT_RENDERER=1


Redshiftのプラグインを再度インストールしたら、消えました。
よかった。

2020年6月9日火曜日

QtDesignerの始め方


Windowsの場合

コマンドプロンプト起動(Windowボタン→「cmd」と入力して実行)

pip install pySide2

を実行。

インストール後、以下フォルダに「designer.exe」があるのでそれを実行。

例1:C:\python\Python37\Lib\site-packages\PySide2

例2:C:\Users\Taro\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\PySide2

以上
ーーーーーーーーーーーーーーーーーーーーーーー


ついでに、AtomでのPython開発環境について

Atomインストール

atom-runnerをインストール

File/Setting/Install     atom-runnerで検索して、install

あとは、Pythonのコードを下記ながら「Alt + R」で実行される!

複数のMayaファイルをドラッグアンドドロップするだけで、バッチレンダー用Batを作成するPythonツール


この記事は、より新しい記事で内容が更新されています。(2020.6.13)
-------------------------------------------------------------------------


Pythonツール。
ファイルをドラッグして、リストに追加。

ほぼできた!





<開発メモ>

Qt DesignerでGUI作成。
Python(Pyside2)で内部作成。


・QListWidgetに
Item追加
Item削除
ドラッグアンドドロップで順番入れ替え

・QActionで
ボタン押したらアセットのPrefix追加

・ボタン押したらテキスト(バッチ)ファイル作成
ファイルが既存ならメッセージボックス表示

・用途は
複数のMayaファイルをバッチレンダーしたいとき
batファイルを書くのが億劫だったので作成。


今後は、NukeやUE4のバッチ処理にも応用したい。


実行ファイルにして(exeにして)今後アップ予定。


ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
参考サイト

2020年5月11日月曜日

Mac用のApp作成でエラーチェック方法



今回は Pythonをappに変換した時のメモ。

使ったのは py2app。

ちなみに、setup.pyの作成は
ターミナルで以下を実行

py2applet --make-setup pycopyQt_v5.5.py


Pyside2の追加もあるので、カスタムを使う
カスタムは、includeに Pyside2 を追加。

で、ここからがエラー対処。

作成されたappを実行しても起動しない!?


➡︎ Consoleを使ったトラブル探し

まず、Console起動。
検索でキーワード入力「アプリ名」
再度、アプリ名をダブルクリックして実行。
Consoleを確認する。

以上

2020年5月8日金曜日

ファイルを親の階層ごとコピーするツール (完成への道)その5


GUIにドラッグ&ドロップを使いたい!

ということで

GUIを tkinter から wxPython に変更してみた。


wxPythonとは?
https://techacademy.jp/magazine/28276


ドラッグ&ドロップのサンプル
https://qiita.com/hiroyuki827/items/adefe9cce8e1e1c8f113

シンプルサンプル
https://www.python-izm.com/gui/wxpython/wxpython_frame/

グリッド状にレイアウト
https://maku77.github.io/python/wxpython/layout.html


が、Sampleがうまくいかない。

no module wx

って出る。。断念。


------------------------------------------------------------
あと、せっかく tkinter でGUI作るのにいろいろ勉強したのに
また wxpython でGUIの勉強するの大変。。。

ということで、Qt使おう!


pyside2 (+Qtデザイナー)でやろう
ドラッグアンドドロップ
https://doc.qt.io/qtforpython/overviews/dnd.html



Qtデザイナー+pyside2 の参考サイト
https://note.com/junf/n/n213ad44999b0
https://fereria.github.io/reincarnation_tech/11_PySide/01_PySide_Basic/00_Tutorial/02_create_designer/

----------------
---------------
---------------

Pyside2使ってできた!!!




Windows用exe → こちら
pythonコード(メインとGUIファイル) → こちら

大変だった〜
・tkinterを QtDesigner+Pyside2 に置き換える(テキストボックスとスピンボックス)
・QtDesignerの.ui使用時のカスタムウィジット( LineEdit)反映
・ファイルとフォルダをドロップしてパス入力


ちなみに
・Windowsでの py→exe変換は py2exe
・Macでの py→app変換は py2app


ちなみにちなみに、そのままではうまくいかなかったエラーもメモ
Windowsで py2exe で QUiLoaderが使えないエラー
  ➡︎QtDesignerの.uiファイルが使えないので、.pyに変換したら解決!
Macで py2app で作成された app が起動できないエラー
  ➡︎setup.py にPyside2のincludeを追加してもダメ・・
  ➡︎py2app、shiboken2、numpy いずれかの不具合でダメ・・・
  ➡︎というわけで次の方法でapp化
   (1)エイリアスでビルド ( "python3 setup.py <python名> -A" )
         (2)使用するMacにPython3をインストール
         (3)ターミナルで "pip3 install PySide2" でPySide2をインストール
         (4)Applicationフォルダに pycopyQt.app を入れる
        以上。


参考サイト
⬛️サブクラス カスタムウィジット使うとエラー ★

ドラッグ&ドロップ ファイル名取得 の有効策

⬛️小ネタ:QtDesignerの.ui読み込んだ時にサイズが小さいままのエラー


-----------------------
過去の記事





2020年5月3日日曜日

Python コンストラクタ クラス インスタンス についてのお勉強


ーーーーーーーーーーーーーーーーーーー
PYthon勉強

Qt for Python(pyside2)でGUI本格的にやろうってことで
「class」 「 __init__」 を無視できなくなったきた。。

クラスって、、なんだ?

def(関数)でだましだましやってきましたが
さすがにこの2つ理解せんと!

ということで以下のサイトを3つ読んだ。


。。。完全理解!
なんだこれは

今まで、全然わからなかったのに
スーッと理解できた。
地道に日々Pyhtonでスクリプト作ってるからかな(涙)



コンストラクタ

クラスと関数の違い(超初心者)

⬇️
インスタンスとコンストラクタについて

以上!
コンストラクタ、インスタンス、クラスについて理解!
合わせて、関数も理解深まった。


いやぁ、スクール通ったほうがいいのかな?笑
さすがに独学だと歩みが遅い気がする。