Blender GUI Provider - Now v2

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています

投稿ツリー



前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 | 投稿日時 2008/11/9 23:58
Hans  常連   投稿数: 52
(最新v2はこちら)

最近、Blender pythonでテストコードを書いてみたんですが、GUIをそれにつけようと思うと結構コードを書かないといけなかったので、テストの場合でもGUIをもっと簡単に付けられないかと思って、使いまわせるようにGUI用のクラスを作ってみました。

.blend ファイル:
BlenderGUIProvider-v1-Tester

どんなコード?

クラスのコードをどこかに貼り付けて、図の中の、緑の四角の部分のコードを変えるだけで、GUIが作れます。
初期値を指定する部分「OnDrawFirst」と配置の部分「OnRedraw」は必須で、必要に応じていろいろイベントを追加します。
「OnRedraw」のコードの詳細はBlenderのヘルプがあります。

実際に、このコードを実行してみると、トグルとボタンが現れます。ボタンを押すと終了できます。


コードの全部は.blend ファイルBlenderGUIProvider-v1-Testerの中にあります。

たぶん、もっとちゃんとしたテンプレートは世の中あると思うのですが、このコードもまあまあ簡略化したつもりです もっといいものご存知でしたら、ぜひシェアしてください。

これをベースにして、Javaや.NetのUIを作るコードに似た仕組みも、作ってみたら面白いかなあと思っているところです... pythonの勉強になりますね、たぶん
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008/11/10 0:46
uimac  常連   投稿数: 49
うはー、これは便利ですね!
ありがたく使わさせていただきます。
コードも非常に分かり易くて勉強になりました
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008/11/10 8:26
まんだ  長老 居住地: むかしは本州の西端  投稿数: 570
おはようございます。

BlenderpythonでGUI使うのって結構準備が面倒、ということもあって、なかなか情報が出てきにくいんで、こういった情報はどんどん出てくるとありがたいですね。

で、目的にもよるとは思いますが、最初にパラメータ渡してポン、という使い方だと"Blender.Draw.PupBlock"が使えそうです。自身はそれほど凝ったことをしないので、こちらを使ってます。

Custom objects in Blender with Python

てきとーbpy 第10回:Draw.PupBlockに簡単に紹介してます。

投票数:7 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008/11/10 19:39
Hans  常連   投稿数: 52
>uimac さん
ありがとうございます。

>まんだ さん
なるほど。なるほど。確かにテスト用だったらPupBlockで十分な気がしてきました。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008/11/11 20:09
Hans  常連   投稿数: 52
>これをベースにして、Javaや.NetのUIを作るコードに似た仕組みも、作ってみたら面白いかなあと思っているところです...

すでにありました。
http://blenderartists.org/forum/showthread.php?t=133134
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2008/11/16 23:26
Hans  常連   投稿数: 52
前回のものをベースに、コントロールオブジェクトを配置する感じのコードで書けるように、新しくクラスを作ってみました。

これを使って、今テスト中の別のコードを操作するUI部分を作りました。その部分だけを取り出したものです。


ソース.blendファイル:
1-BlenderGUIProvider-v2-Pub081116

見方は、.blendファイルをダウンロードして、Blenderで開くだけで、左側にコード、右側に実行中のGUI結果が表示されます。

ソースpyファイル:
1-BlenderGUIProvider-v2-Pub081116

使い方は、pyファイル内のMain関数より上のコードはそのまま、Main関数の中を変えます。

ですが...テスト用に使ってみると、思ったより使い易くないかも。HTMLのTableとDivのような感じでUIが作れるといいのかもしれません。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2008/11/22 12:34
Hans  常連   投稿数: 52
ウェブをサーチしてみました。しっかり見てませんが、充実してるものが沢山ありましたので、前回のものも含めて報告します。間違っていたら指摘してください。

my GUI library (Java.AWT/Swing-like)
created by kroni, last posted on 16-Aug-08, version unknown, screenshot1-2, download, thread
GUIを簡単に作成できるクラスライブラリです。JavaのUIを書くような感覚でコードが書けて、クラスやメソッドの名前も分かりやすく感じます。イベントの使い方もJavaと似せてあり、取り組みやすそうです。Layout Managersにあるクラスでリストやテーブルのような配置ができるので、配置の座標計算をしなくてもいいです。

ScriptUI: simpler UI elements
created by panzi, last posted on 18-Feb-06, version 0.6.3a, screenshot, document, download, thread
GUIを簡単に作成できるクラスライブラリです。screenshotを見るとスクロールできるテキストボックス?があります。他にもクラスが豊富にあり、ドキュメントもあります。WidgetListなどでリストのように配置もできるようです。

OpenSource Blender-Python GUI Designer *updated aug. 2, 2004
created by RipSting, last posted on 03-Aug-04, version 1.3, screenshot1-2, download, thread
GUIをマウスで視覚的に作成する.Netアプリケーションです。Visual BasicのFormを作る感覚でGUIが作成でき、コードを書かずに済みます。ビルドでpythonコードを一度生成して、その生成したpythonコードを実行してGUIを表示します。

my strange object UI creator
created by ideasman42, last posted on 16-Feb-07, version unknown, screenshot, download, thread
Blenderの3D View上でUIに見立てたMeshを動かして、UIの配置を決めます。pythonコードを実行してUI用のpythonコードを一度生成、その後生成したpythonコードを実行してGUIが表示されます。

Blender Python User Interface API
created by stuv, last posted on 01-May-08, version unknown, video, not downloadable, thread
移動ができるパネル? or タブ?。その上にボタンなどを配置できるのだと思います。ソースファイルがなくて詳細が分かりませんが、Videoを見るとBlender自体にあるパネルと同じことが出来そうです。

BPyBrowser.py - UI browser tool - preview
created by migius, last posted on 09-Feb-08, version 1.13, screenshot1-2, download, thread
高級なリストのようなUIの要素です。アイコンが付けられたり、スクロールできたり、並び替えできたり、高機能です。スレッドには高級なイメージリストもあります。

Gui_Creator v2.5 released here!
created by The_Nerd, last posted on 15-Feb-07, version 2.5, no screenshot, not downloadable, thread
どんなものか分かりませんが、Blender.orgのScripts/Catalogにもページがありました。
投票数:18 平均点:10.00

  条件検索へ


ログイン

ユーザ名:

パスワード:



パスワード紛失

クイックリンク

2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org

●Blender Q&A
- Blender Stack Exchange

●テストビルド
Buildbot(自動生成)


●開発関連
公式開発サイト
Blender開発blog
Blender Wiki