Croquet に関するメモ
Croquet を 使う機会/使える機械が増えてきたので、気付いたこと/調べて分かったことをメモしておきます。スクリプトなんかも書いてしまっていますが、Smalltalk ってのはそういう世界(お絵描きを楽しむビギナーからカリスマ的ベテランプログラマまでがそれぞれの興味でシームレスに 混在できる/して楽しめる/しないと盛り上がらないコミュニティ)なので意味不明のところは適宜読み飛ばしてください。もちろん興味を持てそうなことで分からないことがあればもうすこしかみ砕いて説明します。遠慮なくどうぞ。
質問など、あれば
- 2004-02-13, 04:23:08
いえ。なんらかの理由でマイナスがクエスチョンマークに置き換わって(あるいは故意に置き換えられて)しまったようです。修正しておきました。--sumim - 2003-08-28, 23:55:29
このページの第85版の変更、窓の「-」が「?」に変わったというのは、本当でしょうか。469までのバージョンでは確認できなかったのですが。--abee - 2003-08-28, 23:43:11
書き込みテスト。--sumim - 2002-11-20, 11:08:30
セットアップ
起動
- TeapotMorph startFullScreen を do-it 。
(左上の Workspace の当該文字列に挿入ポインタを置くか全文選択状態で alt/cmd-d )。もしくは、
- 左下の Morph Catalog から Teapot をデスクトップにドラッグ&ドロップ
前者はメッセージ名から分かるように、morph を画面いっぱいに広げ、かつ、フルスクリーンモードで機能する。起動には時間がかかる。ハングアップしたかな…と思ってもひたすら我慢。 10分待っても何も出てこなかった…というのは本物のハングだったのでしょうか。--藤井 マシンパワーにもよりますが、10 分もかからないと思います。あと、いろいろなリソースをダウンロードしているようなので通信速度にも依存するかと。いずれにせよ、ハードディスクのアクセスはあるようなので耳をすませば分かります。---sumim Tea Test Morph は、基本的なパーツのみを表示して動作をチェックするための文字通り「テスト用」らしい。ただ、起動にはやはり時間がかかるので走るか走らないか分からない状態ならぶっつけ本物で試したほうがよい。
Mac では前者はハングアップする場合があるので、はじめから後者で走らせるほうが無難。後者でも、無事起動を確認してから、ScreenController new fullScreenOn.
TeapotMorph someInstance extent: Display extent; position: 0@0
をここからコピペして入力したのち選択し、do-it することでフルスクリーンモードと同じことができる。ただ、一部のマシンではディスプレイの解像度を落とさないと(800x600 程度?)パフォーマンス不足で画面の反応がついてこなかったり、そもそも動作しないことがあるので注意。
起動しません(^^;PBG4(500)のOS X 10.2.2です.アプリケーションの中にCroquetと言うフォルダを用意して環境を作ってみました.Croquet /Croquet0.01.imageをCroquet /squeak3 Folder/Squeak 3.4.0Beta2にD&Dして起動させました.画面左下のTeapotをデスクトップにD&Dすると,Error: Callout mechanism not availableと言うウィンドウが表示されてしまいます.ウィンドウの上4行はこれらのメッセージを表示しています.ExternalFunction class(Object)>>error:
EsternalFunction class>>externalCallFailed
GLMaxOSX(Object)>>externalCallFailed
GLXMacOSX>>glGenLists:
Proceedのボタンを押すと同じ事の繰り返し,Abondonを押しています.Debugは押していません.--人狼 それだとダメです。VM と .image と .bundle はすべて同じ階層に入れてください。--鷲見 了解しました.VMをフォルダに入れっ放しにしたのがダメだったのですね.有り難うございます.--人狼
無事起動したときの注意
URL 入力を促すダイアログボックスが表示されるが、これはキャンセルする。たしかその後もが待たされるはず。 Teapot をドラッグ&ドロップだと小さい画面がすぐ出ました。しかし、Connect のウィンドウが動かない&消えない。--藤井
基本操作
空間内では、右クリックで移動、左クリックで物体の操作やハロー(後述)による指示ができる。
移動
移動はマウスの右ボタンで行なう(ホイールボタン付きで都合、3ボタンの場合はホイールボタンかも。未確認)。右ボタンを押し下げた状態で、マウスポインタを画面上方に移動すると前進、下方だと後退、右は右旋回、左は左旋回となる。マウスポインタが中心から離れるほど変化量が大きくなる。
窓枠状のものを以外、といってもデフォでは時計と正四面体しかないが、これらとの間には接触判定がなされているので、ぶつかったり乗り上げたりする。重力らしきものはある程度働いているらしい。ただ、床の範囲を超えて移動したときに、端で落ちたりはしない。
視線移動
shfit キーを押しながら移動時と同様の操作(右ボタンで画面上方、下方へのポインタの移動)を行なうと、視線を上下に移動、つまり見上げたり下を見たりができる。マウスボタンを放すと視線は元に戻る。
窓枠状のものの使い方
別の空間への出入り口、もしくは平面情報の表示パネルとなる。マウスポインタを合わせるとハロー(聖者の後光/光輪風に配置される機能ボタン)が表示される。右端の[+]ボタンをクリックすると、中の様子を覗くことができる。このとき[+]ボタンは[−]に置き換わる。この[−]ボタンをクリックすることで元の画面(写真など)に戻すことができる。[+]を押して“開いた”状態にすると処理に負荷がかかるので必要がなければ閉じておく。ちなみに、ハローの操作はその窓枠状のものの目前に移動しなくても、途中に邪魔する物体がなければかなり離れた場所からでも操作できる。
[↓]ボタンを押すと窓枠状のものの目前に移動することができる。窓枠状のものの“コンテンツ”が Squeak プロジェクトのような平面なら、その操作画面と変わらない印象の画面になる(ただし、窓枠状のものの縦横比が画面のそれと一致していない場合は枠も表示されるため、こうした印象は薄れる)。コンテンツが空間の場合はそのまま前進(右クリックで画面上方へポインタ移動)すれば、その空間に突入できる。後退すれば、窓枠状のものが視線から離れるだけでなにも起こらない。
窓枠状のものは、その位置や向き、縦横比や大きさを変えられる。枠の上中央付近を左ボタンでクリックしてドラッグすると上下左右への移動、下中央だと前後左右への移動。左右中央だと回転(勢いを付けて離すとそのまま回転し続ける)。四隅をドラッグすると縦横比や大きさの変更となる。高さは、shift ドラッグでも変えられる。重力や衝突判定は行なわれず、空中に固定/別のオブジェクトへ食い込んだ状態で表示される。
ドック
マウスポインタを画面下端に移動するとアイコン状のボタンが列挙される。ここから各種機能を利用したり、オブジェクトを呼び出すことが可能。階層状になっているので、機能を直に呼び出すためのボタンに行き着くまでは何度かクリックしなければならない。階層を戻るには、左端に表示される“リターン矢印”ボタンをクリックする。最後の機能ボタンに行き着いたかどうかは分かりづらい。クリックで機能するものもあれば、ディスクトップへのドラッグ&ドロップのものもある。
お遊び
- ドックの TPaint を使って絵を描くと、それっぽく立体化してくれる(Teddy とは違うけど、っぽい)。
- 窓枠状のものを使って空間を移動した後、[−]ハローボタンで後ろ手に閉めてしまうと、後続は同じ操作で空間に移動できなくなる。出口を閉じられた窓枠状のものは、ガラス的(ミラー的にあらず)表示になり、それまであった空間へ移動するために通り抜けようとしてもすり抜けるだけでなにも起こらない。?マークの像がある部屋とエスカレータの部屋で実験できる。
- すべてではないが、大抵のオブジェクトにはぶつかると乗り上げるかたちで上に登ることができる。壊れた水道橋の上にも鮫の上にも乗っかれる。ファンを踏み台にしてパソコンの上にも乗っかれる。鮫に乗ると、鮫の回転に合わせて視線が移動する。鮫を移動させると一緒に移動するかも…(黄スクリプトを書いてテストしてみよっと)。
- 起動画面の正四面体は、クリックして数字キーをタイプすると様相が変化する。
- 窓枠状のものに収められたプロジェクト画面は、遠く離れた場所からでも操作できる。
とりあえずの注意
- Andreas Raab の部屋の鮫をクリックしてはいけない。ノーティファイアがでてしばらく制御が戻らなくなる。 まっしぐらに鮫に会いに行きました。闇雲にクリックしましたが無視されました。しばらくたつと「Abandon」「Debug」などのボタンがついたウィンドウが 2 種類出てきました。あれはテスト(examination)だったのかな?と今になって思います。--藤井 「しばらくたつ」まで、実は操作ができなくなっています。再び試していないのでわかりませんが、くだんのウインドウを閉じてしまえば問題はないかも。--sumim
- 空間に移動した後、移動に使った出入り口を含む窓枠状のものを削除してしまうと元の空間に戻れなくなる。
- 空間に移動するための窓枠状のもの以外ではカメラボタン(スナップショットを撮る)は機能しない。ちなむと、スナップショットはドックの Snapshots ホルダに蓄積されます。撮れても撮れなくても(ゎ)ノンリアクションなので注意。
不明であったが解決した/未だに不明なことがら
空間を左クリックしたときに現れるメニュー状のものは何か?
マウスポインタによる操作を無視するオブジェクト(時計など)を自在に動かすことは可能か?
バニーなどのように簡単にウインドウ(とりあえずはチェスのようなもの)も出すことができるのか?
ドックへのプロジェクトの追加は簡単にできるか?
- 自動的に行われる。よってプロジェクトのウインドウを作ることは、前述のようなスクリプトをわざわざ記述しなくとも、ドックからのドラッグ&ドロップで簡単にできる。
stop script というのがあるが、start script で単発用に記述した黄スクリプトを起動してよいのか?
- とりあえず上の例ではループに陥ってしまっている様子はない。
- #startScript:in: の下流の #startScript: コメントによると "If no trigger is given, the script is evaluated exactly once" とのこと。現状では実行は一回きりで、stop script が必要とされることはないと思われる。
簡単にポータルウインドウを作ることができるか?
- とりあえず考えられる手順。
- つなげたい空間それぞれにミラー(デフォのポータル)を作る。
- どちらかのポータルにもう一方を #linkPortal: する。
プロジェクトウインドウのデフォサイズ、縦横比を呼び出し時に自由に変更する方法。
- いったん呼び出されたあとは固定なのはしょうがないとして…。
簡単に空間を作ることができるのか?
- できそう。最低、床をテクスチャで用意すればそれっぽいものが…。
他のユーザとの空間の共有は簡単にできるのか?
気付いたこと
- これでホログラムと気の利いたポインティングデバイス(ウエア)があれば…と、妄想モード。
- 逆に低解像度デバイスを従来 UI で使うときの福音になる…かも。
終了
画面の青ボタンクリック(Mac は cmd-クリック、2ボタンマウスはalt-クリック、ホイールマウスは右クリック…と説明するのが面倒なので Smalltalk では赤ボタン、黄ボタン、青ボタンと呼ぶようになったわけですゎ)で Morphic のハローを表示させ、×ボタンで TeapotMorph を閉じる。ちょっとタイムラグがあってから制御が戻ってくるので、改めて、デスクトップメニューから quit を選択。(save するか尋ねられるので no )。>藤井さん 丁寧な解説をありがとうございました。よくわからないままおサル状態でクリックしてグルグル回ってペンキぶちまけてムチャクチャでした。次回は基本操作をよく読んでから茶壷に飛び込もうと思います。せっかく鷲見さんがサルにもわかるように解説してくれたので…--藤井 いや。最近書き足されたものを見るとわかるように、このページはかなりマニアックなメモです(^_^;)。Croquet のほうは、まあ、適当にいじって遊んでみる…程度に考えておいてください。で、結局、おバイオ様ではとりあえず Tea Test Morph だけは動いたのですね?--sumim
このページを編集 (13364 bytes)
|
以下の 1 ページから参照されています。 |
- Croquet 最終更新: 2016-12-28, 14:51:30 <phara2>
This page has been visited 10749 times.