Wings3D Misc Memo

Wings3D関係のメモを載せています。

閲覧補助機能: bookmark[+]で現在の表示位置をいくつか記憶できます。また[-]で新しいものから削除できます。
最小化:左にある目次メニューがスクロールの邪魔になるなら、本文上をどこでもいいので「ダブルクリック」すると最小化/復帰させることができます。


はじめに

Wings3dって何ですか? 簡単な概要 何から始めれば良い? 3Dマニュピレータ(ギズモ/ウイジット)はありません
たいていの3Dソフトにはユーザーが情報を把握する表示や、操作の補助オブジェクトとして、ウィジット(ギズモ/ガジェットとも呼ばれる)があります。
しかしWings3Dにはそれがありません。(一応、Wings3D補助表示はあります。例えば法線や移動方向を表すベクトルの矢印、光源の照射範囲等です)。

良い点 問題点と改善 そのほか 他3Dソフトを使っている方へ
残念ながらWings3Dには、3Dペイント、画像合成、ボーンやアニメーション機能はありません。(スカルプト機能はあります)
他の3Dソフトの補助として使うのがよいでしょう。もしプログラムができる人なら、こらら機能をプラグインを作って実現してもいいかもしれません。

過去バージョンとの互換性について

日本語環境でファイルを扱うときの注意
基本的にファイル名は英小文字,数字,記号から構成される名前でお願いします。
Wings3dは日本語名のフォルダ/ファイル名の読込/保存には完全対応していません。

各OSでWings3Dを利用する場合の注意
※強制的に「日本語名.wings」で保存したら読込めるか実験してみた所、Wings3dのFileメニューの「最近開いたファイル項目」からは読込み可能でした。しかし実際保存されたファイル名は文字化けしており、File>Openからは開きません。(WinXP,Win7,OSXで確認)、文字化けしたファイルは英数字のファイル名変更しなおすと再び読めるようになります。

Wings3D 関連の情報

このメモを書くにあたり参考にした記事です。

対応ファイル形式

Wings3Dで作成保存された、ファイル拡張子は「.wings」になります。他の形式に関する詳細はこちらへ
対応ファイル形式
CartoonEdgeというのはepsデータのことです。Adobe IllustatorやInkscape などのベクトル編集ソフトで、線画としての2Dレンダリング結果を活用することができます。


フリーの外部レンダラーについて:
コンパイルせずに使えるGUIありの外部レンダラーについて(2013年現在)。Windows環境ではたいてい動くと思うので説明は省きます。
MacOSX10.8現在ではPovRay,Mitsuba,Kerkythea の順で導入しやすいと思います。
Wings3Dデフォルトで連係可能なのは Pov-Ray,Kerkytheaです。
Yafarayレンダラーについて
Wings3DからYafaray用にファイルを出力するプラグインは存在します。しかしBlenderに統合されたのか現在Yafarayのスタンドアロン版はどこにあるのか不明。

Pov-Rayレンダラーについて
Mac用Pov-Ray3.7Unofficialを起動するとPreferenceウインドウが開くので、Pov-Ray付属のincludeファイルのファイルパスを指定しておきます。
また、Wings3からPov-Rayに出力する場合の注意。テクスチャを反映させたい場合、Wings3Dでテクスチャのマテリアル編集画面を開きPov-Ray Options>Texure>Pigment:から、 Pattern:Image にして、 "diffuse" を選択します。あとはWings3Dから Export。Pov-Ray側で光源関係のobjectがないというエラーがでたらPovファイルのソースのその箇所を削除

Mitsubaレンダラーについて
Wing3DからMitsubaへ直接レンダリングはできません。
Wings3dでテクスチャとUVを作成したデータをobj形式(おすすめ)または dae形式で保存しておき、それをMitsuba側でimportする事で可能。(Mitsubav0.5.0) 
(誰かがMitsuba用設定xmlファイルを書き出せるようにWings3D用プラグインを書けば柔軟なレンダリング指定をMitsubaへ設定することもできるかも。)
レンダリングおよび簡易プレビューはMitsubaのGUIウインドウへ先ほど生成されたxmlファイルをドラッグすることで可能です。 
AdjustPreviewアイコンでプレビュー設定、Tweakアイコンでレンダリングやサンプリングを設定し、Renderボタンを押すと実際のレンダリングが行われます。
Mituba公式PDFドキュメント(英語)はグラフや写真が豊富で充実しています。特にTweakボタン画面でどの方式でレンダリングしたらいいかは ドキュメントのPage144〜190 が役立ちます。概要や設定可能なパラメータについて写真付きで説明されているので、英文や専門用語を差し引いても一度目を通しておくとよいでしょう。


Aqsisレンダラー,Pixieレンダラー
Wings3DのManifoldlabプラグイン集には、Renderman(.rib)形式で出力するプラグインが収録されています。フリーのRenderman互換レンダラーとして、Aqsis(GUIあり),Pixie(GUIなし)が知られています。Aqsis,Pixieをそれぞれ動作させるには、インストール(※)後にターミナル上でAqsis,PixieがインストールされたFilePathをExportしておくか、環境設定ファイル.profile に設定しておく必要があります。しかしWings3DからExportしたribファイルを読み込ませた実験ではどちらもエラーが出て失敗しました。 (※Pixieは /ライブラリ/Pixie にインストールされます。また動作にはX11が必要です。)

テクスチャ画像形式と構造

読込んだテクスチャはどうなるのか?

プラグインのインストール方法

プラグインは、Wings3dで読み書き可能なファイル形式を増やしたり機能を拡張するプログラムのことです。
インストールだけならプログラミングの知識がなくてもOK>Wings3dのプラグイン詳細について
(インストールされたプラグインはOSによって以下の場所へ保存されています) もしErlang言語の知識があれば自分でプラグインを作成することもできます。

制作フローチャート

ImagePlane(3面図下絵)を読込み
.
.
.
・外部の画像をテクスチャとして読込み、UV項目へ関連づける。
・または作成したテクスチャの イメージ項目から外部へ画像として書出す
.
これを他のグラフィックエディタで編集し保存
.
.
テクスチャを確認しつつ微調整
.
モデルデータを保存
その他
  • 読込:Marge は別のwingsファイルの内容を追加読込み
  • 保存:SaveIncremental出保存するたびに(現在開いてる)ファイル名+連番で保存されます。
  • 保存:Save Unused Material にチェックを入れておくと、未使用マテリアルも一緒に保存します。
  • 変形コマンドはコンテキストメニューから選択します、コンテキストニューを出すには、右クリック(3ボタン)を押します。
    各コマンドの詳細→Geometry-window Commands   | AutoUV-window Commands]
  • プレビューの種類も選べます。 デフォルトは Hemisphereical Lightingです。
 オブジェクト移動の基本は、選択後に、コンテキストメニューでMoveを選び、さらに移動方向(Normal,Free, X,Y,Z)、を決めてから、マウスドラッグで移動します。シフトキーを押しながらだと移動量の幅がさらに大きくなります。
MoveのFreeはスクリーンに対して移動するので、ジオメトリウインドウを3つ開いて3面図でモデリングする時に、役立ちます。
右ボタン+マウスドラッグで効果をうまく増減させるコツは、左右方向へドラッグすることです。しかし増減量が微量なので、オブジェクトを遠くに移動する場合は大変です。 このような時はシフトキーと組み合わせることで変化量を増やすことができます。
  • Ctrl + cmd(alt) + Z : アンドゥ
  • Ctrl + Shift + Z :リドゥ
  • ペーストで複製できない代わりに…
    Wings3Dでは、コピーペーストでモデルを複製することはできませんが、絶対座標移動や、アウトライナーや右クリックメニューコマンドの複製コマンドを利用することで、オブジェクトを複製できます。

    はじめてのWings3d

    起動直後

    Wings3Dを起動すると、ウインドウがいくつか表示されます。
    デフォルトでは1ウインドウですが、メニューバーから Window>New Geometry window、でGeometryウインドウを複数広げれば3面図レイアウトも可能



    ホットキー[X]/[Y]/[Z]を使えば、X/Y/Z軸からそれぞれ見た視点で表示を切替できます。
    Geometryウインドウ:ジオメトリウインドウ、モデリングの作業を行ないます。中心にはX(赤)Y(緑)Z(青)軸方向を示すガイドがあります。
    GeomertyGraph:ジオメトリグラフ、現在Geometryウインドウ内にある全オブジェクトをリストしたものです。特定オブジェクトをワイヤフレーム表示にしたり、非表示にしたり、編集不可に切替できます。
    Outliner:アウトライナー、オブジェクトのマテリアルやテクスチャを管理します。外部から画像ファイルを読込むと、ここに追加されます。
    Palette:パレット、頂点や辺、面に好きな色を付けられます。
    18 faces selected(18枚の面が選択されています)現在の状態に関する情報が表示されています
    Information Line情報表示行。この部分には、今時点でやれる事とそのやり方が書かれています。
    Geomerty:ジオメトリとは「幾何学的形状」という意味で、Wings3Dではメインの3Dデータの内容を表示するウインドウとして使われています

    ウインドウのレイアウトと、カスタマイズ
    Wings3D内の各ウインドウのタイトルバーについて(バーに触れたときに情報行にも、説明が表示されます) 複製した新しいジオメトリ#2 ウインドウや、その他のパレットウインドウの位置や大きさは、 開いたファイルに限らず次回起動時にも引き継がれます。

    ツールバーを隠してスッキリ
    Wings3D内の各ジオメトリウインドウのタイトルバーについて

    情報表示行を活用しよう

     Wings3Dを学ぼうとする人で、なにをしたらいいか分からなければ、
    ウインドウの一番下にあるInformation Line(情報表示行)この行をまずチェックしてみるとよいでしょう

    普段は3つのマウスボタンとそれぞれの機能について、コマンドやボタンを選択中はToolTipといった役立つヒントを表示します

    起動直後に表示されるもの
    L : Select   M:Start camera  R: Show menu
    普段、Wings3Dのウインドウの一番下のInformation Line(情報行)にはこのように表示されています。
    ボタンの意味と、それに割り当てられた機能が書かれています。
    マウスボタンの意味
    を意味していて、それぞれ押したときの機能が表記されています。
    マウスが2ボタンの場合は表示が違い、中ボタンが Option+alt に割り当てられていたりします。

    ボタンに割り当てられた機能
    これらの機能については、それぞれ で詳しく説明します。 マウスのボタン数の設定、Preference(環境設定) >Camera タブで設定できます。
    3ボタンマウスの場合は Camera modeを Wings 、ボタンの数をThree を選択するとよいでしょう。
    2ボタンマウス設定は修飾キーを挟むため操作が少し複雑になります。

    また、一部の変形コマンドの実行にはパラメータ指定のためのステップを踏むものもあります。
    その場合、ユーザーに行動を促す意味を持つもの(Continue)もあります。


    具体例(複雑な例):
    これはあるコマンドを実行したときの情報行の内容です。
    L : Select Rod center   CTRL+ L: Continue

    意味:
    左クリックで任意の要素を選択した後、 CTRL+左クリックで次のステップへ移りなさいという意味です。コマンドに必要な指定が全て済めば、最後に L : EXECUTE で最終的な実行となります。

    他には、[CTRL]、[Alt]、[ShIft]や [F1][F2][1][2][3] キーが書かれていれば、そのホットキーを押したり組み合わせた場合の効果が説明されています。例:CTRL+L:CTRL&左クリック LL:2回左ボタンクリック

    Wings3Dは、「続ける/キャンセル」確認のポップアップダイアログ代わりに、情報行に意思表示のキー操作を表示してます。そのためキー操作に慣れれると、クリック&キー連打のコンボでスムーズな編集ができるかもしれません。

    領域選択のしかた

    初期状態の情報行の内容から、「L:select(領域選択)」について説明します:
    L : Select   M:Start camera  R: Show menu
    選択対象
    選択モードの種類は4つ、Wings3D では、左クリックで選択した要素(辺や面や頂点など)が、赤く染まります。
    対象(オブジェクト)の、どの要素に対して何がしたいかを明確にすると、キー操作がつかめます。
    • 頂点 選択モード(V)
    • 辺 選択モード(E)
    • 面選択モード(F)
    • オブジェクト全体(B) 選択モード
    • マルチセレクションモード:頂点、辺、面アイコンがまとめて白枠で囲われてる場合はいずれのモードからでも始められます。

    • プリミティブ作成モード,全体選択モードで未選択状態がそれです。右クリックメニューを開くと、基本立体を生成できます
    これらはホットキー V,E,F,B で素早く切替える事ができます。(CapsLockを無効にしておくこと)
    マルチセレクションモードでは、頂点、辺、面どれでも選択可能で、始めに選択した要素によって各モードへ切り替わります。(Wings3D1.4?以降)

    作成モードは、立方体や円柱などを新しく配置する時に使います。
    面選択モードでは面、頂点モードでは頂点しか選択できません。
    そして、選択領域(赤い部分)は加工や処理などが済んだり、
    モードを切替えても永続するという特徴をもっています。
    これらアイコンは、ツールバーという場所にあります。

    オブジェクトモード 頂点選択モードでは、エフェクト系のコマンドが多い

    頂点、面、辺などの選択/解除

    • 左クリック:領域選択
    • 既存の選択領域に対し左クリック:選択解除

    • 左ボタン&ドラッグ:ボックスが出現し、広範囲選択。
    • ↑ドラッグしたまま、CTRLキー押して、CTRLキー+左ボタンを同時に離す:広範囲選択解除。(DeSelect)
    • スペース:選択領域をリセット(全て選択解除)。
    • cmd+A : 全選択
    モデルの構成要素を 左クリックしていくだけで、どんどん選択領域へ追加可能です。
    特定の条件にあてはまる頂点や面を一括指定したい場合は、メニューバーの Selectメニュー にあるコマンドを使います。
    マウスドラッグによるDeSelectは、既存の選択範囲から、広範囲の領域を選択解除する方法です。ちょっと難しい
    また、アイコンバーの何もない部分をクリックしても、選択解除になります。
    改めて別の変形作業をしたい時は、不要な部分が選択されたままにならないよう、選択領域を一旦リセット(スペースキー押下)する習慣をつけると、余計な頂点まで移動させてしまう等の思わぬミスを防げます。 

    条件付き選択解除

    Wings3Dv1.4?以降では、Spaceキー押下による選択解除後には、必ずマルチセレクションモードになる仕様となっています。これは頂点/辺/面のいずれかを選択できるモードです。この仕様は続けてモデリングを行う場合は非常に便利です。しかし全体選択モードにおいては不便を感じることがありました。

    例えばあるオブジェクト同士の位置を調節していて、続けて別のオブジェクト単体を選択して動かしたい場合にマルチセレクションモードになると、いちいち全体選択モードに戻さないといけません。

    また、古いバージョンのWings3Dを使い慣れている方には、この仕様変更がいやだと感じている人もいるようです。
    参考:フォーラムのI don't like the new UI, what do I do?トピックにて、この設定を有効にする等して元の使い方に近づける方法が提示されています。

    Spaceキー押下後の状態は「Conditional Deselection(条件付き選択解除)」を有効にすることである程度使い勝手を変えられます。
    これはメニューより、Edit>Preferences...で現れる環境設定ウインドウ内のGeneral(一般)タブ内にあります。
    これを有効にすると、ユーザーはSpaceキーによる選択解除時における選択モードの状態を選ぶことができます。
    スペースキーを1回押しても選択モードはそのまま継続します。(古いWings3Dの仕様)
    スペースキーを2回連続で押す事で、マルチセレクションモードにもできます。

    カメラモード

    初期状態の情報行の内容から、「M:Start camera(カメラモード)」について説明します:
    L : Select   M:Start camera  R: Show menu
    カメラのツボ:
    これらを覚えれば、モデルを手に取るように眺めることができるようになります。
     
    カメラモードの環境設定 

    まずカメラ(視点)操作方法を確認しましょう
    まず環境設定ダイアログ開いてください。メニューバーからEdit>>Preference 、またはアイコンバーの環境設定アイコンをクリックで開きます。次に、ダイアログのCameraタブを選択すると現在のカメラ操作設定を確認できます。


  • 初めての人は、Wings3Dの操作方法(デフォルト)のままが良いでしょうこの操作方法は、マウスの中ボタン(ホイール)を軸とした、片手だけで操作可能という特徴をもちます。

  • 他の3Dソフトウェア経験者は、使い慣れた操作方法にも変更可能です。現時点では Wings3d,Mirai,Nendo,Maya,3dsMax,MotionBuilder,Blender,SketchUpに対応しています。


  • Wings3dで対応しているカメラ操作の比較表。非常にややこしかったので、各操作モードをわかりやすく表にしてみました。
  • もし他の3Dソフトでも通用する操作法で学びたければ「3ボタン」「Maya」の設定。「Maya」方式はBlender等でも対応していたりします。また「altキー+マウスボタン」という操作に統一性があります。

  • ※画面スクロールが遅過ぎると感じる人は、マウスドラッグの移動量を上げてみるとよいです。環境設定のカメラ操作の設定から、パンスピードを50〜80に変更すると快適です。

    2ボタン(Nendo) 3ボタン(デフォルト) 3ボタン(Maya)
    「MouseButton」 を "One" に、
    「CameraMode」 を "Nendo" に指定する。

    設定では1ボタンですが、2ボタンマウスでも動きます。

    Option(Windowsでは alt)キー+クリックで、カメラ視点変更モードになります。(その後で、旋回/ズーム/パンが可能になる)
    このモードから抜けるとき、左クリックで視点確定、右クリックで元の視点に戻ります。
    「MouseButton」 を "three" に、
    「CameraMode」 を "Wings" に指定する。

    マウスのホイールボタン(=マウスの中ボタン:MMB)をクリックすることでマウス視点変更モードになります。(その後で、旋回/ズーム/パンが可能になる)
    このモードから抜けるとき、左クリックで視点確定、右クリックで元の視点に戻ります。
    「MouseButton」 を "three" に、
    「CameraMode」 を "Maya" に指定する。

    alt+マウスボタンを押すだけで、すぐにカメラ視点をかえられます。 Wingsのカメラ操作との違いは、キーボードとマウス両方使う必要があることと、「視点確定/元の視点に戻す」の機能が無いということです。

    1.原点周回カメラ視点(Tumble)

    これで、Geometryウインドウ上でマウスの指定されたボタンを押すとカメラモードです。
    あとは、キーを離してマウスを動かすだけで、原点方向を向いたカメラ視点を自由に変更できます。


    2ボタン(Nendo) 3ボタン(Wings) 3ボタン(Maya)
    Option(alt) + 左ボタン マウスの中ボタンクリック。
    あとはただマウスを動かすだけ。
    alt+マウスの左ボタンドラッグ

    このモードを完了するには、どちらもマウスの左クリックをしてください。
    なにか回転中に他のアングルで見たい場合に、カメラモードに入ってから視点を変えて完了することで、元の処理に戻ることもできます。

    ↑ Qキーで切替 ↓ (2ボタンマウスの場合はこれらをQキーで変更させる事が出来ます)

    2. 表示領域外を見る方法(Track)

    (表示領域を上下左右に移動させる操作)

    画面外の場所を表示する場合に使います。2つの方法があります。
  • 1.キーボードの矢印キーを押しつづける (移動量は少ない)
  • 2.マウスボタン&ドラッグする
  • 2ボタン(Nendo) 3ボタン(Wings) 3ボタン(Maya)
    Alt+クリックでカメラモードに入って
    「Q」を押してからマウスを動かす
    マウスの中ボタンをドラッグ alt+マウスの中ボタンをドラッグ
    いま見えているカメラ視点のまま、表示領域を上下左右へ並行移動(トラック)させることができます。(キー押下あたりの移動量をふやすには、初期設定 Prefercence のCamera タブ項目 で設定できます。ArrowKey Pan の設定値を95くらいにしとけばOK),通常のPanの設定値を変更(87程度)した場合は移動量が変化します(※これはAutoUVのドリー操作にも反映されます)

    3.ズームインアウト(Dolly)


    2ボタン(Nendo) 3ボタン(Wings) 3ボタン(Maya)
    Alt+クリックでカメラモードに入って
    右ボタンドラッグ。
    マウスのホイールをまわす alt+マウスの右ボタンをドラッグ。
    またはマウスのホイールをまわす
    視点を対象に近づけたり遠ざけたりします(ドリー)

    4.カメラの注視点を特定のモデルにする方法(Aim)


    上の画像は、緑円錐から赤い球へ視点変更するというものです。
    1コマ目は一番手前に緑色の円錐が見えています。
    2コマ目で、遠くの赤い球の面(面65:黄色部分)を選択。
    3コマ目はメニューからコマンドを実行すると、選択部分が
    アップになるような場所に視点が移動します。
    それ以降はこのオブジェクトを中心にカメラが周回するようになります。
    (特定のオブジェクトの回りを周回するカメラの設定と操作)

    上の2つの方法だけでは、まだWings3Dを使いこなすのに不便です。たとえば、原点から離れた所にあるオブジェクトを間近で見たい場合です。

    そこで今度は、自分が指定したモデルの回りをカメラが常に向くように設定してみましょう。

    まず、眺めたいモデルの頂点でも面でもよいので、何か選択
    次に、メニューから

    のいずれかを選んで下さい、選択領域の含まれたモデルが画面中央になるように視点が切り替わります。これで、そのオブジェクトを周回するカメラ視点になります
    原点視点に戻す場合は、メニューから View>Reset を選んで下さい

    これで格段に操作性が向上します。

    その他、View>Frame Disregard Mirrorにチェックを入れると、View>Frame時に、ミラーオブジェクトを画面に収めないようになります



    4.コマンド実行中にカメラモード

    ※Wings3dでは移動/変形コマンドの変形実行を中断して一時的にカメラモードに移行する事も出来ます。
    マウスのM(ホイールボタン)を押すことで、カメラモードに入ります
    またマウスのR(マウス右ボタン)を押せば視点を変更せず、中断する直前の編集状態へ戻れます
    (もちろんコマンドの変形は実行中なのでそのまま続けられます)。

    例えば、オブジェクトを移動している最中に、画面外にオブジェクトが出て行ったり、別のオブジェクトの陰に隠れて見えなくなってしまった。 視点をもう少し広げておけば良かった。

    このような場面に役立ちます(移動コマンドをやり直す必要なしで!)。
    コマンド実行途中でカメラモードに入ると、情報行には次のように表示されます
    L : Accept M:Drag to Pan  R:cancel Restore/view Move Mouse to tumble
    情報行には表示されていませんが、このカメラモード中で可能な事。 キーを押しても変化がない場合は、マウスをちょっと動かすと反映されます。

    もし視点を変更したくなければ、R(マウスの右ボタン)を押して復帰することもできます。 中断時の作業パラメータ(移動量など)は保持されたままなので、カメラモードのせいで最初からコマンドをやり直す必要はありません。


    その他のキー操作。
    • X:X軸方向の正面図を表示
    • Y:Y軸方向の正面図を表示
    • Z:Z軸方向の正面図を表示
    • R:初期位置 のview に戻す。
    • (拡大縮小中でも視点変更が可能。)
    • O:正投影モードにする。

    • L:選択した辺を含む一周する辺を一括選択(Loop Edge)
    • G:選択辺をに平行な辺の群を一括選択(Loop Edge Ring )


    • Tab :クイックレンダリング / 変形コマンドの実行中では 数値入力ダイアログの場合もある
    • A :Highligh Aim 選択した面や頂点に、カメラの注視点を持っていく(v1.0.2)
    • Q : マウス前後ドラッグによるカメラのパン
    • マウス-ホイール:ズームイン/アウト
    • 矢印キー: 上下左右にカメラをパンさせる
    • 登録キー:Saved View で登録したカメラ位置を呼出
    自由なカメラ位置を設定したければ,設定後に、メニュー View>Saved View でカメラをキーに登録できる。


    コンテキストメニュー

    コンテキストメニュー及び、メニュー内の変形コマンド一覧。 初期状態の情報行の内容から、「R:Show menu(コンテキストメニュー)」について説明します:
    L : Select M:Start camera  R: Show menu
    [Geometry window Commands |AutoUV-window Commands]v1.0.2
    Geometory windowがアクティブな時に マウスの右クリック(またはCTRL+クリック)で出すことができるメニュー。Wings3Dのモデリング作業はほとんどこれを通して行ないます。
    メニュー項目にリストされるコマンドは、下の表の通り、今現在選ばれている選択モード(頂点、面、辺、全体) によって変化するので、コマンドが見つからない場合は、まず選択モードを変更してみるとよいでしょう。赤文字はアドバンスメニュー有効時のコマンドです。

    【重要】頂点選択モードの回転や拡大縮小は複数のオブジェクトの位置関係を保ったまま回転/拡大縮小することができます。他のモードでの回転は個別に回転してしまいます。またこの仕様はUV編集においても共通しています。

    この表では省略しましたが、両端にピリオドがある「.Command.」は2ndary Slection対応コマンド。
    また、コマンド名の右端に四角いマークがあって、それを選択できるものは、数値入力ダイアログが付いています。

    頂点選択モード -- Vertex

    辺選択モード -- Edge

    面選択モード -- Face

    全体選択モード -- Body

    無選択時

    頂点に対して 辺に対して 面に対して 選択モデル全体に対して 新規に立体作成

    Move (移動)
    Rotate (回転)
    (※位置関係保持)
    Scale uniform (膨張/収縮)
    Scale Axis (XYZ軸方向伸張)
    Scale Radical (XYZ軸 放射状)
    Absolute commands(絶対座標で)
     *move(移動、整列、配置)
     *snap(選択objに寄せる)
     *scale(拡大縮小,任意サイズを変更)


    Extrude(押出し)

    Flatten( 平均化 )
    Intersect(交差&接地)

    Connect C(2頂点を接続)
    Tighten(効果強調)
    Bevel (ベベル)
    Dissolve (削除)
    Collapse (削除-崩壊)
    Weld (接合)
    Deform(効果コマンド群)

     *Crumble - (もみくしゃ)
        Random (ランダム)
        Normal (法線)
     *Inflate - (膨張)
     *InflateCylindrical -(円筒膨張)
     *Taper - (歪み)
     *Twist - (捻り)
     *Torque - (旋回)
     *Shear - (剪断:シアー)

    Vertex color(頂点色:点単位)
    Set Constraint (キー移動量を設定)
    Bend(くの字に曲げる)
    Bend Clamped(⊂の字に曲げる)

    Shift(シフト)

    Move
    Rotate
    Scale uniform
    Scale Axis
    Scale Radical
    Slide (スライド)
    Absolute commands(絶対座標で)
     *move(移動、整列、配置)
     *snap(選択objに寄せる)
     *scale(拡大縮小,任意サイズ変更)


    Extrude(押出し)
    InterSect(交差&接地)
    Flaten (平均化)
    Cut(辺を2〜10分割)
    Connect C (2辺の中点間を分割)

    Bevel(ベベル)

    Dissolve(削除)
    Collapse(削除-崩壊)

    Hardness(スムーズ効果無効)

    Circilarise (一周する辺を円にする)
    LoopCut(選択辺で繋がる領域を切断)

    Vertex Color(頂点色:辺単位)

    Set Constraint(キー移動量を設定)
    Turn (辺の向きを反転)

    Move
    Rotate
    Scale uniform
    Scale Axis
    Scale Radical
    Absolute commands(絶対座標で)
     *move(移動、整列、配置)
     *snap(選択objに寄せる)
     *scale(拡大縮小,任意サイズ変更)


    Extrude(押出し)
    Extract Region(面を剥がす)
    Shell Extrude(造殻型押し出し)
    Sweep (旋回)
    Flatten(平均化)

    Inset (中央に寄せて分割)
    Intrude(立体に穴を開けくりぬく)
    Bevel (中央を凸ませる)
    Bridge(2つの面を連結)


    Bump (凹凸を作る)
    Lift (軸/頂点を回転軸に回転)
    Put on (対象面に乗せる)

    Mirror (鏡像)
    Dissolve (削除)
    Collapse(削除-崩壊)
    Smooth S (丸める)
    Tesselete
    (ポリゴン分割コマンド群)

    Hide(隠す)
    Hole(面単位の穴作成)
    Material(登録マテリアルの適用)
    Vertex color(頂点色:面単位)

    Set Constraint(キー移動量を設定)
    UV Mapping(テクスチャ切出し)

    Move
    Rotate
    Scale uniform
    Scale Axis
    Scale Radical
    (絶対座標で)
     *move(移動、整列、配置)
     *snap(選択objに寄せる)
     *scale(拡大縮小) 


    Flip(上下左右反転)

    Invert (裏返し)

    Tighten(効果強調)
    Smooth (丸める)

    Doo Sabin Subdivision
        (Doo-Sabin細分表面化)

    Combine (合体)
    Sepatate
    (合体解除)

    Weld (接合)

    Cleanup(矛盾解決)
    Auto Smooth

    Duplicate (複製)
    Delete    (削除)
    Rename...(名前変更)

    Show All(隠した面を表示)
    Vertex Attribute(頂点色コマンド群)
    Object To Area Light
    Vetex Color(頂点色;全体)

    UV Mapping(テクスチャ切出し)

    Tetrahedron (正4面体)
    Octahedoron (正8面体)
    Octotoad (斜方8面体)
    Dodecahedron(正12面体)
    Icosahedron(正20面体)


    Cube   (立方体)

    Cylinder (円柱)
    Cone   (円錐)
    Sphere (球)
    Torus (トーラス=ドーナツ型 )

    Grid (グリッド 10x10碁盤目板)

    Light(光源作成)
    Material...(マテリアルの作成)
    Image...(埋め込み画像作成)
    BoundingBox...(バウンディングボックス)

    Image Plane...(下絵画像読込み)

    Text(欧文Fontで3D文字作成)


    More
     *Gear (歯車)
     *Tube(円柱管)
     *GeoDome(180面体)
     *Torus Knot (結び目)
     *N-Cube(正方形の板)
     *N-Gon(多角形の板)
     *Regular Plane(6x6碁盤目板)
     *Lumpy Plane(29x29浪板)
     *Wavy Plane(59x59波紋板)
     *Sombrero Plane(59x59ソンブレロ波紋)

     *Spiral (渦巻き)
     *Spring (ばね状)

     *UV Torus (きめ細かなドーナツ)
     *Lumpy Torus (ポン・デ・リング)
     *Spiral Torus (捻りドーナツ)

    法線は様々なヒントを教えてくれる

    メニューからView>Show>Show Normals を選ぶと、モデルの選択部分から青い毛のようなものが生えて表示されます。
    これは Normal (法線)といって、 面や点に対して直角で、長さが1のベクトルを表します。
    従ってMove の Normal は、このベクトルの方向に従ってオブジェクトを移動させようと働きかけます。

    編集時において法線は、任意の移動・回転方向を指定したり、ライティングや空間を把握するヒントとしても役立ちます。


    Set Constraint

    コンストレイントとは拘束,束縛,固定を意味しますが、他の3Dソフトのアニメーションのコンストレイントや3D-CADの拘束条件とは別物です。

    Wings3dのコンストレイントとはSet Constraintコマンドを使って ジオメトリ内で測った長さをaltキーに記憶しておき、
    後で、その長さを呼び出せる機能です

    環境設定>コンストレイント タブの項目に、その情報が記憶されます
    コンストレイントを使う場合は、altキーと組み合わせます。たとえばマウスドラッグ移動時にaltキーを押しながらすると、コンストレイントで記憶した長さの分だけ、オブジェクトを移動することができます。

    例:
    Edge|Set Constraint>Length で、選択した辺の長さが 2 の場合、Constraint を実行すると、Preference の Constraints タブのalt押下時の移動パラメータが 2.0に変化します。

    この場合、任意のオブジェクトを、Body|Move > X してオブジェクトを移動させる際にshift+tab でConstraintモードに切り替ると、 alt押下+マウス移動するとオブジェクトの位置は、2.0刻 みで移動します。 座標値は 2.0, 4.0 ,6.0 ... と飛び飛びに変化するでしょう。
    何の役に立つの? 移動量で位置をスナップさせたい。観覧車のように一定の角度の位置に乗り物があるようなオブジェクトを作るなど。

    コンストレイントの種類
    コンストレイント可能な寸法は、距離,拡大率,角度の3種類あります。

    距離のコンストレイントのみ特殊で、さらに通常タイプとaltanativeタイプの2種類が存在します。
    通常タイプは変化量が1/10づつですが、altanativeは変化量がそれぞれ逆数になっています。
    どちらのタイプで記憶させるかは、環境設定のSaveConstraint to ... の項目で選ぶことができます。
    どちらのタイプを呼び出すかは、その下のUse Alternate constraint をチェックすると設定出来ます。
    Use Alternate constraintにチェックを入れると、角度や拡大率の補正率や補正角度にも逆数が適用されます。
    ※逆数(reciprocal)とは、ふたつのオブジェクトの比率で、1/Nとなる関係の値。例えば箱AとB大きさの比が A:B=2:1だった時、AはBの2/1=2倍, BはAの1/2=0.5倍(逆数)で表せる。
    参考>Alternate-Constraints

    距離のコンストレイント
    なお距離のコンストレイントの単位はデフォルトでは以下のように決められています。
    0または空欄にすると、デフォルト値に戻ります。

    Distance Constraints
    Alt 10.0(デフォルト)= Set Constraint コマンドで 任意の長さを記憶可能
    Shift 1.0 刻み
    Ctrl 0.1 刻み
    Ctrl+Shift 0.01 刻み
    Ctrl+Alt 0.001 刻み
    Shift+Alt 0.25 刻み
    Ctrl+Shift+Alt 0.025 刻み

    Alternative Constraints
    Alt 1/64 =0.015625(デフォルト) = Set Constraint コマンドで 任意の長さを記憶可能
    Shift 1/4 =0.25 刻み
    Ctrl 1/8 = 0.125 刻み
    Ctrl+Shift 1/32=0.03125 刻み
    Ctrl+Alt 5/8=0.625 刻み
    Shift+Alt 1/16=0.0625 刻み
    Ctrl+Shift+Alt 3/64=0.016875 刻み


    各コマンド詳細

    コマンドを選択する時には、その説明が情報行(Wings3dのウインドウの一番下の部分)に表示されます。

    習得方法は自由です。必要に応じて覚えると良いでしょう。別に覚えなくてもいいコマンドもあります。
    Wings3dのコマンドの中から、覚えやすいと思われるものを、難易度1の一番左上から順に並べてみました。
    ▼コマンドの難易度(←クリックで詳細が開きます)


    ▼コマンド実行からみた難易度(←クリックで詳細が開きます)
    Rotate,Scale コマンドのバリエーションを、実行ステップの側面から分類
    通常は 1 か 2 の操作フローまで覚えておけば問題ありません。
    コマンドのバリエーションについて

    コマンド操作手順の見極め:(マウス設定を、3ボタン&Wingsの場合)
    「.コマンド名.」で表示されるコマンドにはバリエーションが存在します。(詳細は2ndary selectionのを参照下さい)。

    これはLMB(マウス左ボタン;簡単)、RMB(マウス右ボタン;応用)、MMB(マウス中ボタン;発展)の順に
    コマンドに必要な手間が増えて難しい = 自由度が高くなる)なります。
    これは、迷った時にどれを使えばいいのか判断する目安になります

    はじめは move , rotate , scale の順で、LMBオンリーで実行。
    他のRMB,MMBボタンは慣れてから挑戦するがいいかもしれません。

    コマンド実行ステップの途中でRMBを押すと、途中でバリエーションを切替えることができます。


    削除

    Wings3dでは、2種類の削除方法があります。

    ※通常のDissolve、Collapseコマンドの削除は編集の邪魔になる孤立点が残る場合があります(例:メッシュの辺を削除したとき)。
    ただし、これらコマンドを右クリックボタン(RMB)で選んだ場合は、削除時に発生した孤立点も自動的に消えます。



    追記(2014): Dissolve,Collapseをうまく使えば、このように面を分割する事ができます。

    これは、Insetコマンドで中央寄せした部分をわざとCollapseで崩壊させる事で中心を結ぶテクニックです。
    選択中の複数の面に対してCrossTrasを行った後、全ての面にIntrudeコマンドを適用すると、鉄塔のような構造物をすばやく作れます。
    InsetとCollapseの連係は四角形に限らず円柱の上面中央に頂点を収束させたい場合にも使えます。

    上のテクニックの応用で、少し手数が多いですが面を垂直水平に2分割することもできます。
    辺に中点を作った場合Insetはそこから線を生み出します。またホットキー[I]は選択中の要素と類似したものを全て選択してくれるので便利です。
    Wings3DのManifold-labプラグインにワンコマンドで同じ面分割をする機能が含まれています。

    参考:Face | Tesseleteコマンド

    画像の読み込み

    Shape は、新規立体作成モードで、辺も頂点も面も全体も何も選択してない時のモードです。
    ※読込んだ画像を三面図やビルボード用途として使いたいなら、Shape|Image Plane...を使いましょう。 UV設定する手間が省けます。
    コマンド 性質
    Shape|Image...Wings3d内部で画像を生成。アウトライナーに内部テクスチャ項目追加。 種類はGrid,Checkerboard,vbars,hbars,whiteがあります。
    Shape|Image Plane...アウトライナーに外部テクスチャ項目追加。 ジオメトリ内に板ポリゴンに画像が貼られたオブジェクトが出現。
    File|Import Image...アウトライナーに外部テクスチャ項目追加。ポリゴンに貼る為のテクスチャを読込むならこれ。

    Shape|Image... コマンドで自動生成される画像一覧
    テクスチャをリセットするのに白ベタ画像に置換えたり、テクスチャを張る時の面の歪みを確かめたりするのに使えます。

    Smoothの比較

    Body|Smooth:スムーズ( Catmull )
    Body|Doo Sabin Subdivision:スムーズ(Doo-Sabin)


    Smoothは(おそらく)Catmull-Clarkアルゴリズムを、Doo-Sabin subdivisionはDoo-Sabinアルゴリズムを使用して 細分割曲面を生成します。



    名前はそれぞれ考案者の人名から由来しているようですEdwin Catmull氏、Jim Clark氏、Daniel Doo氏 Malcolm Sabin氏。

    Scaleの比較

    Scale Uniform : 全体比率で拡大しようとする。特定の軸に依存しません。 サブコマンド無し
    Scale Axis Y  : Y軸に垂直方向に拡大
    Scale Radial Y : Y軸に水平な面方向に拡大


    コマンドのマグネットモード(←クリックで詳細が開きます)
    ここでは初めての人には難しそうな、Scaleコマンドのマグネット効果を、操作方法の側面から分析します。

    Move|Rotate|Scale系サブコマンド

    多くの加工・変形処理は、対象(頂点,辺、面,全体のいづれか)を選択 し、マウスの右クリックメニューから、コマンドを選択実行します。
    ※頂点の回転,拡大縮小コマンドだけ特殊で、これは全体の位置関係を保ったまま効果が及びます


    頂点や面を移動させる場合、3つの操作スタイルがあります。
    X,Y,Z はその名前の通りで、XYZ軸方向へそれぞれ効果が及ぶという意味です。
    また、Moveコマンド の Normal(法線方向)移動は結構役立ちます。
    便利なのはX,Y,Z,Normal、Regeon、任意の軸で移動回転拡大縮小くらいで、あとは知っておけばいいという感じです。


    Move|Regionが効かない選択領域(左図)
    Move|Regionは選択領域の形自体は保持したまま移動します。

    このコマンドを適用する場合、選択領域を囲む辺(=輪郭)は1つに繋がっている必要があります。そのため選択領域の中央が空いてたり(図の左のパターン)、周りを囲む辺が交わっている(図の右のパターン)場合にはMove|Regionは実行できないので注意してください。(Move|Normalは実行できます)


    Face>Regionコマンドの真の使い方(2014.4.12補足)
    これらはFaceモードのみに存在するコマンドで移動/回転/拡大縮小カテゴリにあります。
    しかし普通の選択領域に適用してもNormal系と結果が似ていて、微妙でした。

    実はこのコマンドはいつもとは逆に、未選択領域の法線の輪郭を利用する事で効果を発揮します(つまり、選択領域の割合が逆になる)
    オブジェクト全部を選択後に、方向を指定したい場所をわざと選択解除してから使用するのが一番役立ちます。
    これにより、複数のオブジェクトを一斉に別々の方向へ移動/回転/拡大縮小する事ができます。


    移動回転拡大縮小のサブコマンド詳細
    MoveRotateScaleAxis/Radial
    Normal
    Free
    X
    Y
    Z
    ---
    Last axis
    Default axis
    ---
    Planar
    ---
    Region
    Normal
    Free
    X
    Y
    Z
    ---
    Last axis
    Default axis
    ---
    Rotate to Target
    ---
    Region
    ---
    Unconstraind
    〜X
    〜Y
    〜Z
    ---
    Last axis
    Default axis
    【Normal】法線方向へ移動。選択領域の種類によっては形が変化する事もあります。

    【Free】
    カレントビュー(視点)に平行な仮想平面を基準に、いかなる視点でも、マウスムーブ↑↓が上下 /←→が左右移動になる。 表示される座標軸と関係なく移動。 メタセコイアの「スクリーン」に対して移動と同じ
    Freeコマンドは、ジオメトリウインドウを4枚開いて、三面図で操作する時に役立ちます


    【Planar】
    (選択した軸に垂直な平面以外の2軸が、マウスムーブの↑↓←→移動軸に対応する)

    【 Region 】
    Region は選択辺で囲まれた選択領域を指します(または2面以上つながっている選択領域)。ここでは囲む辺の法線方向に移動します。
    Move|Regionは選択領域の形自体は保持したまま移動します。しかし囲む辺の法線は1つなので、選択領域の中央が空いてたり、囲む法線が交わっている場合には実行できません。
    【Normal】
    法線を基準に回転。

    【Free】
    カレントビュー(視点)と、平行な面に垂直な視線を回転軸にして、いかなる視点でもマウスムーブ←→で正面で360°回転する。 表示される座標軸と関係なく回転。三面図で編集する時に役立ちます。メタセコイアでいう「スクリーン」に対して回転と同じ。

    【Rotate to Target】
    回転軸と A点, B点の3つを指定して回転。

    【 Region 】
    Region は選択辺で囲まれた選択領域を指します(または2面以上つながっている選択領域)。ここでは囲む辺の法線を軸に回転します。

    【Unconstraind】
    カレントビュー(視点)と平行な平面を基準に2軸回転、座標軸を無視して、いかなる視点でもマウスムーブの↑↓が前後回転/←→が左右回転になる これも3面図で編集する時に役立つコマンドです。
    【Defalt Axisについて】
    あなたがよく使う「軸のベクトル」を1つ登録しておき、好きな時に呼び出せます。 これはTools メニューから、Tools>Set Default Axis>Set Axis を実行して登録します。 呼び出す時は、Move,Rotate,Scale等のサブコマンドにあるdefault axisを使えばOK。

    【Last Axisについて】
    あなたが「任意の軸」を指定して回転や移動を行ったときに、Wings3Dは、この設定(任意の軸の情報)を記憶しています。 これは、Move,Rotate,Scale等のサブコマンドにあるlast axisを使うことで呼び出されます。

    いちいち任意の軸を指定する面倒な手間を省けます。

    Last Axis は、一番最後(Last)に記憶した任意の軸を呼び出します。 Last Axis に記憶されている情報はベクトル情報なので、last axis が利用できれば、コマンドの種類に関係なく使えます。

    (※どちらも記憶された軸は、表示されないことに注意して下さい。Wings3D 1.3現在)


    【Free系移動・回転コマンドについて】
    下の図は、ジオメトリウインドウを4つ開いて、透視ビューとX,Y,Z方向それぞれの固定視点にて編集中の画面です。
    このような編集を行う場合、固定視点のスクリーンにおける移動回転に Move Free, Rotate Free,Rotate Unconstraintコマンドが役立ちます。
    また、これらコマンド使用後にショートカットのDキーを使えば、別のウインドウへ移っても即座に直前のコマンドを繰り返す事ができます。
    これらコマンド以外には、TweakパレットでMoveを選択して作業する方法もあり、これはショートカットなしで同じ事が可能です。

    関連情報:Magnet move normal implementation ★トピックの途中に、Last Axisって何?という質問とその回答が含まれる。



    頂点Vertexモードの回転、拡大縮小は特殊
    他のモードはオブジェクト個別に効果がかかりますが、頂点モードの回転、拡大縮小効果は全体の位置関係を保ったままです。
    3Dにおいても2D(UV編集)についても同じです。このことはWings3dを使いこなす上で役立ちます。




    Rotate to target(2014.4.13補足)
    これもヒントが少なく難解なコマンドのうちの一つです。理解するまでに時間がかかりました。
    選択位置の相関関係を把握すればなんてことはない...。

    既存オブジェクトの角度を測定して、回転したいオブジェクトを的確に回転できるという機能。平行とったり角度合わせなどに利用できる。
    マウスドラッグで効果調節する時のパラメータが100%になった回転位置が止め時です。
    それ以外は任意の回転(Rotate:RMB)と同じなので、慣れないなら無理して使わなくても良いでしょう。

    参考動画: Rotate to Target (rotate Point to Plane).avi - YouTube(Wings3D Channel) (2014.4.30 さらに補足)
    数値を100%にするコツ、2種類のオプションの仕組みを調査。複雑すぎる...

    Edge|Connect FlowConnect Corner

    Connectコマンドは普通に選択要素(点や辺)同士を接続する辺を作成する機能です。ホットキーのCキーで素早く作成することができます。

    亜種としてFlow Connectコマンドがあります。ConnectとFlowConnectの違いは、Connectは既存の面に張り付くように辺を追加するのに対し、FlowConnetは連続した曲面上の面であれば、それを補完するような膨らみを作って(Flowさせる)辺を追加することです。


    Corner コマンドは四辺形を2つに(3辺形と5辺形に分断するように)分断する辺に対して使って下さい。対象に垂直な補助辺を追加します。

    Absolute Command:Move

    複数のオブジェクトを、原点を(x,y,z)=(0,0,0)とした絶対座標で任意の位置へ移動させることができます。 チェックボックスAlign で位置の整列、Flattenで面の平均化を行うこともできます。

    通常は、選択した領域のみを、指定座標へ移動します。
    「オブジェクト全体」をチェックすると、選択領域を含むオブジェクトを丸ごと移動したり複製したりできます。 また、複製と繰り返し回数を指定すると、一度に沢山のオブジェクトを作成できるので便利です。(応用すると階段状に並べたりできます)

    慣れるまでは指定する Align の指定は1つの軸だけにすることをお勧めします。
    また選択面は各オブジェクトごとに、同じ方向にある面を選んだ方が理解しやすいかもしれません。
    (移動方向は選択領域全体の法線によって決まるため)

    v1.5.1以降はプレビュー機能が付いたおかげで以前より結果を理解しやすくなった。

    Absolute Command:Snap

    Absolute Command系の中で最も使い勝手が良いコマンドです。Vertex/Edge/Face/Body全モードに存在。
    選択オブジェクトを遠くの場所へピンポイントで飛ばせます。
    LMBとMMBの2種類あります(下図参照)。MMBは移動起点を指定しないぶん1クリック少ない
    Body>Absolute Command>Snap MMBでホットキーを登録すると吉


    MMBではオブジェクトの中心が設定されます。移動先を指定するために既存オブジェクトの位置を指定する必要があります。
    似たコマンドのFace>PutOnにありますが、Absolute Snapで移動したオブジェクト自体の向きは変化しません。
    --- PutOn Absolute Snap Absolute Move,Scale
    メリット自由な向き/位置に移動できる
    複製が可能(ClonOn=RMB)
    向き一定、複製不可 複製移動が可能、Flatten効果の併用
    座標指定なので、無空間へ移動可能
    デメリット Faceモードのみ
    移動先に既存オブジェクト必須
    全モードで使用可能
    移動先に既存オブジェクト必須
    座標値を知らないと使えない
    手順が多くてダイアログも登場し、何をやってるか分かりにくい。

    Absolute Command:Scale

    3Dソフトを使っていてよくあるのが、数値入力で、オブジェクトの長さや幅を変えるといった作業。
    数値の小数点を切り捨てたい時もあります。
    例えば、Y方向に高さ3の直方体の柱のオブジェクトがあったとして、その高さを10に変更したい場合です。
    Wings3dでは、該当オブジェクトを選択(または、変更したい面or辺を選択)した状態で、右クリックメニューからabsolute_command> scaleで、絶対座標コマンドのダイアログが出るので、X,Y,Z それぞれのサイズを入力。また、中心座標を0,0,0にすると端に伸びます。

    v1.5.1以降はプレビュー機能が付いたおかげで以前より結果を理解しやすくなった。

    Face | Mirror

    選択面を基準とする鏡面に接した鏡像(コピー)を作成します。オリジナルとコピーは選択面で接合されます、回転体を作る時に役立つコマンド。

    Body | CleanUp

    重複した頂点や孤立点を除去したり、幾何形状的に矛盾した辺などを修復 します。
    これらの現象はDissolve等で辺を削除したり、またはconnectで辺を追加したときに発生することがあります。

    V/E/F | Extrude:

    Extrudeコマンドは、選択面を元に押し出します。似たものに、Extract(面を剥がす)、Shell Extrude(造殻型押し出し)コマンドがあります。
    これらコマンドの効果を比較した図が次の図です。ExtrudeとShell Extudeの違いは、押し出した領域が独立したオブジェクトとして分離されるかどうかという点です。


    ShellExtrudeのShellは「貝殻(から)」という意味で、たぶん下図のように外側に殻をまとうように押し出されることから由来すると思います。
    しかし中に隠れて扱いづらいので、比較図にある使い方のほうがが役立つと思います。



    Face | Extract:

    Extractコマンドは、選択した面を剥がします。またオブジェクトの全ての面を選択した状態で剥がすとオブジェクトの複製(dupulicate)を作るのと同じことになります。 このコマンドには、いくつかのバリエーションがあります。
    ---結果オブジェクトの全ての面を選択して実行した場合
    左クリック(LMB)Extractコマンド
    (Extract along std. axis)
    基準軸方向へ剥がします。それぞれの面が繋がった状態です。(複製と同じ)
    中クリック(MMB)Extractコマンド
    (Pick axis to extract each face along)
    任意の方向へ剥がします。一見オブジェクトが構成されてるように見えますが、
    面がバラバラなので分解できます。
    右クリック(RMB)Extractコマンド
    (Pick axis to extract each region)
    任意の方向へ剥がします。それぞれの面が繋がった状態です。(複製と同じ)


    ※複製せずにバラバラにしたい場合は 全ての辺を選択して Edge|LoopCutコマンドを使って下さい。

    Face | Put on:

    最初に、オブジェクトAの1つの面だけを選択した状態で Put On を選択します。
    次に、くっ付けたい(乗せたい)別のオブジェクトBの面を選択し、右クリック。 すると、オブジェクトAがBの選択面同士で張り付きます(上下左右関係なく)。



    Put on コマンドをマウスの右クリック(RMB)で実行した場合コマンドのバリエーションとなり、オブジェクトのクローンを選択面に乗せることになります。
    これの応用として、自分自身にクローンを乗せることで回転体のようにオブジェクトを配置することもできます。

    Face | Lift:

    2ndary Selectionで固定する頂点または辺を選択し、右クリック、ドラッグで効果を調節。固定部分以外が上昇(旋回)する。
    特に、辺を固定した場合には回転軸として利用することができるので、旋回を繰り返すことで回転体を作る事もできます。


    Body | Weld :

    Weld を実行するには、2つの面の寸法が全く同じでぴったり接しておく必要があります。少しでもずれているとうまく働きません。
    ( 下の図では、準備としてPut On コマンドを使って2つの立方体を接するように配置しておきました。)

    Vertex | Bend:

    くの字やUの字に折り曲げるコマンドです。



    他にオブジェクトを曲げる方法として、Rotation+マグネット効果で曲げるやり方もあります


    (2014.4.13補足)



    Face | Bridge:

    基本的に、離れている面同士を繋げる事ができます。このとき選択する面は、必ず互いに向き合った面にして下さい。 
    v1.3.0ではBridgeコマンドで面同士の頂点の数が違うと接続できませんでした。
    v1.4.1では改良され、面の頂点数が違うもの同士でも自動補完で接続されるようになりました。


    逆に、同一オブジェクト上の向き合う2つの面に対しBridgeすると、これら面同士を貫通するトンネルを開けることができます。


    また、Bridgeコマンドの応用としてBody|Invertで裏返った複雑なオブジェクトと接続した場合
    オブジェクト内部に(裏返ったオブジェクトを)ブーリアン演算のように複雑な形状の窪みやトンネル、穴をあける事ができます。
    裏返った立体の面はワイヤーフレームモードにして、逆方向から上面をクリックすると、選択しやすいです。


    上の方法で、立方体に、正八面体の空洞を開けてみました。
    それをBody|Plane Cut 後 Edge|Loop Cutした切断面は、次のようになります。

    Face | Inset Outset:

    Insetは新しい辺を内側に寄せて作ります。マウス中ボタンでは逆に外側へ広がるOutsetの高価になります。

    左ボタンで実行した場合は面ごとに個別に効果が適用されます:


    右ボタンで実行した場合は、選択領域全体の輪郭を元に効果を適用します。

    Intrude コマンドなどと組み合わせて使うと便利です。

    Edge | Intersect:

    交差。選択した辺が伸びる方向を基準に、任意の面や頂点を含む平面と交差した地点に、接地させます。
    交差させる平面それぞれのオブジェクト同士は、離れていてもかまいません。

    用途としては、任意の平面に合わせて、オブジェクトを揃えたり、スナップさせる等の使い道があります。
    下図の説明をわかりやすくするために、平行な辺2つを元に、また接地させたい平面をXYZ軸平面ではない任意の平面にしています。

    Face | Sweep :

    旋回。うまく使えば強力なツールです。マウスドラッグによる変位量調整が可能です。
    マウス操作は難解ですが、落ち着いて行えばなんとかなるかも。Sweepコマンドの操作法は、以下の図の、Step6, 6-1 , 6-2を見てください。
    Tabで、数値入力による変形も可能です。入力欄フォーカスを移動するのにもTabキーを使ってReturnキーで確定ください。

    コマンドの組み合わせで、このような↓ドリルのような形も作れます。


    Step:6-2 について
    Wheel:マウスホイールボタン押し  RMB: 右ボタン押しです。
    垂直面回転量は、今回Normal 回転なので値が入力されても影響を与えません。
    絞り出し効果を得るために上面を縮小しています。そのため上面の比率がマイナス%になっています。

    Sweepコマンドに関連して、以下の情報を参考にしました。
    sweep relative
    How the better way to make "spiraled" objects (どのようにして螺旋状オブジェクトを作るのか?)
    このトピックのycarry氏の作例では、Twist コマンドを利用して作っています。しかし私の持っているバージョンv1.0.2ではそれが使えません。そこでSweep を使って行います。

    Face | Tesselete:

    ポリゴンを分割する。または三角ポリゴンを四角いポリゴンメッシュに変換する。
    ダイアログで、分割アルゴリズムを選択することもできます(v1.3)


    Edge | Circularise:

    一巡する辺に対してこのコマンドを適用すると、環状になります。
    追記(2014):閉じてない場合は半円状に変化します、これをうまく活用すると建物のアーチ等が作れます。
    実は一巡していない辺に適用したり、複数の箇所に適用することもできます。
    ▼アーチの例

    Edge | Turn:


    Edge | Hardness:

    辺にハードエッジを設定します。これを解除するには、Hard属性のついた辺を選択した後、Hardness>Softを選びます
    Wings3dでは、ハードエッジ属性を辺設定すると便利なことが4つほどあります。
  • 1) スムーズシェーティング時に辺をきわ立たせる効果。メリハリをつけられる
  • 2) スムーズコマンドの効果を無効にするので、変化させたくない部分にこれを付加しておくのもよいでしょう。
  • 3) EPS形式での保存時に、ハードエッジ属性が付いた任意の線を太く残す選択ができます。
  • 4) ハードエッジ属性をつけたままUVmapping→Unfoldすると自動的にハードエッジ属性の辺が、展開のための切り込み線として認識されます。
  • (ハードエッジは法線を変化させるのですが、Wings3dでは法線の変化はない気がする? Wings3D 1.4現在)
    ハードエッジは他の3Dソフトでは主に、1)または2)の性質があります


    Edge | Slide:


    ※Y軸方向のExtrude とSlideコマンドの落とし穴
    もし、ほかの辺をまたいだ形で移動したり増やしたりすると、厚みがないせいで見間違うことがある。(V1.2)

    Vertex | Deform:




    Shear
    シアーコマンドは、オブジェクトを剪断(ななめに)するコマンドです。
    Wings3dで難解なコマンドのうちの一つです。慣れるまでノーヒントでは全く訳が分かりません。
    とりあえず問題を一つづつを洗い出して、選択すべき部位の相関関係を図解することにしました。

    Vertex | Shift:

    追記(2014):SHIFTコマンドの存在意義は長い間謎だったのですが、3D空間上の単体のオブジェクトに適用するよりも 選択された複数のオブジェクト群に対して適用すると効果的である事が判明しました、空間上に散らばったオブジェクトを平面や中央に寄せ集めたりする事ができます。
    詳しくはWings3D Help Dictionary (beta)のSHIFTコマンドで解説してあります



    Vertex |Tighten:

    追記(2014):このコマンドは選択領域の頂点をきつくしたりする他、緩くする事ができます。このコマンドを利用すると、例えば建物の一部をTightenコマンドで緩く崩壊させ ることができるので、風化した廃墟を作る場合に助けになります。

    Vertex| Flatten: (平均化)


    Face | Flatten (平均化)



    Vertex | Grid Snap

    Grid Snap を使うとハイポリモデルから、粗めのローポリにすることができます。いわゆる画像処理のモザイクの3D版と思ってください。
    頂点は活きてるので、ポリゴン数を節約するならBody|CleanUPコマンドを掛けてして重複頂点を削除してください。


    Grid Snap の本来の使い道が判明?
    選択領域を限定するとそこそこ役立ちます。(2014.05.04補足)
    選択した頂点をスナップしてまとめる機能。例えばX軸面方向に作用させる場合は Vertex | Grid Snap> Radial X (LMB)を使います。
    左クリックでコマンドを選択。Y軸とか複数次元ついては適時応用してみて下さい。
    基本的に〜X/Y/Zコマンドはn軸方向に作用 〜X/Y/Z Radial系コマンドはn軸平面に作用する効果が多いです。

    Face | Intrude/Hole/Hide

    モデルに窓のような穴を沢山開けたい場合は工夫が必要です。 熊手のようなオブジェクトを2つ向かい合わせにして、 Weld コマンドでくっつけて穴を作る方法もあります。 もっと簡単な方法は、holeコマンドやintrudeコマンドを使うやり方です。

    HoleとIntrudeコマンドの違い
    どちらもオブジェクトに穴を作りますが
    Intrudeコマンド は内部にも面を作る(ポリゴンの裏面を作らない)点が違います。



    HideとHoleコマンドの違い
    似て非なるこの2つのコマンド、Hideは穴ではなく、選択した面を一時的に隠すという機能です。Wingsのみで機能します。

    HideとHoleの違いは、たとえば、オブジェクトの面の一部に、Hideと、Holeを適用した場合、
    Exportで他フォーマットのファイルに書き出したときに、Hide属性がついた面は無視され(表示され)ます。
    逆に、Holeコマンドを適用した部分は、書き出した後も穴として認識されます。

    HideとHoleコマンドの戻し方
    HideコマンドもHoleコマンドを適用した面を塞いだり、隠し状態を解除するには、「穴をあけた/隠した面」の周囲の面をどれか選択した状態で、それぞれのコマンドのRMBクリックで実行してください。

    オブジェクト全体の面を選択した状態で行ってもOKです。

    Set Constraint (寸法計測)

    採寸した寸法を、ホットキーで呼び出したり、再利用する機能です。PhotoshopやIllustrator等にもみられる機能です。


    Set Constraintコマンドで採寸した寸法は、初期設定のコンストレイントタブを見ることで、一覧を見ることができます。(altキーに関連づけられた値)





    ポリゴン編集メモ

    ポリゴンの性質

    もし、モデルを眺めていて、辺や面の表示が変だと思ったなら、
    ポリゴン分割があいまいだったり、構造に矛盾が発生している可能性があります。
    このような場合は頂点同士を結んだりして適切な面になるよう整形し直します。
    Body>Cleanupコマンドを使うと、構造データの矛盾を修正できる場合もあります。

    面を張り直す場合は、Tool>Connectで張っていったり、 Turn コマンドによって辺の向きを変える方法が役立ちます。

    メッシュ制御の基本メモ

    張り出しを作る。


    通り抜ける辺を選択後、Cキー/Edge|Connectコマンドでその辺の中点を通るメッシュを作成できます。
    メッシュ(格子)の追加と削除方法



    【メッシュ削除時の注意】:通常のDissolve、Collapseコマンドの削除は孤立点が残る場合があります(例:メッシュの辺を削除したとき)。
    ただし、これらコマンドを右クリックボタン(RMB)で選んだ場合は、削除時に発生した孤立点も一緒に消えます。

    ※この方法では自由にメッシュを作成/削除できますが、ある種の出力フォーマットでは、頂点番号の順序が正しくないとうまく書き出されないものがあり、このcut & connectの編集方が使えない場合もあります。
    Wings3dには、頂点や辺には、生成された順番に番号が割り振られます。
    例えば、N-gonコマンドで、6角形を作った場合、頂点の並びは順序正しく、

    「#0,#1,#2,#3,#4,#5」
    と割り振られます。これはwings3dで頂点を選択したときに、現在何番目の頂点を選択しているのかが表示されるので すぐわかります。

    次にcutコマンドをつかって、各辺の間に2つ中点増やし、18角形を作ろうと思います。
    この場合wings3d内部頂点に割り当てられたナンバーの順番は途中に挿入されます。
    結果は、

    「#0,#6,#7,#1,#8,#9#2,#10,#11,,#3,#12,#13,#4,#14,#15#5,#16,#17
    となります。編集して、頂点や面を追加/削除するたびに、この番号の並び順は変わっていきます。

    思い通りにポリゴンを分割する


    任意の方向に分割する(確実に...)
  • 同一面上にある、対角上にある2つの点を選択
  • Connect コマンドを使う。
  • 点同士が接続され、ポリゴンが対角辺で分割される。

  • Connectモードを使う方法(早い...)
    Tools>Connect を選べば、マウスカーソルで選択した辺や頂点を
    そのままドラッグして結ぶと、素早く連続して分割できます。
    (このモードを抜け出すには、右クリック)

    コネクトモードの解説: Wings3D connect mode - YouTube
    いくつか解説を入れてあります(動画外)。

    この機能はクリックだけでオブジェクトの表面に自由に辺を刻むことができます。 しかしUIのヘルプテキスト量では説明が難しいため補足しておきます。このモードに入るとマウスカーソルに直線が線が追随するようになります。また右クリックでこのモードから終了できます。

    0:00〜0:12 最初に起点となる場所をクリックして、別の場所 左クリックし続けると、そのまま接続線をのばすことができます。このとき横切った辺の交点には頂点が作成されます。 基本的にクリックした場所が辺ならそこに終端点(頂点)が作成されます。辺以外の場所をクリックしたならば、最寄りの辺に終端点が作成されます。

    0:14〜0:18 クリックしてそのままボタンをはなさずにいると終端点が最寄りの辺上にスナップします。そのままドラッグすると点はその辺上を移動するので細かい位置を決めることができます。

    0:23〜0:50 別の場所に線を引きたい場合は先ほど作った終端点をクリックしてください。マウスカーソルに線が追随しなくなり新しく起点を作れます。また別の線をいくつも引くことができます。
    (見落としがちな機能, このモードを終了せずに済みます)

    0:59〜 このモード中に テンキーの数字 1 キーを押すたびに " Loop Connect" 機能の on/off ができます。情報行の右下に状態表示されます。 Loop Connect がオンの場合、オブジェクトの表面は線を引いた方向を一周するよう辺が刻まれます。(動画ではオブジェクトの裏側の様子も見ています) この機能はBody-Plane Cutコマンドより直感的に、オブジェクトの表面に線を刻むことができるかもしれません。

    自動分割する方法(ランダムで...)
    Tesselateコマンドを使えば自動でポリゴンを分割できますが、分割方向はランダムです。


    分割したポリゴンをひとつにする

    分割したポリゴンの辺を元に戻したい場合、辺を選択してDissolveコマンド を使います。辺は消えて、ひとつのポリゴンにつながります。

    辺の途中に頂点をこしらえたい。

    2つの方法があります。

  • まず、辺を選択します。
  • Cut コマンドを使い、辺をどれくらい分割するか決めます。
    ( 作成後の頂点数は 辺の分割数-1 個となります)
  • 最後に、作成した頂点と別の頂点をConnectコマンドでつなげれば、ポリゴンを分割できます。
  • 辺の途中に作った頂点を削除する。

    逆に、辺上に作った頂点を消したいときは Dissolveコマンドを使います。

    下絵通りの形をつくりたい

  • 一枚ポリゴンの辺に頂点を沢山つくってから、
  • TweakModeに入って
  • 下絵に対応するように、頂点を移動させると、下絵の図形をなぞることもできます。
  • (※複雑な形のポリゴンを作った場合、必ず三角形や四角形ポリゴンの組合せになるよう分割しておいてください。)

    真っ平らな1枚ポリゴンを作る

  • 無選択時に右クリックメニューから、 More を選び 、サブメニューから、N-gon(角の数は4)コマンドを使って作成(v1.0以降)。
  • または、 普通にCube(立方体)を作成し、そのなかの一つの面を選択し、Extract コマンドで 面をで normal 方向へはがす。
  • 丸い円形のポリゴンを作る

  • 無選択時に右クリックメニューから、 More を選び 、サブメニューから N-gon コマンドの右端の四角を選択、角の数を12程度に設定して作成。(v1.0以降)
  • ただし、N-gonコマンドは最大20角形までしか作る事ができません。
  • 21角形以上の多角形を作る場合は、 普通に数値入力で、Cylinder(円柱)を新規作成し、上面を選択し、Extract コマンドで で上面を normal 方向へとはがして下さい。
  • ※この方法で作った多角形の頂点は、秩序正しい順番で割り当てられます。

    ポリゴンの中央に穴を開ける

    真っ平らな1枚ポリゴンの中央に穴をあける場合は、Insetコマンドで穴のアタリを付けた後に Intrudeコマンド
    この時、厚みができないように注意して下さい。

    開けた穴を塞ぎたい

    穴の内側の側面ポリゴンをすべて選択Dissolveコマンド

    立体を、辺で分離したい

    立体を2つに分離したい、切断したい辺で立体を一周するように辺を選択後、 Loopcut コマンドを使うことで、2つに分離する事ができます。
    トーラスを分離したい場合、必ず2つに分離するように辺を指定して下さい(1カ所だけ切るようなことはできない)。 また、特殊な例として立方体の全ての面を選択後、Loopcutコマンドを使うと、面をバラバラにもできます。

    接した立体を面でくっつける

    この逆のことをするには、Weld コマンドを使います。
     

    覚えておくと便利な削除技

    InsetとCollapseコマンドの連係、Dissolveコマンドによる便利な面分割法


    ポリゴン1枚を分離/削除したい

    Wings3Dでは立体であれば簡単に接合、分離させることはできます。
    しかし、作った後からポリゴン単位で分離/削除するのはとても苦手です。
    (Dissolveや Colapseコマンド は、消すというより、選択部分を崩したり、のっぺりとさせる感じです。)

    強いて言えば、立体に対して抜きたい面だけ全て選択してIntrudeコマンドを適用(厚み0で適用)するくらいです。
    ↓円筒モデルに対して、Intrudeコマンドを一括適用した結果。一応ポリゴンは分離しています。


    参考:窓のような穴を複数作りたい

    立体の中身をくり抜きたい

    モデルの1カ〜数カ所の面を選択し、 Intrudeコマンドを使うと、選択部分の面ポリゴンは除去されたうえで、立体の中がくり抜かれます。円筒(Cylinder)ならコップ状の形になります。このコマンドはマウスドラッグで厚みを調整することもできます。部屋とかこれで作るといいかもしれない。

    (※ただし、Intrudeコマンドは立体に対して、1回限りです。一度くり抜いた立体には効果はないようです。)
    ビルの窓のような穴を複数作りたい場合は次の情報にあたって下さい
    Wings 3D tutorials, notes and general information.のチュートリアルでは、様々な方法で穴を作る方法が載っています。

    モデルの頂点をつぶしたり、切り落とす。

    選択した辺や頂点に対して、Bevel コマンドを使う。

    精度が要求される場合は、数値入力で

    3Dモデリングでは精度が要求されることがあります。たてよこの寸法や、移動距離を厳密に指定しなければいけません。 Wings3Dでは、移動距離や、長さの指定を数値で指定することができます。 Numeric Input(数値による指定)
    コンテキストメニューのコマンド(Move> Normal など)を 選択後に Tab キーを押すと、小ウインドウが出て数値入力による細かい制御が可能です。

    この時、マウスカーソルは見えないので、数値を入力後、リターンキーを押せば確定、ESCキーを押せば取消です。 複数の入力欄がある場合は、Tabキーを押せば次の入力欄フォーカスを移ることができます。

    直前のコマンドを繰り返す(Repeat)

    何度も同じ作業を繰り返すのが面倒な時に…
    とりあえず他のアプリと同じ感覚で繰り返すなら SHIFT+D がおすすめ。
    Editメニューより
    ホットキーを使えば同じ操作が、よりラクになります。 Drag は直前のコマンド結果がそのまま適用されるので、定型処理をする場合はとても便利です。 一方Repeat と Argsは、最終的な効果の調整は人の手によって行なう必要があります。

    3種類あるのは、2ndarySelectionやマウスドラッグで効果を調整するコマンド用があるためです。
    以下は様々なタイプのコマンドに対して、繰り返しコマンドを実行した時の検証です。

    選択したポリゴンのコピーを作りたい

    Face | Extract Region または Body | Duplicate コマンド
    Wings3Dでは、普通のアプリケーションにあるような、モデルをコピー、別のところへペーストしたらモデルが増えた、という機能はありません。

    その代わり、同じ事を実現するためのコマンドがあります。 モデル中の複製したい面を選択し、 Extract Region(面を剥がす)コマンド を使って下さい。
    移動先(Free, X,Y,Z) を指定すると、そこへ複製が現れます。このとき元のオブジェクトの選択部分には何の影響もありません。

    ※モデルに含まれる面を全部を選択した場合は、モデル全体が複製されます。
    ※モデル自体の複製なら、モデル全体選択時にDuplicateコマンドも使えます

    選択したポリゴンの拡大/縮小コピーを作りたい

    Scale Uniform コマンド は選択モデル自身を拡大しますが、複製を作ることはできません。
    拡大縮小コピーを作る場合は Extract Regionコマンドの Normal 移動を指定して下さい。

    ポリゴンに色を塗りたい

    頂点、辺、面、全体選択モードで、選択範囲に
    Material(登録マテリアルの適用) または、Vertex color(頂点色)コマンドを使う
    なお、両者の併用は出来ません。 Material ウインドウで、色をクリックして指定して下さい。

    頂点を収束させたい、またはそれを元に戻したい

    円筒の側面の一周する辺を選択し、Scale Uniformまたは Scale Radial→Y座標方向 への変形を行えば。軸の中心方向へ頂点を集めることができます。。
    このとき、Tabキーを押して、数値入力モードにして、パーセンテージを0.0にすると、頂点はきれいに一点に収束します。

    しかし、いったん上図のような状態になってしまうと、収束した頂点群をScale Uniform やRadial コマンドで膨らまして元に戻せません。
    こういう場合は、収束した頂点群に対して、CTRL+左メニュー Move>Normalコマンドを使ってマウスドラッグさせてやります。
    下の図のように、集まっていた頂点をもとに戻す事ができます。


    領域(Selectメニュー)と2ndaySelection

    Wings3Dは基本的に、「選択した領域に対して何らかのコマンドで加工を行う」という流れが多いです。
    そのため複数の領域にまとめて加工を行うことができれば作業効率がアップの決め手になります。
    たとえば、オブジェクトのなかから不要な辺をすべて選択して一回で全て消す等など。

    Wings3Dでは、基本的に選択領域は赤く染まります。
    これとは別に、コマンド実行時に面や場所、方向を指定するために
    ベクトル(緑の矢印)/点(緑の点)を選択することもあります
    これは後ほど「Secondary Selectionモード」の項目で説明します。

    使える選択機能

    メニューより、ホットキーで呼び出して使うことが多いです。
    Select>Similar は一番最後に加えた選択領域に類似した部分をすべて選択に加えます
    デフォルトでホットキー[I]に設定されているので素早く実行できてとても便利です。

    Select>Similar Normal 同じ向き(法線)を持つ面を選択
    Select>Similar Material 同じマテリアル(色)を持つ面を選択

    Select>EdgeLoop 辺のリング/ループ選択。[L][G]
    Select>by>Random ランダムな確率で選択領域を間引く。
    Select>More 隣接する選択領域を1ステップ増やす[+]
    Select>Less 隣接する選択領域を1ステップ減らす[-]
    Select>Adjacent [V][E][F][B]でそれぞれ頂点/辺/面/全体選択モードに移行
    Select>Inverse 選択領域の状態反転


    また選択モードの移行で、自在に選択領域を操ることもできます。
    辺選択モード[E]でリング選択[G]後、面選択モード[F]に移行するとベルト状に選択されます。

    選択領域のグループ

    これは選択領域を記憶しておいて、使いたいときに呼び出すことができる機能です 2つのグループ領域の重なった部分だけを取得する事も可能
    Wings3D v1.5.1では選択領域グループパレットが追加されました

    Select>Store/Recall Selection
    Select>New Group...

    グループオブジェクトの選択

    Body>CombineとSeparateコマンド。これは複数のオブジェクトをグループ化したり解除したりするコマンドです。 グループ化するとBodyモードで選択するとグループ全体が選択されるようになります。

    例えば、頭目鼻口から構成するオブジェクト全体をグループにしたけど、口だけ回転させたり、眉毛だけ移動させたい事があります。 そのようなグループ内の任意のオブジェクトだけを選択するには、頂点/辺/面モードのいずれかに切り替えて
    任意のオブジェクトの1つの要素(頂点/辺/面)を選択後[+]キー連打で選択領域を増やしまくります。

    これは、マウスドラッグすると他のオブジェクトまで選択されたりする時や、奥まった所にあるオブジェクト全体
    を確実に選択できる
    便利な方法です。

    Secondary Selection モード

    Secondary Selection : 二次選択
     ↓Wings3Dでは通常、モデル自身のXYZ軸
    に対し回転、移動が行われます。(頂点モードの回転のみ例外:位置関係を保持したまま効果が適用されます)

    2ndary Selectionモードでは、ガイドとなるオブジェクトを作りそのオブジェクトに基準エレメントを設定することで、ガイドを中心に任意の回転を行うことができます。 

    このような回転を行う場合、ガイドに一時利用するオブジェクトを、y軸上に作っておいても便利かもしれません。
    Secondeary Selection モードとは? それは処理に必要な要素選択を2段階にわけて行なうインターフェースです。
    これにより、 回転や移動が、任意の軸や頂点を基準に行えるようになります。

    この手の概念は、 Photoshop等にもあり、選択した領域を任意の座標(x,y)で回転するために任意の座標をクリックするのがそれです。

    この機能デフォルトでは有効になっていません。使う為には、まず Edit>>Preference,の Advanced タブを開き 「Advanced Menus」 項目ににチェックを入れ、Advanced Menusを有効にして下さい。

    Secondeary Selection モードに入る方法

    右クリックのコンテキストメニューを開くと、コマンド項目が「Move」 から 「.Move.」という表記に変化しているものがあります。 これらが 2ndary Selectionにも対応しているコマンドです 。コマンドの中にはいきなりこのモードに入る種類もあります。

    Secondeary Selection モードへの入り方と解除方法
    • モードへ入るにはコマンド項目をさらに マウスの右ボタンで選択します。

    • (左ボタンでコマンド選択するといつも通りの実行をします)
      モードに入ると、メニューバーが変化し、View とSelect のメニューだけが表示されます。
    • モードを解除するには右クリック押しで「Cancel」 を選択します。
    このモードに入った状態では、頂点や辺、面を左クリックして選択すると、すると青い矢印やマーカーが設定されます(これが基準エレメントです)。
    その他コマンド
    Default axisは、よく使う回転軸を呼び出して適用する機能です。登録方法は、Tools>Set Default Axis で行います。

    Last axis には、2andary Selectionモードで一番最後に設定した 任意の軸が記憶されます。 次回から、変形コマンドで、Last axisを選ぶと、最後に記憶された軸を呼び出して変形が適用されます。


    マグネットモード

    2種類あります
    ・変形コマンド選択時に、altキーを押しながらで選択すると、それをマグネットモードで適用することができます(※マグネット対応コマンドのみ)。
    ・Tweak モードにおけるマグネットモードでは、カーソルが青いもやもやになります。(数字の「1」キーでマグネットモードのON/OFFをトグル)マグネットモードはOFFにするまで永続します。。
    ここでは、前者のマグネットモードについて取り扱います。


    変形コマンド実行時のマグネットモードの操作法
    マグネットモードは、周りの頂点等にも追従する効果を与えます。どの範囲に影響を及ぼすかも指定できます。
    マグネット範囲の調整は、任意の構成要素(頂点,辺、面など)にカーソルを乗せている時に、altキーを押しながらマウスを動かす(マウスボタンは押さない)と青いもやが大きくなったり小さくなったりします。この範囲がマグネット効果の及ぶ大きさになります。
    (逆にマグネット効果の影響を与えたくない部分には、あらかじめ
    マグネットマスク属性を与えることもできます。)

    下の図は、Rotateコマンドのマグネットモードにおけるそれぞれのキーフロー(短縮キーの組み合わせによる進行)の例です。
    Wings3Dのウインドウ一番下のToolTipsには、その時に実行できるキーの組み合わせが表示されるので、迷うことは少ないかもしれません
    キーフローの途中でも無理矢理モードを変更する事が可能です。「最初は普通の回転させようとしたけど、やっぱりマグネット効果にしようっ」のようなこともできます。



    マグネット効果の調整
    マグネットモードでは、マグネットの範囲の終端部分を指定する必要があります。
    下図のグリッドのような平面を、Y軸方向へMoveさせると変化が分かりやすいです。
     
    左から、マグネット効果なし。マグネットのDome, Stright, Spike の効果です。

    各変形コマンドでのマグネット効果(円筒:シリンダー)
    様々な変形コマンドで、円筒に対して、マグネットモードの効果を試してみた
    変化をわかりやすくするため、変形の適用方向はY軸を指定。


    【重要】効果の末端は、必ず選択領域以外の場所を指定して下さい。そうしないと、Radius is Too shortエラーが出て失敗します。




    任意の地点を中心に、回転させることもできます(Rotateコマンド)

    マグネットと回転を利用した曲げ
    vertex|bend, vertex|bend clamp コマンドより手数を少なく曲げられる。



    マグネットマスク


    選択した頂点に対して、マグネットマスク属性を付加するには、メニューの Tool>Magnet Mask を選択します。
    これは選択した頂点をロックしてマグネットの影響を無視(マスキング)する属性を付けます。マグネット効果を適用したくない箇所に利用できます。

    この属性が追加されると、その頂点は マスキング状態がONなら黄緑色に、マスキング状態がOFFなら紫色に変化します。
    また、マグネットマスク属性付き頂点のグルーブは、マグネット効果に対する影響を一時的に切り替えることもできます。


    サブメニューから選んでください。

    マグネットマスク属性のついた頂点について

    マスキングがON状態であれば黄緑色に染まります。このときは、マグネット効果の影響をうけません。
    逆に、Switch Masking Offにすると、紫色に変化します。紫色になっているときは、一時的にマスキング効果を解除している状態で、マグネット効果の影響を受けます。



    ツールメニュー

    Tool - Virtual Mirror

    左右対称のモデルを作成する時に役立ちます。
  • 鏡像作成:メニューバーの Tools >Virtual Mirror > Createを選択すると、選択した「面」に対して鏡像が出現。
  • 鏡像削除:Virtual Mirror >Break で、鏡像を削除。
  • 鏡像実体化:Virtual Mirror >Freeze で、鏡像をが実体化します(削除不可になる)。

  • Window - Tweak Palette

    これはWings3dでメッシュをマウスで押したり引いたりして素早く編集するためのモードで、
    Tweak専用のマグネット効果やRelax などのコマンドが用意されています。
    ただ、使い方が独特なので人を選ぶと思います
    以下はドキュメントがないので調べて判明した事です。

  • 準備:
    メニューバーの Window >Tweak Paletteを選択して出現する3つのパレットを出します。
  • Tweak, Magnet ,TweakAxisの3つがそれです。

  • 有効にする:
    パレットのEnable Tweak, Enable Magnet ボタンを押すとTweakモードが有効になります
    マグネットは必要なときだけ有効にするといいかも。Tweakモード時は既存のコマンドも同時に使えます。
    また、F1,F2,F3のホットキーはTweakAxisパレットのメニューのXYZ軸方向項目と対応しており、
    現在有効になっている項目の先頭に「●」印がつきます。

  • 無効にする: Disable Tweakボタンをおせば機能しなくなります。


  • Tweakモードを使いこなすための定石
    ホットキー+マウスドラッグ前提の操作体系

    1.Tewakパレットは、Moveにする。TweakAxisパレットは全項目未選択にしておく。

    2.選択要素をマウスでドラッグすると適当な場所へ移動させることができます。Move|Freeと同じ
    また、選択した要素をドラッグしながら、ファンクションキー F1,F2,F3のいずれかを長押しすると
    ホットキーを 長押ししている間は、X、Y、Z軸方向の固定移動することができます。

    3.そして、ちょうどいい距離を動かしたら、マウスボタンとホットキーを離すようにします。


    これはRotateの場合も同じです。


    【重要】ホットキーの短押し長押しについて
    マウスで任意のオブジェクトを動かしている時に
    一緒にF1,F2,F3のいずれかを
    短押しすると、移動方向が固定のON/OFFが維持されます。メニューの「●」印を確認すると分かります
    長押しすると、キーが離された時に、移動方向がリセットされます(便利です)。


    Wings3dの仕様でこういう独特なインターフェースになってます;;。
    あと、Macの場合なぜかファンクションキーが効かないので、カスタマイズして別のキーに割り当てて下さい。


    Tweakモードのホットキーをカスタマイズ
    Tweakモードのボタンのホットキーをカスタマイズできます。カスタマイズする場合はTools>Tweak>Axis Constraintとメニューを辿って下さい。具体的なカスタマイズ方法はこちら
    下の例はF1,F2,F3をX,Y,Zキーに置換えたものです

    Wings3Dインストール直後、TweakモードでのXYZ移動の為の[F1],[F2],[F3]キーが機能しない問題について。
    メニューからTools>Tweak>AxisConstraint>もしくはTweakモードでCTRL+右クリックで出てくるメニューでAxisConstraint Xに[F1],Yに[F2],Zに[F3] キーを再度登録して下さい。(Wings3Dでは1つのコマンドに複数のホットキーを登録可能なため、この前にこれら3つに登録してあるホットキーを全て解除してから行えば混乱が少ないです)


    Tweakモードの対応関係


    任意の辺や面の方向へ移動する場合は、Move+Element Normal または Element Normal (Edge)で行う方が簡単かもしれません。

    Relax コマンドは、もつれたメッシュ(左)をほぐして編集しやすくするための機能です。


    Tool - Boundary Box

  • 入り方:
  • なにかオブジェクト(頂点、面,立体など)を選択した状態で、メニューバーの Tools >Saved BBを選択する。
    選択したオブジェクトを全てを含む空間を依り代に、青い点線の箱(Boundary Box)ができる。

  • 使い方:
  • あるオブジェクトをBoundary Boxに内包するように配置する
    そして、Tools>Scaled to Saved BB を実行するとオブジェクトに対しBoundary BoxのScaleが適用される。 (オブジェクトが箱の形に合わせて強制的に押し込められる感覚。)
  • 抜け方:
  • Boundary Box を消すには、何も選択してない状態でTools>Saved BBする。

    Tool - Align

    BoundaryBox の中心を基準に、Boundary Box 領域内にある選択オブジェクトを中央揃えに整列します。基準点はBoundaryBox の中心です。
  • Radial X は YZ軸
  • Radial Y は XZ軸
  • Radial Z は XY軸
  • All は、すべての軸の中心(BoundaryBoxの中心)に整列します。

    Tool - Center

    XYZ軸ガイド の中心を基準に、選択オブジェクトの整列を行ないます。
  • All は、すべての軸の中心(XYZ軸ガイドの中心)に整列します

  • Tool - Boundary Box(調査中)

    BoundaryBoxを作成する方法
    無選択時の右クリックメニューでBoundaryboxダイアログを設定し、寸法(dimension)と、中心(center point)の位置を入力して作成します。

  • Saved BoundaryBox BoundaryBoxを消去するらしい?
  • Scale to Saved BB > オブジェクトを、BoundayBoxの大きさに合わせて拡大縮小変形。
  • Scale to Saved BB Proportionally > オブジェクトを、大きさを崩さずに変形? 良く分からない。
  • Move to Saved BB > オブジェクトを BoundaryBox の中心点へスナップ移動
  • Move BB to Selection > ALL BoundaryBoxの中心点を、選択部分の位置に移動
  • Scale BB to Selection > ALL BoundaryBoxの大きさを、選択部分のあるオブジェクトを包む大きさへ変更。

  • BoundaryBoxは1個しか作成できない?

    Move saved BB
    Scale saved BB

    Geometry Graphウインドウ



    オブジェクトの表示管理をします。このウインドウを出すには Window>>Geometry Graph を選択。

    モデルごとに、表示/非表示、ロックが設定できます。(下図)
  • 左端△アイコンをクリック:選択/非選択
  • 目玉のアイコンをクリック:表示/非表示
  • 錠前のアイコンをクリック:ロック/アンロック
  • 右端△アイコンをクリック:辺を表示

  • Outliner ウインドウ

    マテリアル及びテクスチャイメージの管理をします。マテリアルは物質特性(反射率や透明度、テクスチャなど)に関する情報です。

    このウインドウを出すには、メニューから Window>>Outliner を選びます。ここでそれぞれの情報を編集できます。(下図)



    テクスチャとして使いたいイメージ「Cube1_Image」 を
    マテリアル「Cube1_auv」 に適用する。

    イメージ項目を選択し、右クリックメニューから、 Pick up Image を選択、
    適用したいマテリアル項目を選択し、右クリックメニューから、
    Drop picked object を選択。
    Outlinerウインドウでは次のようなアイコン&項目で管理されています。
  • △ モデル
  • [M]マテリアル
  • 田 イメージ(テクスチャ)
  • Image Plane

    下絵のこと。上面図、側面図、正面図などの画像 を下絵として読込んで、これを元にモデルを制作することができます。

    Image Plane を作成すると、マテリアル と イメージ項目 のペアが作成されます。これはマテリアルのほうを削除すれば画像のほうは残ります。 背景を透過させるアルファチャンネルは TIFF またはTga形式(未確認)が対応しているらしい。 アルファチャンネル画像は背景部分を作っておくと適用されます。

    Outlinerに、マテリアルやイメージを追加する

    Geometryウインドウで右クリックメニュー。
    以下のコマンドを選択できます。
  • Material... :マテリアルを新規登録。透明度や反射率。
  • Image... :イメージ画像の作成(市松模様等)。
  • Image Plane... :外部イメージ画像の読込。

  • 追加されたリソースはOutliner ウインドウで管理されます。
    外部イメージはテクスチャなどに利用できます。

    マテリアルを編集する

    Outliner ウインドウで項目を選択し右クリックメニュー。
  • Show : テクスチャが設定されている場合、画像を表示
  • Edit Material...: マテリアルを編集する(左図中央)
  • Select :マテリアルが適用されているエレメントを選択。

  • マテリアルにイメージを設定する

    2つの方法があります。
  • イメージ項目を マテリアル項目にドラッグ&ドロップするだけ。
  • イメージ項目を選択し、右クリックメニューから、 Pick up Image を選択、
  • 適用したいマテリアル項目を選択し、右クリックメニューから、Drop picked object を選択。(左図)

    すると、 Texture Type を聞かれるので Diffuse,Gloss, Bump(high),Bump(Normal)から選びます。これで、マテリアルにイメージを設定することができます。

    マテリアルをモデルに設定する(テクスチャを張る)

    Geometryウインドウ、面選択モード状態で右クリックメニュー。
  • .Material. : 選択した面にマテリアルを適用する。
  • 今まで登録したマテリアルが選べます。マテリアルに イメージが設定されていれば、テクスチャとして適用されます。

    内部/外部テクスチャ化する

    Wing3dでは通常、UVマッピングでテクスチャ画像を切り出したり、Image...コマンドで市松模様を作成したときには、内部埋め込み画像として保存されます。
    上図の 「Cube1 Image」 の右クリックメニューの中に、Make External... というコマンドがあります。これを選択することで.bmp形式で外部に書き出されます。 モデルデータのファイルと同じディレクトリに書き出しておきましょう。

    外部ファイルにする利点は、他のグラフィックエディタで画像を編集できることです。 画像を編集保存した後は、また同じようにイメージ項目で右クリックメニューを出すと、今度はRefresh というコマンドがあるので、それを選ぶと変化が反映されます。

    コマンドには、Make Internal... と Make External... があり、やっぱり内部埋め込みに戻したい場合は、Make Internal... コマンドを使います。

    UVマップを作る

    Wings3dでのUVマップとテクスチャの関連づけ方を解説します。
    簡単に説明すると下図のように 3 Stepで関連づけられますが、それまで準備することや、知っておくべき事があります。


    1.オブジェクトをUV展開する
    2.読込んだテクスチャを既に作成したマテリアルに関連付ける
    3.マテリアルをさっきのオブジェクトに関連づける

    以下詳細を順番に説明します。
    データはこのように結びついたとき、テクスチャが張り付けられます。
    UVMapとこれらを関連づけていく事が目的です。
    UVMap←→ 面の集合 ←→ マテリアル←→ テクスチャ

    既存のUVマップを見る方法
    2つの方法があります。 ※【重要】UVEditor 作業時の背景画像は、UVが1つのマテリアルに対応している場合関連づけられたテクスチャが表示され、UVが2つ以上のマテリアルを持つ場合デフォルトのテストパターン(BG_auv:アルファベットが書かれている模様)になります。この場合はアウトライナーの任意のテクスチャ項目をUVEditorウインドウ内にドラッグ&ドロップすると、UV Editorの作業時の背景画像を切替える事ができます。
    ↑この切替えは、保存したモデルを再度読込ませた時に有効になります(このときBG_auv画像がが自動的に生成されます)。それ以外の場合(造った直後)は貼った面のテクスチャが変わります。
    UVマップについて
    ※オブジェクト1個に対応するマテリアル及びUV項目は1つオブジェクト「cube」 なら 「cube_auv」がそれ。
    ※【重要】1つのオブジェクトの選択面を何回かに分けてUVデータとして追加した場合でも、必ず対応するUV項目へ追加されるようにできています。他のオブジェクトのものと混じりません)
    ※combineコマンドで、UVデータの存在する2つのオブジェクトを1つにまとめた場合、それそれのUVデータも保持されたまま合流します。


    Micheus氏によるUVマップの解説動画(英語)
    ‪UV Map - The basic - Unfolding (Part 1)‬‏
    ‪UV Map - The basic - Unfolding (Part 2)‬‏
    ‪UV Map - The basic - Multiple mapping (Part 3)‬
    ‪UV Map - The basic - Sphere map (Part 4)‬‏


    UVMapの作成 と 面の関連づけ

    オブジェクトは1回で全てSegmentに切り分け関連づけるやり方と、複数回に分けて関連づける方法があります。
    何回かに分ける場合、部位の形状に応じて最適な投影方法を指定して展開する事も可能です( Multiple mapping )
    その時展開したUVマップは、同じオブジェクトに所属するものであれば全てそのオブジェクトに対応するUVデータ上に追加されます。

    例えば、上半分がスフィアマップで下半分がシリンダーマップとして展開する→参考動画‪UV Map - The basic - Multiple mapping (Part 3)‬

    要素を選択
  • 1:準備として、UV展開したい面を選択しておく(モデルの一部分またはモデル全体)
  • .
    UVMappingコマンド実行
  • 2:右クリックメニューから.UVMapping.を選択(左クリックで)。

  • 【重要】UVMapping コマンドについて
    コマンドを選択する際にマウスのどのボタンで実行するかで違いがあります。ヘルプ文字列にはそれぞれ次のように書かれています
    • 左ボタン --Generate UV map or Texture: UV展開
    • 中ボタン -- Re-segment of objects:オブジェクトの再セグメント化
    • 右ボタン -- Forced to segment mode(delete old Segments):強制セグメンティングモード

    これら機能は分かりやすく説明すると以下の通りです。
    • 左ボタン:初めてUV展開する時に使う。もし既存のUVデータがあれば、UV Editorが開く。
    • 中ボタン:UV展開をやり直す時に使う。(前回設定したシームやチャートが残っている)
    • 右ボタン:UV展開をやり直す時に使う。(前回設定したシームやチャートも削除して最初からやり直す)
    中クリック、右クリックどちらも、UV展開をやり直すためにセグメンティングウインドウを出します。違いはセグメンディング時に前回設定したシーム(切り込み)やチャートを生かすか、削除して全部やり直すかにあります。
    セグメンティングについては次のSTEPで説明します。
    .
    セグメンティング作業(初回)
  • 3: UVMapping コマンドを、マウス左ボタンで実行した場合、Auto UV Segmenting ウインドウが出現します。

    セグメンティング(Segmenting)とは、 UV展開のために、面を分割したり、切り込みを入れる作業です。
    セグメンティングウインドウ上部のアイコンバーでは、辺モードと面モードに切替えることができます。

    • 面モードで指定する方法:切り分ける部分を面の固まり(Auv Chart:チャート)として指定する。(後でチャートごとに切り分けられます)
    • 辺モードで指定する方法:切り込み線(Seam:シーム)を直接指定。Mark Edge for cut
    例えば、ポリゴンを囲む辺が多く切り込みを入れるのが大変なら、面モードで素早く面のかたまりとして指定できます。また円などそのままでは展開できない場合、辺モードにして、ピンポイント切り込み線を入れる事ができます。

    セグメンティング手順
    セグメンティングモードでは、右クリックメニューは以下の通り
    • Continue(両モード):セグメンティングを確定して、次の段階(UV展開方法)へ進む。
    • Segment By(両モード):自動でセグメンディングする
    • AUV Chart(面選択モードの時):選択した面を手動でセグメンティング
    • Mark Edges for Cut(辺選択モードの時):選択した辺に切れ込み(シーム)を入れ、手動でセグメンティング

    • Unmark Edges(辺選択モードの時):切れ込みを消す
    • Select(両モード):部分を選択する

    自動でやる
    マウスの右クリックメニューで、「Segment By」を選択 →サブメニューから 「Projection」 または 「Feature Detection」を実行する。例えば、Feature Detectionは、自動でオブジェクトの特徴(立方体や円柱等)に応じて、最適な割り当てを行います。部分的にUVを展開する場合は、Projectionを使えば選択面の正面から投影した割り当てを行います


    手動でやる
    1)オブジェクトの面を複数選択 → 右クリックメニュー → 割り当てるチャートを「Auv Chart1〜9」から選択。割り当てられた面は色で塗り分けられます

    ※円柱の上面や底面や、同一セグメントが同じ辺を共有している場合(例:下図を参照)注意して下さい。普通に選択しただけでは、テクスチャは変な形に切り出されます。


    2)そのような場合、 continueする前に辺選択モードに入り、必要に応じて切り込みを入れたい辺を選択し、右クリックメニューから「Mark Edge for Cut」 を選んでください。


    切り込みを入れることで、4面体のサイコロのテクスチャを、展開図のように一枚の連続した平面として扱ったり、 空き缶のような円筒モデルの側面を長方形セグメントとしてテクスチャを切り出したりできます。


  • .
    セグメンティングを確定
  • 4:右クリックメニューで、Continueを選択。
  • .
    UV展開する方法を指定
  • 5:
    今回は右クリックメニューで、Unfolding / Normal を選択。


    【その他のUV展開オプション】
    Unfolding....切り込み線で展開
    Projection Normal....チャートごとの法線(上下左右前後)で投影したものを展開
    Projection Camera....プロジェクションマッピング 2D画像を3Dにみせる技術 (オブジェクトを二分する切り込み線が1つ必要)
    Sphere Map....球状のオブジェクトに最適(南北を分ける切り込み線が1つ必要)
    Cylindrical Map...円筒状のオブジェクトに最適(南北を分ける切り込み線が1つ必要)

    【どれを使えばいい?】
    ほとんどの場合Unfolding や Cylindricalを使うようです。
    部位にあわせてUV書き出しを組み合わせもできます。最適な使い分けは次の表にまとめました。
    用途 Wings3dのUV展開オプション
    複雑な形状のほとんどの場合Unfolding
    箱やビルのような単純立体Projection Normal
    地表、壁のレリーフ、2D画像を3Dにみせる処理Projection Camera
    球体、恒星・惑星や頭部(要編集)、天空Sphere Map
    筒状の何か、木の枝、四肢、パイプ等Cylindrical Map
    フォーラム:AutoUV tuts & helpful info(英語)
    参考サイト:Gamasutra - Features - UV Mapping Tips And Tricks(英語)

    【関連情報】
    ●CANOMAというソフト--カメラプロジェクション ‪CANOMA「飛び出す絵画」‪Simple Test of Canoma‬‏
    ●カメラプロジェクションのシンプルな解説。空間に置いた箱 ‪Projection Mapping‬‏ - YouTube
    ●カメラプロジェクションのタネと仕掛け:‪mansion matte painting using Camera projection‬‏ - YouTube
    ●After Effect での作り方:‪Create camera movement through a 2D image Photoshop and After Effects Tutorial
    ●スフィアマップのやりかたHow to SPHERE Map Jupiter with AUTOUV ?‪UV Map(Part 4)‬‏ Micheus氏による解説動画
  • .
    UV Editorで作業
  • 6:UV Editorが起動。Auto UV ウインドウが現れ、テクスチャの展開図が表示される。
  • Auto UV ウインドウ内の平面オブジェクトは切り出されたセグメントです。これらを自由に配置、伸張、回転、削除したりできます。

    Outlinerウインドウには、このセグメントに関連したマテリアル(例えば「cube1_auv」)とテクスチャ項目(例えば「auv_BG」)が追加されました。

    関連づけの状態はこのようになっています。
    UVMap←→ (面) ←→ マテリアル ←→ テストパターン画像(内部テクスチャ)
    しかし、この状態ではまだ不十分です。なぜならテクスチャが、テストパターンになっているためです。


    .
    テクスチャの置き換え(任意)
  • 7:
    テストパターン(auv_BG)を目的に応じて置換えてください/
    目的に応じて2つの方法があります。

  • 1)外部の画像に置換える。(作ったテクスチャをUVに重ねたい)
  • 2)辺や面のアタリをテクスチャに焼き込む(これからテクスチャを作る場合)


    1)
    Geometryウインドウに切替え、File>Import image でアウトライナーへ画像を追加する、または既にアウトライナー リストにあるテクスチャ項目を、マテリアル(例えば「cube_auv」)へドラッグ&ドロップ(テクスチャタイプはDiffuseを選択)するとマテリアルへテクスチャを割り当てする事ができます。
    これはUVウインドウを出したまま行う事も可能です、このときリアルタイムにテクスチャが変化します。
    外部テクスチャ

    2)辺をテクスチャに焼き付ける方法を説明します。
    Auto UV ウインドウ上で、右クリックメニューを出し:「Create Textture」を選択。
  • .
    テクスチャへ焼き付け(任意)
  • 8:ダイアログに従ってテクスチャを作成していきます。

  • .
  • 9 :

    関連づけの状態はこのようになっています。
    UVMap←→ (面) ←→ マテリアル ←→ 内部テクスチャ(辺を焼き付け)
    もし、内部テクスチャを書き出したい場合は、イメージ項目を右クリックメニューで開き、Make External... コマンドを選択。 すると外部テクスチャとして保存されます。あとはこれをグラフィックエディタで編集します。


  •  

    外部テクスチャとの関連付け


    たとえば、既にWings3Dでモデルを作成後、なにかモデルに追加や変更があって、
    描き直した テクスチャ画像に合わせて、UV座標位置も調整しなければいけないことがあります。


    展開図の編集は、下絵があったほうがいいので、
    まず、新規テクスチャ用画像を読込む:
    ※Image項目を削除するには、マテリアル編集でImageとの関連を切ってからしないとできません。 次に、UVウインドウで、テクスチャ用画像を更新、UV座標位置を編集:
  • 1. AutoUVに、新しいテクスチャ画像がオーバーラップされるので、
    UV座標位置を調整する。


  • これで「UVMap」「面」の関連づけが終わりました。
    UVMap←→ (面) | マテリアル| テクスチャ
    .

    外部テクスチャの関連付けを行います。

    面選択→マテリアルの関連づけ:右クリックメニューで「.Material.コマンドでマテリアルを選ぶ。
    マテリアル→テクスチャの関連づけ:マテリアルにイメージを設定する の部分を参照下さい。

    テクスチャ画像項目を右クリックメニューでPickしておいて、同じようにマテリアル項目を右クリックメニューからDropすることで関連づけられます。
    (もし、うっかりマテリアルを削除した場合、Outlinerで右クリックメニューからマテリアル新規作成する)
    UVMap←→ (面) ←→ マテリアル←→ 外部テクスチャ

    UV展開フローチャート

    2つの作業スタイル
    UVシェルをピン留めする方法。


    【AutoUV右クリコマンド】

    [Geometry-window Commands |AutoUV-window Commands]v1.2
    Wings3DのUVセグメントと、テクスチャの割り当てを編集します。このエディタでは平面(2D)を扱います。
    メニュー項目にリストされるコマンドは、下の表の通り、今現在選ばれている選択モード(頂点、面、辺、全体) によって変化するので、
    コマンドが見つからない場合は、まず選択モードを変更してみるとよいでしょう。
    AutoUVエディタ特有の視点操作、変形コマンド(Wings3Dv1.2の場合)。
    • Create Texture は全部にある共通コマンドです。
    • AutoUVエディタのMoveコマンドは、セグメントをダイレクトに動かせます。
    • UV平面の面選択と全体選択モードのRotate コマンドには、サブコマンドが存在せず、ダイレクトに回転します。
    • 背景テクスチャを隠す/表示する時は、Select>Show/Hide Background Image を選択。

    • 全体選択モードは、UVマップを構成する分割された領域(UV Chart)ごとを取扱います。

    • Altクリック後、マウスを動かすと、上下左右に視点が動く(ドリー)
    • Altクリック後、Alt/CTRL+ドラッグ またはマウスホイールを回すと、視点がズームイン/ズームアウトできます。
    • SHIFTキーを押しながら移動すると、移動量がとても大きくなる。
    この時の視点移動量をカスタマイズは、初期設定 Prefercence のCamera タブ項目 で設定できます。値は87くらいが良いかも。
     通常のPanの設定値を変更した場合はドリー量が大きくなります。 (※この設定は、GeometryWindowでの Alt+クリック「Q」のマウスによる視点移動量にも反映されます。

    座標の向きは、↑Y方向(緑)→X方向(赤)

    AutoUV右クリコマンド

    AutoUVエディタをアクティブにしているとき、マウスの右クリック(またはCTRL+クリック)で出すことができるメニュー。

    【重要】頂点選択モードの回転のみ特殊な挙動を示します。他のモードでの回転は複数のUVシェルを選択した場合それぞれが、その場で回転してしまいます。それに対し頂点選択モード(Vertex)での回転は位置関係を保ったまま全体を回転することができます。(拡大縮小も同じ) この仕様は3Dにおいても共通しています。
    赤文字はサブコマンドです。

    UV頂点選択モード -- Vertex

    UV辺選択モード -- Edge

    UV面選択モード -- Face

    UVチャート選択モード -- Body

    UVマップが無い場合

    UV平面頂点に対して UV平面の辺に対して UV平面の面に対して UV分割領域 に対して テクスチャ生成

    Move (移動)
    Scale(拡大縮小)
      *Uniform(一定比率で)
      *Horizontal(水平方向に)
      *Vertical(垂直方向に)

    Rotate (回転)
      *Free(位置関係保持)
      *Chart to X
      *Chart to Y


    Flatten (平均化)
      * X(縦に揃える)
      * Y(横に揃える)

    Tighten(比例効果)

    Unfold (UV展開)
    SphereMap(球面UV展開)

    CreateTexture(テクスチャ生成)

    Move
    Scale
      *Uniform(一定比率で)
      *Horizontal
      *Vertical

    Rotate
      *Free(個別回転)
      *Chart to X
      *Chart to Y

    Slide(辺にスライド)
    Distribute(分布?)
      *Horizontal
      *Vertical



    Cut(UVを切り離す)
    Stich(2辺を選択して接合)

    Create Texture(テクスチャ生成)

    Move
    Scale
      *Uniform
      *Horizontal
      *Vertical

    Rotate


    Projected-Unfold(投影方式でUV展開)

    Create Texture(テクスチャ生成)

    Move
    Scale
       *Uniform
       *Horizontal
       *Vertical

    (テクスチャ一杯に拡大)
       *MAX Uniform
       *MAX Horizontal
       *MAX Vertical
       
       *Normalize Sizes
    Rotate(個別回転)


    MoveTo(配置)
       *Center
       *Center X
       *Center Y
       *Bottom
       *Top
       *Left
       *Right

    Flip(反転)
       *Vertical
       *Horizontal    

    Tighten(比例効果)

    Hide(隠す)
    Delete(UVを削除)

    ReMap UV

    Create Texure(テクスチャ生成)
    Create Texure(テクスチャ生成)

  • Vertex | Flatten (平均化) 
  • 頂点を整列させたりする時に便利です。


  • Edge | Cut (UVセグメントを切り離す)

  • Edge | Stich (2辺同士をくっつける)

  • UVデータの削除について: delete で一度作ったUVデータを削除するとUVEditorからは見えませんが、実は内部では(0,0)のデータとして残っています。その証拠にテストパターンの左上のピクセルが反映されるので、元々割り振られていた面がゴールド色になることが分かっています。
    ※UVデータはUndoが効きます。もしUV展開が失敗しても、1つ前に戻す事が可能です。

    Create Texture

    面の色や、UV展開図を画像に焼き込んだりするために使います。アンビエントオクルージョンや、頂点カラーをテクスチャとして作成する事ができます(ただし、現時点ではアンビエントオクルージョンとテクスチャを合成することはできません)。基本的にUVシェル部分に覆われた箇所が描画されます。


    Backgroundで指定したImage項目が、内部,外部テクスチャ問わず描画対象になります。内部テクスチャは元に戻せません(Undoできません)が、外部テクスチャではアウトライナーからRefreshコマンドを使えば画像を元に戻せます。


    ●Create Textureコマンドで内部テクスチャに生成出来るもの
    役に立つのは、Background,DrawEdge,DrawFace、他は Wood,Noiseくらいです。


    Wood と Noise 効果について、パラメータと結果の一覧を載せておきます。 (プレビュー機能が無いため)


    面の色を焼き込む

    面の色をアタリとしてテクスチャに焼き込むこともできます。

    外部テクスチャを加工後


    アンビエントオクルージョン

    AmbientOcculsion(環境遮蔽)は、光源により発生した陰影をテクスチャに焼き込むことで、画面に深みやメリハリをもたせる方法。Wings3dでは メニューのTools>Ambient Occulusion を実行すると ジオメトリ内のすべてのオブジェクトに対して実行されます。


    陰影は白から黒へのぼんやりしたグラデーションによって表現されます。
    【注意】アンビエントオクルージョンは、Wings3dの頂点カラーを利用しています。そのため、面や辺に頂点数が少ないオブジェクトには影が発生しないことがあります。(単純な立方体より、ルービックキューブのようなメッシュ立体のほうが陰影が発生しやすい)その場合はアンビエントオクルージョン用に頂点を増やすなど対策が必要です。

    静止画で活用する(プレビューのみの場合)

    静止画の場合、UV展開後、対応するマテリアルを編集ウインドウから、Vertex ColorをMultiplyに設定すると、ジオメトリウインドウのプレビューでも既存のテクスチャにアンビエントオクルージョンが反映されます。(※これはWings3d内での効果のようで、外部レンダラー(Kerkythea等)で試してみましたが、変化無しでした...)

    左:ignore(デフォルト)、右;Multiply(アンビエントオクルージョン適用)
     参考サイト:第7区画 ?3DCGソフトの備忘録? -アンビエントオクルージョン (3dsMax)-   

    動かすモデルで活用する(テクスチャに焼き込む場合)
    もし、ゲームや動画に用いる為に、陰影を焼き込んだテクスチャ自体が欲しい場合は、この後、UV展開しUVエディタからCreateTextureコマンドを使って作成します。アンビエントオクルージョンの場合は、DrawEdgeを使わず、描画パスにDrawFaceを追加してください。(左図)




    白〜黒の陰影のみテクスチャに書き出されるので、既存のテクスチャと陰影を合成するなら、PhotoshopやGIMPのようなグラフィックソフトで合成するとよいでしょう。(v1.4.1現在)


    アンビエントオクルージョンの例(※テクスチャ未適用):



    アンビエントオクルージョンの頂点カラーを焼き込む方法はWings3D v2.1.6でも変わりません。


    テクスチャのタイリング

    UVEdit画面で、UVセグメントを画像ファイルの大きさよりも大きくすると、タイリングされます。
    この効果はテクスチャ画像全体を使用するため、大きいテクスチャサイズ(512x512ピクセル)よりも、小さなテクスチャサイズ(64x64ピクセルなど)で用いたほうがよいかもしれません。

    テクスチャのタイリングはTools>SnapImageツールでも行う事ができますが、UVEdit画面でやるほうが簡単です。

    2つ以上のテクスチャを貼りたい


    オブジェクトつに複数のテクスチャを貼ることができます。そのためには複数のマテリアルを使わないといけません。
    また、UVの重なりの状態がテクスチャの貼り付けにどのように影響するかも知る必要があります。


    ここでまずマテリアルの一番単純な例から説明します。1枚のテクスチャ画像ですべて済ませるケースです。
    1つのオブジェクトに、対応するUVは1つ、対応するマテリアルも1つ、そしてテクスチャも1つづつ関連づける場合。
    これが次の画像です。これはUVマップが重ならずに配置されているのが分かり、
    どこに絵をかけばオブジェクトのどの部位に現れるか見当がつきます。

    この画像の状態は:UV---モデル(の全ての面)---マテリアル1つ(cylinder2_auv) と関連づけられています。



    次に、1つのオブジェクトに複数のテクスチャが貼られている場合のUVマップをみていきます。
    これは円形の断面2つと、チューブ状の側面上下が重なっています。ここで注目してほしいのは、 同一のUVを重ねている他に、別のUVとも重なっていうことです。
    このようなケースは、Web上で配布されてる3Dデータ等でも見かける事があります。

    以上の事を踏まえて2つ以上のマテリアルと貼られた面の状態について説明します。
    普通にモデルを作成してUVを展開した場合、テクスチャを普通に貼るとこのようになります。
    断面は側面より大きいので扇形の模様が表示されています。
    UV---モデル(の全ての面)---マテリアル1つ目(cylinder2_auv)---テクスチャ(cylinder2_auv.bmp)


    ここで、2枚目の別のテクスチャを側面に貼りたいと思います。
    まず「Circle Material」という名前の新規マテリアルを作成し、側面の円状のポリゴン2つに割り当てます。
    マテリアル割り当て直後はマテリアルにテクスチャが関連づけられていないので灰色のままです。
    これで、UV---モデル(の特定部位の面)---マテリアル2つめ(Circle Material)が関連づけられた状態です。


    次に、別に作っておいたテクスチャcircle.bmp を外部テクスチャとして読込ませます。
    読込んだcircle.bmpはアウトライナーに項目として現れます。


    アウトライナーのテクスチャ「Circle.bmp」項目を、マテリアル「Circle Material」項目へドラッグします。
    これが、UV---モデル(の特定部位の面)---マテリアル2つめ(Circle Material)---テクスチャ(Circle.bmp)が関連づけられた状態。


    今度は、側面の円状のポリゴンの一つを、 別のマテリアル「cylinder_auv」に関連付けし直したものが次の画像です。
    該当部分が別のテクスチャに置き換わっていますね。



    このように、複数のマテリアルを使うと1つのオブジェクトに2つ以上の画像を張り付けることができます。
    部分的にテクスチャを変更可能な事で、別バージョンのモデルにしたり、キャラクターの表情を変えるといった用途に使えます。

    【重なりのせいでUVが編集しずらいと思ったら...】
    Wings3dのUVエディタの格子はテクスチャのタイリングを表しています。
    そこで次の画像のように、重なったUVパーツを、隣の格子に収まるように配置しても上手く表示されるようになっています、

    これでUV編集の邪魔になることはないでしょう。

    SnapImageツール

    Tools>SnapImageツールの機能は2つあります
    このSnapImageモードに入ると、全体選択モード以外の右クリックメニューにSnapImage関係のコマンドが追加されます。
    3D制作ソフトウェアのメタセコイアの焼きこみによるUVマップの展開法と似た機能です。

    SnapImageによるCameraProjection
    【注意】SnapImageモードに入る前に、必ず作業前にジオメトリ画面を2つ(オブジェクト編集用とSnapImage確認用)出しておくこと。

    ↑上の画像は誤ってSnapImageモード後に2つ目のウインドウを出した様子です。
    両方のウインドウに画像がオーバーラップして作業がしずらいです。
    またこの状態でSnapImageモードから抜けると、バグでエラーが発生します。これはWings3dを再起動すると直ります。


    SnapImageツールによるCameraProjection手順
    両方のウインドウを見比べながら↓このように編集します(Public Domainの街路写真を元に建物をモデリング)

    ※視点を変えてしまったら再び合わせるのは難しいです。


    SnapImageによるタイリング
    SnapImageツールのもう一つの機能がこれです。対象面が既にUVマッピングしてあることが必要です。

    メニューバーから、Tools>SnapImage するとダイアログが出て画像を選択、Snap Imageモードが開始します。
    このモードでは、ジオメトリウインドウの背景に半透明に対象画像が表示され、各選択モードの右クリックメニューにSnap関係の項目が追加されます。
    テクスチャ繰り返しのプレビューはその背景の半透明画像として表示されます。編集はマウス移動のほか、TABで数値入力指定ができます。

    テクスチャの回転は?
    テクスチャの回転はジオメトリウインドウのカメラ視点の回転に対応しています (例えば、テクスチャを張る面をY方向から見下ろしていた場合、編集画面上、 オブジェクトの面が45°回転していた場合、テクスチャの回転も45°になる。下図参照)


    有用なコマンドは次の6種類。

    SnapImageコマンド一覧
    もし、メニューにSnap Image項目がでない場合、「全体選択」以外の選択モードに変える。

    後で、UVEditorを見るとUV座標が変化しているのが分かります(平行四辺形になったりする)。 これはUV座標が滅茶苦茶になったわけではなく、テクスチャ繰り返しや回転に必要な変形であることに注意して下さい。

    光源(Light)

    光源はオブジェクトの一種なので、新たに画面上に作成するには、全体選択モードの無選択状態にしておきます。
    それで、右クリックまたは CTRL+クリック で、コンテキストメニューから「Light」を選びます。
    そしてサブメニューから、光源の種類を指定します。これで光源がGeomertyウインドウ内に配置されます。

    光源の種類

    • Infinity: 平行光源。無限遠にある光源から一定方向へ照らされる光。太陽光等。
    • Point: 点光源。全方位に発光す光。光源から遠いほど影響が弱くなる。
    • Spot: スポットライト。ある一定方向へ照射される光
    • Ambinet: 環境光。そこに存在する、あらゆる物体を穏やかに照らす。
    • Area Light: ある領域だけを照らす事ができます。 黒部分は裏側で発光しません
      (Wings3Dでは通常作成の他、オブジェクトから変換可能)
    光源の色や照らす範囲を設定するには、コマンドと、Outlineウインドウ の プロパティを使って下さい。

    【光源を使う際の注意】
    OpenGLの Max Number of Lights (光源の最大数)により、光源の使用は8つまでが無難です。それを越えると機能しません。
    Wings3Dのメニューから Help>OpenGL Infoを選択することで、グラフィックカードの対応情報を確認できます。



    光源の設定手段

    光源を設定する手段は2種類あります(設定は重複するものがあります。)。 コマンドにしかない機能で重要なものには、照射方向を決定する「Position Highlight」コマンドがあります。  
    下の表は、コマンド/プロパティをまとめた一覧です。


    Wings3D v1.3.0での仕様:
    右クリックメニュー(またはCTRL+クリック)の、Light Colorコマンドは、HSV形式で色を調整することに注意。(H=色相、S=彩度 V=明度)
    Position Highlight コマンドは、光源の照射する中心点を決めることができます。デフォルトでは原点(XYZガイド軸の中心)になっています。

    光源が照らす範囲を表示する

    Wings3Dで、配置した光源が照らす範囲を表示するには、メニューからView>Scene Lights を選択して下さい。
    この表示を無効にするには、View>Scene Lights を再選択するか、他のシェーダに切り替えて下さい。
    (この効果は 他のシェーダとの併用はできないようですv1.3)



    左図はKerkytheaでレンダリングしたもの、右図はWings3Dの編集画面です。

    シェーダー表示一覧

    これらはあくまでWings3D上の表示であって、Kerkythea等での外部レンダリングには反映されません。(v1.4.1現在)

    光源の設定

    光源の設定をコマンドで変更する場合、Scene Lightsモードで確認すると変化が分かりやすいです。



    グループ

    選択領域を複数登録しておいて、好きな時に呼び出して使います。
    選択した要素と、登録グループの種類が異なる(Vertex → edge)場合でも自動的に解釈されます。
    現在の選択領域に対し、色々な演算を適用することで選択領域を絞り込ませることもできます。



    3D/2D形式&プラグイン

    プラグインの種類と、出来る事

    Wings3Dで読込んだ画像はどうなるのか?
    File>Import Image 外部テクスチャ としてOutliner へ追加される
    Body(全体選択モード) Image Plane... 内部テクスチャ としてOutliner へ追加される。※ Image Planeコマンド実行時には、画像が張り付けられたビルボード状態の3Dオブジェクトとしてインポートされる。
    UV作成後にCreate Texture 内部テクスチャとして生成される。Outliner へ追加される。※

    用途別の読込み方 テクスチャ用、モデリング用、合成用の下絵など。
    Tools>Snap Image 作った3Dモデルを写真画像に合成したいときに画角やパース合わせに利用できると思います。 カメラ視点/レンズを、背景にタイリングされた画像のパースに合うように変えてみましょう。 (※この方法は、モデルの位置をむやみに動かさなくて済むので、非力なPCへの負荷もも少ないです。
    Body(全体選択モード) Image Plane... このコマンドで読込んだ画像はビルボード状のオブジェクトとして張り付けられます。 3面図や設計図などの画像を読込めば、モデリングの下絵として利用する事ができます。
    ※Outlinerに読込まれた画像の項目を、PickupしてマテリアルにDropするとテクスチャを貼れます。
    一つのマテリアルにつき、拡散光(Diffuse)、光沢(Specular)、バンプマップ(Heightmap)、ノーマルマップ(Normal)を重ねて使用可能。

    出入力ファイル形式

    File>> Export で、別の3D,2Dのデータ形式でファイルとして書き出します。
    Export Selectedは通常のExportと違って、選択部分のみ保存されます。

    オプションの右のマーク?(丸く囲んだ部分)クリックできるものは、Export時に、テクスチャフォーマットを(bmp以外)に変更することもできます。
  • Wings3d 標準形式の〜.wings のファイル は、通常1つのファイルに マテリアル、テクスチャ画像、モデルデータが埋め込まれた形で保存されます。
  • テクスチャ画像やImagePlane(下絵)画像の読込みは bmp/TIFF/tga形式 に対応しています。アルファチャンネルに対応したTIFF/tga形式も読めます。
    例外としてテクスチャ画像は、編集時に、埋め込み(Internal)か独立したファイル(External )か任意で選択できます。テクスチャは独立したファイルで書き出すと、外部のグラフィックエディタに読込んでテクスチャに色を塗ったり、その変化をWings3Dで確認しながら作業できます。

  • Kerkythea(.xml) 形式(出力)

    レンダラーアプリケーションKerkytheaで読み込み可能な形式で保存します。カメラ位置はGeometryウインドウの表示が反映され保存されます。
    Wings3Dのマテリアルの編集ダイアログには、KerkytheaとPovray用の設定欄があります。



    レンダラーのインストールと設定方法も合わせて読むと便利です


    WaveFront(.obj) 形式(出入力)

    作ったデータをOBJ形式で書出せるモデラーは多いです。テクスチャ(.bmp)とマテリアル(.mtl) も同時に書き出されます。他のソフトBlender Art of Illusionでデータを読み込むことを確認。

    Blender2.4.9で作成したobj形式をwings3Dで読むとオレンジ色の辺が付いてる場合があります(これはハードエッジ属性が付いている辺です、編集に問題ありません)。

    LightWave(.lwo) 形式(入力)

    v5.5形式の古い.lwoファイルは読めませんでした。→ Blender2.4.9 では読めるようです。

    3dsMax(.3ds) 形式(入力のみ)

    Wings3Dで読むと、オレンジ色の辺が付いてる場合があります(これはハードエッジ属性が付いている辺です、編集に問題ありません)。

    Scalable Vector Graphics形式(.svg)(入力のみ)

    SVG形式は現在入力のみ対応しています。(Inkscape0.48.1 & Wings3d 1.4.1現在)
    Wings3dでは、Inkscapeで出力したSVGファイルは、Inkscape.svg, Plain.svg形式両方とも認識可能でした。ただし一部座標がずれることもあるようです。

    注意:円や四角形などオブジェクトを使いたい場合、「パス>オブジェクトをパスへ」を適用して、パスに変換しておかないと、Wings3d側が読込めないことが分かっています。
    ai形式の入力と同じく、読込んだパスが一部重なっていれば重なり、完全に重なっていれば中抜きされます。複雑な形は自動的にポリゴンで分割されます。すべてのパスに対してZ方向に厚みが加えられます

    Wings3D側でも読込む時に SVG Import Opetions の Number of edge bisections(デフォルトは0)の値を増やせば、読込んだデータの円周(曲線)を構成する辺を補って滑らかにできます(ただし円以外の全パスの辺上の頂点も余計に増えます)。

    Illustrator(.ai)形式(入力)

    最新のIllustratorCSで作成していても、読込むファイルは Illustrator 5.0/5.5または8.0(テキスト)形式で保存しておきます。
    Wings3D 1.0.2 では、Illustrator 8.0(テキスト)形式での読込みも対応しています。Illustrator9.0のバイナリ形式は読めません。

    Wings3Dでは、線で構成される閉じたパスオブジェクトのみ読み込めます。
    読込んだ場合、オブジェクトが一部重なっていれば重なり、完全に重なっていれば型抜きされます。複雑な形は自動的にポリゴンで分割されます。すべてのオブジェクトに対してZ方向に厚みが加えられます

    ■Wings3DでIllustrator形式を読込む際の注意
  • アートワークに、閉じていないパス、グラデーション、ブレンド処理、透明、複合パスが含まれる場合はWings3d読込み時にエラーが出ます。
  • Illustrator上で、250mmx250mm以上の範囲にオブジェクトが分布している場合、大きすぎてwings3dのai形式の読み込みが失敗することがあります。その場合、全体の大きさを50%程度に縮小して保存したものを読込むなどして下さい。
  • また、円のようにベジエ曲線を含む図形をそのまま読込むとひし形になるので、事前に「アンカーポイントの追加」を使い円周上にアンカーポイントを増やすと良いでしょう。
    これは逆にWings3D側で対応する事もできます。読込時に AI Import Opetions の Number of edge bisections(デフォルトは0)の値を増やせば、読込んだデータの円周(曲線)を構成する辺を増やせます(ただし円以外の全オブジェクトの辺上の頂点も余計に増えます)。

    ※この方法でWings3Dで読込んだ立体の頂点の順序は、#0,#1,#2,....という順序で割り振られています。

    Cartoon-edges形式(.eps)(出力)

    eps形式で保存します。 2Dベクター形式なので拡大縮小にも耐えます。モノクロ印刷物へ3Dワイヤーフレームモデルを使いたい場合に使えます。
    Illustrator や Inkscape(EPS→PDFに変換で可能) 、MacOSXのPixelCat,プレビュー等のアプリケーションで読む事ができます。(表示時にPDF形式に変換され表示されるものもあります。)



    注意事項:
  • あまりにも小さすぎるモデルではレンダリングが届かないことがあります。(例:グリッド格子1つよりも小さいもの)
  • eps形式出力されるデータはモノクロの線のみです。線の太さを変えられますが、面の色は反映されません。すべての辺はバラバラで1本につながっていません。
  • Hard属性の辺を強調させる Show edges|Hard 適用すると自分が指定した線だけを太くできるので、表現の幅が広がります。
  • Geometryウインドウよりはみ出た部分は、出力されません

  • Edge width のALLのチェックが付いている場合は、全ての辺が同じ太さになります。



    各オプションを指定した場合の描画結果:
    (次の結果はWings3Dでepsファイル出力した結果を Illustrator CS2 で表示したものです。)
    (クリックで大きな画像が見れます)


    Crease Angleパラメータの検証結果:
    これは面の角度を元に、どのエッジを描画するかを決めるパラメータです。
    (クリックで大きな画像が見れます)


    色を塗るには?

    このCartoon edgeでレンダリングされたEPSデータはモノクロで線はバラバラです。
    そのため色を塗るためには、輪郭を連結したりPhotoshopへ画像として読込んだりとても大変でした。
    実はInkscapeや、Illustratorを使えばデータを劣化させず色を塗ることができます。

    Inkscape(0.48.1現在)ではeps形式を直接読込めません。
    MacOSX ならOS付属のプレビュー(Preview.app)でpdfに変換してそれを読込ませてください。
    Windows環境の人は、GSView(GUIアプリケーション)とGhostscript(変換エンジン)を使ってEPS→PDF変換出来るようです。


    Inkscapeで(pdfを)読込んだ場合、線はバラバラですが、バケツツール(Buket Tool)を使えば、輪郭を連結せずに色を塗る事ができます。


    IllustratorCS2以降の場合は、ライブペイント機能を使えば、輪郭を連結せずに色を塗る事ができます。


    ※Inkscapeのバケツツールと、Illustratorのライブペイントは、ほぼ似たような機能です。

    オブジェクトの中の構造も描画したい場合は、マテリアルの透明度を設定して半透明にして下さい。(2014.4.20補足)

    Heightmap Surface plugin

    Micheus氏による、高さマップ画像から3Dの地形を自動生成するプラグインです。
    カラースペクトル画像(赤:高い場所←黄〜緑〜青〜紫→赤紫:低い場所)と
    モノクログラデーション画像(白:高い場所←→黒:低い場所)に対応。
    右クリックメニューから、Micheus add on...>Heightmap Surfaceを選択。読込む画像を指定します。
    フォルダや画像名には日本語は使えません。

    読込む画像のサイズは、縦横それぞれ2の累乗pixel(例:256x128, 128x128 等) ただサイズから外れたり、最大384x384ピクセルを越えるとリサイズされるようです。
    データの目安として、64x64で3974ポリゴン、384x384ピクセルで146694ポリゴンの規模になるそうです。

    プラグインのファイルはトピック中の、作者さんのWindows Skydrive のアーカイブから入手。
    Heightmap Surface - plugin released!

    Secondlife Scuplted 形式(.bmp)(出入力)

    テンプレートメッシュと importer/exporterがプラグインとして配布されているようです。

    Wings3D 1.4での対応状況
    Wings3dフォーラムによれば、このプラグインは作者のOmei氏が多忙により、長らくWings3dの最新版に対応していない状態でありました、そこでoort氏がそれを最新版に対応できるようコンパイルされたとの事です。Wings3d 1.4でも利用可能なプラグインはファイルはOortman3D - Wings3Dで入手できます。
    また、Omei氏のオリジナルのソースコードはWings 3D Plugin Files | PK Pounceworksでも入手可能です。


    Secondlife Wikiの情報
    Exporter Templates Sculp Exporter(1.0.2以降)

    プラグインは、FIle>Install Plug-in で、xxxx.beam を選択するとインストールできます。

    ■Wings3Dでスカルプテッド形式をExportする際の注意(v1.2の場合)
    テンプレートメッシュの頂点や辺等を増やしたり減らしたりしない限りは問題ありません。
    しかし、もし1回でも辺や面の追加や削除を行えば、頂点の結ばれる順番がおかしくなり失敗するでしょう。

    また、Wings3Dで、テンプレートを用いずに、スカルプテッド立体を作るには、最初にスカルプテッド形式の仕様で規定された面と頂点の数を持つテンプレート立体を、N-gon、Torus、Sphereコマンドなどを使い新規生成し、それを拡大縮小移動コマンドのみで、変形する作業となります。
    もし、Wings3dで正しく立体を作る場合は周回する頂点はそれぞれ「#0,#1,#2,#3,#4,#5,#6,#7,#8,#9,#10,#11,#12,#13,#14,#15,#16,#17」のように正しい順序で割り振られる必要があります。このように番号が一括生成されるのは新規作成立体の場合のみです。

    参考: wings3d用の SculpExporter-plug in では頂点の順序と位置関係が重要とみなされるらしいです。極端な話、面で立体を構成しなくとも、Extractコマンド で増やした 64角形の円盤を63枚重ねただけの立体をCombineコマンドでグループ化したものでも、スカルプテッドテクスチャとして出力できるようです。

    参考;頂点を収束させる/あるいはその復帰方法


    ManifoldLab

    ManifoldLabはWings3d用の多機能プラグイン集で、ggaliens氏のサイトで開発・配布されています。Download Manifold
    (このプラグインは自由/無料で使えます。また任意でPaypal経由の寄付を作者さんへ送る事もできます。)
    プラグイン名称はおそらく「多様体研究室」という意味なのでしょう。
    Youtubeにも動画による解説があります。

    MacOSX,Linux の場合Wings3dの File>Install PlugInから、アーカイブを解凍せず「mlab-2011-03-01---18-58_wings-1.4.1.tar.gz」を選択ですることで、簡単にインストールできます。


    説明によると...
    普通に動作するものも多く、Tilt Random,Deform Random, Color Random, Color splash、のようなランダムフィルタや頂点/面の色を変化させるコマンドも多いです。珍しいものとしては、複数の選択頂点に光源を配置するVertex|Light Arraysがあります。

    Manifold-Lab プラグイン詳細(←クリックで詳細が開きます )
    追加インストール無しで動作するものを少し紹介します。Manifold-Labのコマンドは多いので、Plug-ins incubator のメニューによって別個に管理されてます。

    追加ライブラリについて 
    一部コマンド名に Voronoi , Convex , boolean などが含まれる物があります。
    自前でコンパイルする必要なく、Manifold-Lab配布サイト(デイリー最新版の所)にコンパイル済みファイルがあるので、
    それをインストールしてください。>Download Manifold_daily


    追加ライブラリの入れ方
    MacOSXなら、
    /Applications/Wings3D 1.4.1.app/Contents/Resources/lib/wings-1.4.1/plugins/manifoldlab/voronoi/osx
    にqhullとqvoronoiを入れます。

    /Applications/Wings3D 1.4.1.app/Contents/Resources/lib/wings-1.4.1/plugins/manifoldlab/boolean/osx
    にintersect を入れます。
    他のOSも、それぞれOS名のフォルダに入れます。


    boolean コマンド

    交差した2つまたは、2つ以上のオブジェクトを選択後、Body|plugin-incubator>Boolean(Constructive Solid Geom)を実行。
    マウスボタンのバリエーションは次の通り L:Union M:Split R:Intersect それぞれ結果が違います



    Voronoiコマンドの結果↓



    自前で入れたい人のための Qhullライブラリのmake 方法
    分かる人向けの説明 (MacOSX (たぶん Linuxでも) はこの方法で入れられます )
    Manifold Labのサイトで、コンパイル済みのQhullファイルが用意されているので、それを使った方が早いです...

    QhullのMakefileの生成にはCmakeが必要です。

    Cmake で Qhull用makefileを生成してから、ビルドします。上の画像参考(今回はbuildというディレクトリに展開させました)。その後、展開先ディレクトリに入って、makeします。
    $ cd /Users/my/qhull-2010.1/build/src 
    # ※出来たファイルはwings3dのプラグインフォルダの中に入れるのでsudo make install はしません
    $ make
    :
    :
    # makeが済んだら、テストしてみる 
    $ ./rbox c D4 | ./qconvex i Pd0:0.5 Qt
    
    # 結果
    9
    9 13 14 15 
    12 9 13 14 
    9 11 13 15 
    11 9 14 15 
    9 10 11 14 
    12 9 14 8 
    9 12 13 8 
    9 10 14 8 
    10 9 11 8 
    
    # これでOK
    
    生成されたバイナリファイルをwings3dの所定のディレクトリに入れてあげてください。
    rbox
    qvoronoi
    qhullcmd
    qhalf
    qdelaunay
    qconvex
    libqhull.a
    
    を
    Wings3D 1.4.1.app/Contents/Resources/lib/wings-1.4.1/plugins/manifoldlab/voronoi/osx 
    
    にコピーして下さい。
    
    それと、必ず qhullcmd のエイリアスを同じ階層に作って、qhull という名前にしてください。
    (そうしないと、Wings3d側でファイルが見つからないというエラーが出ます。※コンソール確認)
    これでManifold labがライブラリにアクセスできるようになります。
    
    


    外部レンダラーとの連携

    外部レンダラーとは、3Dモデルを美しく画像出力するための専用アプリケーションのこと。
    Wings3Dは、直接レンダラーと連携するほかに、レンダラーで読込み可能なファイル形式でExportすることもできます。

    外部レンダラーの例:

    Wings3Dでは、Edit>Plugin Preference の設定項目で設定をします。レンダラー本体がインストールされたパスを指定すると良いみたいです。
    しかしWings3D、レンダラー、OSのバージョンの組合せによっては動作しないこともあります。

    もし直接の連携ができなくても、レンダラーが単体のソフトウェアなので、Wings3Dからレンダラー専用ファイル形式で出力して、読ませる方法もあります。

    Kerkytheaレンダラーを使ってみる

    2010年4月現在のおすすめレンダラーは、Kerkythea(2008 echo)。これはレンダリングエンジンに単体のGUIアプリケーションも付いていて、わかりやすいです。
    Wings3dのメニューから、File>Rendaring>Kerkythea を実行すれば、でKerkythaの使い方が分からなくてもレンダリングができます。
    (Wings3d上から、Kerkytheaのレンダリング指定ができるため。)

    Wings3dでは、Edit>Plug-in Preference>Kerkythea のオプションで設定を行います。
    その Exectutableの欄にはKerkytheaまでのファイルパス「/Applications/Kerkythea/Kerkythea」を指定しておきます
    ( Kerkytheaが MacOSXのApplicationフォルダにインストールされている場合 )。

    レンダリング前のヒント Kerkytheaでレンダリングする2つの方法
    Kerkytheaいろいろ

    Wings3d→Kerkyhea のマテリアル設定

    Wings3dのマテリアル編集ウインドウには、Kerkythea用の設定タブがあります。
    ここではWings3dのマテリアル設定を変換して、Keykytheaに渡せるように、プリセットを選ぶ事ができるようになっています。

    カキーシャ(KT)は、写実表現に主眼をおいています。しかしWings3dのOpenGL対応の設定では、リアルな結果を正確に出力するとは限りません。
    それでKTに存在するすべての設定に対応する制御を提供する代わりに、写実的な設定に最も共通する設定にプリセットします。

    選択可能なKerkytheaプリセットのタイプ これらプリセットの詳細

    Wings3dのプリセット選択欄付近の「?」ボタンを押すと、 Kerkythea Material Propertiesというウインドウが現れ、
    現在選択されているプリセット項目に対応する、詳細な説明が表示されます(英語です)。

    【プリセット詳細を見る】(←クリックで詳細が開きます。※やっつけ訳)

    Wings3d→Kerkyhea のレンダリング設定



    被写界深度とは何か - [デジタルカメラ] All About

    その他の用語メモ
    Kerkytheaレンダラー関連の情報

    公式サイトで説明書がpdfファイル配布されています。
    Kerkytheaは、単体アプリケーションです。そこから生まれた商用のTheaレンダラーもあります。
    また、Kerkytheaと同じレンダリングエンジンを利用したものとして、GoogleSkecthUp専用プラグインとして知られている、Twilightレンダラーというものもあります。


    【MacOSXでのKerkythea日本語化はダメでした】
    sketchup+etcさんで入手したKerkytheaのJapanese.txtを適切なフォルダに入れた後、KerkytheaのFOXGUIの設定もしてやります。「ユーザーホームディレクトリ/.foxrc/Kerkythea Rendering System/Fox GUI」のテキストファイルを編集します。 [Settings]にLanguage=Japaneseを追加、また[SETTINGS]にnormalfont エントリを追加。Keykythea起動時に「ライブラリ/フォント」にある TTFファイルを読込みますが、OSXでは文字が豆腐化してしまいます。
    [Settings]
    Start Maximized=0
    Launch Application=/Applications/Kerkythea/Kerkythea
    Animation Shell=
    Apply to Same Name Materials=0
    Launch Folder=/Applications/Kerkythea
    Use Small Preview Icons=1
    Running Folder=/Applications/Kerkythea
    Language=Japanese
    Material Editor Scene=standard/standard
    Copy Texture Maps to Libraries=1
    Render Priority=-2
    Use Model Shape in Preview=0
    Show Render Small View=1
    Apply Default Gamma Correction=1
    
    [SETTINGS]
    forecolor=#cdc8be
    basecolor=Gray25
    backcolor=#505050
    hilitecolor=#606060
    shadowcolor=#202020
    tiptime=131072
    tippause=100
    normalfont = "Osaka,120,bold,italic,normal,utf-8"
    
    [File Dialog]
    height=300
    showhidden=0
    width=500
    style=12582912
    

    アイコン

    テスト版、開発中断プラグイン

    これらは様々な人によって、Erlanの練習・Wings3dプラグインの作成や実験のために作られた物です。プラグイン作成の参考になるかもしれません。
    使用には充分注意し、開発途上版なので予期せぬ不具合が発生することもあります。頓挫していたり、引き継ぐ人がなく開発が中断しているものもあります。
    Newbie Programmer Plugin help in PROGRAMMING Forum
    Wings3d Coding Guildeline要約してみました。(日本語)

    Clipping Planes

    View|Show>Clipping Plaens.
    クリッピング平面とは3D空間を切り取るオレンジの円で表示された平面をいいます。
    これはWings3dでは「ユーザーが指定した任意の軸」及び「デフォルト軸」で指定した軸に垂直な平面を表す補助オブジェクトでもあります。
    しかし、クリッピングのFar,Near平面も設定できないので、まだまだこれからの機能です。

    参考:Houdiniという3Dソフトにもclipと言う機能があります。
    【何の役に立つのか?】
    これは、3D空間上を切り取って(クリッピング)しまう平面です。
    3D空間のすべてのオブジェクトがクリップ対象です。 面と交差したオブジェクトは断面が表示されますが、オブジェクト自身は破壊されません。
    このクリッピング平面よりも手前に移動させるとすべて表示されます。



    【(本来の使い方ではない)別の使い道】
    この表示を有効にすると、例えば3D空間上で任意の軸方向でオブジェクトを切断するときに、
    ユーザーがどの面で切ろうとしているのか予測をつけることができます。
    また、コマンドの実行過程でもクリッピング平面は消えることがないので、ユーザーの助けになります。
    作業に応じて、表示/非表示を切替えて使ってください。

    【どういう操作でこれが変化する?】
    このクリッピング平面は3D操作中は常に維持され続けていて、
    Wings3dで、ユーザーが任意の軸を指定する、またはデフォルト軸を変更するたびに、
    それに応じて、クリッピング平面の向きも変化するという機能をもっています。

    【実際の使い方】
    クリッピング平面の表示を有効/無効にするには、メニューバーから選びます。


    クリッピング平面の表示が有効な場合、このように表示されます。
    このとき、クリッピング平面とオブジェクトと交差している部分は線で表示されます


    クリッピング平面自体の色や大きさを設定するには、環境設定から行います。


    クリッピング平面の位置を変える場合は、任意のコマンドを実行する過程で、軸を指定するか、デフォルト軸を指定して下さい。
    デフォルト軸を指定するには、 Tools|Set Default Axis>Set Axis を実行します。



    例:Plane Cutの右クリックコマンドで、任意の面で切断した結果。Plane Cutコマンドの過程で指定した切断面がわかります。

    トラブルシューティング

    wings3dは ファイルフォルダ関係が英語でないと読込みません。
    扱う3Dデータのファイル名は?
    3Dデータのファイルはどこに置けばいいの?
    環境設定ファイルはどこ?
    エラーログはどこ? テキストファイルなので、プラグイン開発時の手がかりや、開発元へのフィードバックにご活用ください。
    内部エラーが出ても、Geometryウインドウをクリックすることで、そのまま復帰出来る場合もあります。

    読込みファイルダイアログ関連 テクスチャ画像が真っ黒、読み込み時に「不正な画像です」というダイアログが出る。
    縦横のサイズが不正。または外部テクスチャの参照(リンク)が外れている可能性があります。
    UVマップがややこしい 既にテクスチャが貼ってあるオブジェクトを押し出したらその部分のテクスチャがおかしくなった
    おかしい部分のみをUV展開して、テクスチャを再び割り当てる(Resegmentする)ことができます。 インターフェース
    例えば、右クリックメニューで、使いたいあのコマンドが見つからない。 【※ユーザー補助オブジェクト】
    法線は拡大縮小する方向や、面の向きを調べるヒントになります。また、クリッピング平面はユーザーが指定した軸に垂直な面を表し、コマンドの過程でユーザーが操作を見失わないための助けとなります。


    その他 操作しにくい 操作不能になる
    Wings3D側の設定で対処できるケース Edit>Preference... メモリが足りない環境
    メモリ足りない状態で作業を続けると、次の現象が発生するかもしれません。 この場合はWings3Dを再起動してください。

    使い勝手の向上Tips

    制作効率を上げる、制作スピードを上げる、ミスを減らす、便利なアレコレ

    スペースキーを活用

    Wings3dでは、選択領域は変形コマンド適用後も残り続ける特徴があります。
    そのため、改めてオブジェクトに何か別の処理を行いたい場合は、一旦 スペースキーを押して選択領域を解除する習慣をつけましょう。
    間違った領域にコマンドを適用することを防げるので、ミスがかなり減ります。

    三面図画像を、ジオメトリウインドウ内に配置したい

    読込んだ画像を三面図等の用途で画像を読みたいなら、未選択状態(Shapeモード)で右クリックメニュImage Plane...を使いましょう。 すぐに、板状ポリゴンに画像が貼られた状態で出現します。いちいちUV設定する手間が省けます。

    数値入力で、オブジェクトのサイズを変えたい

    他のアプリと同じように、数値入力で、オブジェクトのサイズを変えたい場合があります。
    例えば、Y方向に高さ3の直方体の柱のオブジェクトがあったとして、高さ入力欄に10と入力すると、オブジェクトの高さも変化するような感じ。

    こういう事をしたい場合、該当オブジェクトを選択(または、変更したい面or辺を選択)した状態で、右クリックメニューからabsolute_command > scaleで、絶対座標コマンドのダイアログが出るので、X,Y,Z それぞれのサイズを入力してOKボタン。また、中心座標を0,0,0にすると端に伸びます。

    頻繁に使う場合、absolute_command > scale にホットキーを割り当てると便利です。

    簡単に図面をトレースしたい

    三面図でモデリングする場合、図面を3Dモデラー上でトレースするのは骨が折れます、先にInkscapeやIllustrator上でやってしまうのも、うまい方法です。 Wings3d 1.4.1 では Inkscape のsvg形式 Illustrator8 テキスト形式(.ai)、.eps形式が読込み可能です。 Wings3dで認識可能なデータの作り方を載せたので、詳細はこの辺りを見てください。

    ビル群のような散らばったオブジェクト、 上空から見下ろしたときの建物の土台の位置関係や形をSVGやEPSデータで単純に作っておき、Wings3Dへimportさせる方法が早いです。

    ※Illustrator上で、250mmx250mm以上の範囲にオブジェクトが分布している場合、大きすぎてwings3dのai形式の読み込みが失敗することがあります。その場合、全体の大きさを50%に縮小して保存したものを読込むなどして下さい。

    ハードエッジで素早くUVセグメンティング

    Wings3dではあらかじめジオメトリウインドウ内のモデルの辺に(Edge|Hardness>hardで)ハードエッジ属性を付けた状態で UV展開すると、自動的にハードエッジ属性の付いた辺がUV展開のための切り込み(シーム)として認識されます。Body|.UVmapping.→Continue→Unfold

    ジオメトリウインドウ内でもシームを把握出来るので便利です。
    (※通常はUVセグメンティング時に「Edge|mark edge for cut」コマンドを使ってシームを決めます。この方法ではジオメトリ 内のオブジェクトにはハードエッジ属性は付きません)

    自由な位置にオブジェクトを置くには?

    3D統合ソフトのBlenderには3dカーソルがありその場所に立体を設置することができますがWings3dにはありません。
    ビル群や学校のように棟が点在する建物を素早く作る場合どうしたらいいでしょう?

    Wings3dでは、新規立体は必ず原点に配置されるため、もっと手早いやりかたを探す必要があります。例えば....
    よく使うコマンド
    X,Y,Z軸を考えず、立体をとりあえず移動したい場合は、法線やRegion、任意のベクトルの方向に移動させると良いです。
    これらの技はWings3dを使って すばやく制作する助けになります。

    マウスの移動距離を少なくしたい。

    右クリックコンテキストメニュー上部アイコン(メニューツールバー)を使用する方法があります。
    アイコンのサイズは環境設定のInterfaceタブから設定できます。
       
    アンドゥ繰り返し各選択モード 選択メニュー  ツールメニュー
    L:Undo,ホイール手前:連続Undo
    R:Redo,ホイール奥へ:連続Redo
    L:繰り返し(ドラッグ入力の反映)
    M:繰り返し(入力値の反映
    R:繰り返し
    ホイール手前:連続 繰り返し
    ホイール逆へ:繰り返しを戻す
    対応する編集コマンドが出現。
    頂点/辺/面/全体 選択モード
    領域選択コマンドのメニューへアクセスできます
    L:選択メニューを表示
    M:登録した選択領域の呼び出し
    R:選択領域の登録
    (辺のループ選択/共通領域の抽出等)
    L:ツールメニューを表示
    (整列/バウンディングボックス/バーチャルミラー/Tewak/スカルプモード/アンビエントオクルージョン/コネクトモード/マグネットマスク)
    ホイールを回す方向により、選択領域拡張、縮小 ホイールを回す方向により変わります。

    ホットキーを割り当てる方法

    ホットキーとは、メニュー中のよく使うコマンドを、キーボードの特定のキーに割り当てることで、キーを押せばメニューから探さずに一発でコマンドを呼び出せる便利な仕組みです。
    メニューの深い階層にあるのもすぐ呼び出せます。
    例:X方向へ移動させるコマンド「Move|X」を キー「X」に上書き登録すると、次からキーXを押せばX方向へすぐ移動できるようになります。
    ただしWings3dでは、頂点モードでのXキー と 面モードのXキーは別物と扱われるので、すべての要素で同じようにしたいなら、面、頂点、辺、全体それぞれのMove|X コマンドにおいてホットキーXを割り当てる必要があります。
    【0.メニューを出す】
    使いたいメニューを出します(特定のモードや,あらかじめオブジェクトを出したり、要素や選択した状態でないと出現しないメニューもあります) サブメニュー内の項目も同じです。
    .
    【1:ホットキー登録モードにする】

    メニュー項目をハイライト表示(選択して色がついている)状態で、かつマウスカーソルが項目上に乗っている状態にします。
    その時に、キーボードの「Insert」キー、または「/」キー(Macの場合はこれ)を押せば、ホットキーの登録を開始します。
    .
    【2:コマンドの中のどれをキーに登録するかを決める】
    Wings3dは、コマンド1つにも、いくつか別バリエーションが存在するものもあるので、どれを割り当てるかマウスボタン押下で決めて下さい

    一つしか機能のないコマンドはそのまま、次のステップ:キー入力ができます。


    別バリエーションのある場合 L(左クリック)コマンドの基本機能, M(中クリック)別バリエーション,R(右クリック)で別バリエーション。


    ASKはダイアログが出るという意味です。

    .
    【3:割り当てたいキーを入力】
    ここで、割り当てたいキーを入力して下さい。 ファンクションキー、英数字、または英数字とSHIFT,CTRL,Altキーの組合せが入力できます。

    視点変更のX,Y,Zキーを上書きして、XYZ方向への移動に割り当てたりすることも可能ですが、
    最初から割り当てられているキーものを避けて、何も割り当てられてないキーを使う方法もあります。
    例として、Wings3d v1.4.1現在 何も割り当てられてないキーと組合せを紹介します。
    F8,F9,F10,F11,F12, H,J,K,M,N,P,T,[,],@ それと, .
    Alt +0〜9
    CTRL+0〜9
    もし既になんらかの機能がキーに割り当てられていた場合でも、情報を上書きするか聞いてきます。いやならNO。

    .
    【4:現在割り当てられているキーの確認】
    キー入力が完了すると、メニューにホットキー表示が出ます。
    奇妙なマークは、修飾キーの組合せを意味していて、上から順に
  • CTRL+X
  • SHIFT+Y
  • Alt+Z
    を意味します。Macの場合はcommand マーク(四葉マーク)もあります。
    次からこれを入力すると、メニューの奥深くにある項目でも一発で呼び出せます。


    また、ツールバーの Help>Difined Hotkeys を選択すると現在割り当てられているホットキーの一覧をみることができます。
    全モードで実行可能なもの、特定のモードで実行可能なもの等、カテゴリ分けされています。
  • .
    【5:ホットキーの解除方法】
    メニュー項目をハイライト表示(選択して色がついている)状態で、かつマウスカーソルが項目上に乗っている状態にします。
    その時に、キーボードの「Del」キー(Mac)、または「Delete」キー(Windows)を押せば、ホットキーの取り消しができます。
    ダイアログが出て、消したいものをすべてチェックして、「OK」

    再びメニューを開けば、ホットキー表示が消えます。

    なお、初期設定ファイルを削除するとホットキーも全部元の状態になります。

    何度もメニューを選ばず快適に操作したい。

    (※慣れた人向けのTips)
    Wings3Dの階層型コマンド方式は、何をするにも右クリックメニューから何度も選ぶので面倒にみえます....。
    できるなら、もっと楽に操作したいですよね。たとえば、同じコマンドを繰り返す場合はホットキー(ショートカットキー)やRepeatコマンドで行うと楽です。

    それからWings3dには、一旦コマンドを選べば、最終的な変更の確定前ならカメラモードとコマンドを出入りできます。編集のプレビューを様々な角度から眺めて実行することでミスを減らし、二度手間を避ける工夫になります。

    まずWings3dの移動回転コマンドには次に挙げる2種類があります カメラ依存の回転機能は、いいかげんなカメラ視点だとフリーダムな挙動を示しますが、視点の位置を正しく意識するだけで便利なツールに変わります。

    これらのことを念頭において、次の説明をみていきましょう。

    ●カメラモードの入り方 ●そして視点をこまめに切替えることで、手数を減らせます ここでのポイントは、いい加減な変更を防ぐために、Move>Free, Rotate>Freeを使う場合カメラ視点の切替は厳密にすることです。

    ●作業量の比較。
    例えば、オブジェクトを(X,Y,Z)方向に移動させたいとします。 視点基準のコマンドとカメラモードを活用すると、メニューに妨げられずに編集作業に集中できます。(単純比較で3倍の差) 細かな位置編集など、こまめに移動、回転が必要な場合に役立つかもしれません。

    動作スピード向上や問題解決

    ファイル読込み速度

    ファイル読み込み速度は、グラフィックボードの性能を上げても劇的には変わらない。

    Erlang関連メモ




    ※注意;ここから下の文章はプログラミングをかじった方向けの内容です。
    Wings3Dを普通にモデラーとして使っている方は読み飛ばしてOKです。
    内部の仕組みを覗いてみたり、 Wings3Dをより便利にするプラグインを作るにはどうすればいいか...という書きかけの内容です。
    Wings3dの内部へアクセスするため、データを壊さないためにも、読んでてさっぱり意味が分からないと思ったら試さない方が安全です。


    Wings3Dというアプリケーションは Erlang という関数型プログラミング言語で作られていて、plug-in も Erlang で書く必要があるようです。

    MacOSX版の構成
  • Wings3D Loader ........ 起動時に読込まれる。
  • Beam ........  Erlang仮想マシン。Erlang言語でかかれたソース変換やアプリの実行担当。
  • ESDL ......... Erlang 用のSDLライブラリ: キーボードやマウス入力、GUIインターフェースなど担当?
  • Wings3D....アプリケーション


  • BEAM (Bogdan's Erlang Abstruct Machine)とはErlang言語の仮想マシンと呼ばれるものの1つです。
    コマンド入力で対話するための Erlang Shell はこれをエミュレートして動作するそうです。


    仮想マシンBEAMは、Erlangで書かれたソースコード hoge.erlをBEAMで実行可能な hoge.beam にコンパイル(変換)したり、実行をサポートするようです。
    Wings3dのバイナリ版は、既に.beamファイルに変換済です。これらが実行されることで、アプリケーションが起動するようです。
    このとき、仮想マシンBEAMも.beamファイルの実行のために働くようです。

    Wings3Dは、オブジェクトの頂点や辺などのデータをウイングドエッジデータ構造として管理しています。
    Wings3Dの内部構成についての、日本語の情報はyst memoさんが詳しいです。

    Wings3d Coding Guildeline要約してみました。(日本語)
    ・Wings3d v1.1 (2009-06-27)以降、辺や頂点データの格納には gb_treeではなくarrayを使用しています。古い情報をあたるときは注意してください。
    Wings3d v1.1 (2009-5-17)ではエッジデータをarray で管理することになった。
    Wings3d v1.1.xy(2009-5-23〜)では 面と頂点のテーブルをarray で管理することになった。

    Erlang言語って何?

  • Wikipedia - Erlang
  • Erlang land (日本語)Erlangの基本的な使い方の情報があります。基本構文、データ構造、関数の書き方、beamファイルの作り方、パターンマッチ
  • Erlang クエックブック(日本語) より高度な内容
  • Erlang World(日本語)インストール方法から、並列処理まで色々
  • 参考文献:『プログラミング言語 Erlang入門』,柏原正三著, ASCII


  • また、Wings3d本体には、Erlang言語をすぐに試せる、Erlang Shellが組み込まれています。
  • How To Write Wings3D Plugins (for beginners) プラグインの作り方
  • Exploring Wings3D through the Erlang Shell Wings3Dと Erlang Shellを起動し、Wings3D内部の情報を見たり弄ったりする方法。
    Wings.hrl(ヘッダファイル)を読込むタイプのプログラムは、Wings3Dのソースコードをダウンロードしてwings.hrlを入手する必要があるらしい。
  • Erlang Shellを準備する。Erlang言語を試す。

    Wings3Dのパッケージ中には、もうコンパイル済のErlang 環境が内包されているので、手っ取り早くそれを使う事にします。
    ※Erlangコンパイラは入ってません、yst memoさんの記事を参考に試したところ、
    Erlang R13bの場合は本体をダウンロードして/Desktop/otp_src_R13B04/lib/ 内にある compiler というディレクトリを
    Wings3D1.2.app/Contents/Resources/lib ディレクトリへコピーすると、Wings3DのErlang Shellでも c()モジュールが使えるようになります。
     
    なお、今回は.erlファイルを.beamファイルにコンパイルしたりしないので、OSに ErlangやESDLのインストールはしません
    ターミナル上で、bashに一時的にPathを通せば、Erlang Shellを通してWings3Dと対話することができます。(MacOSX10.4.11 PPCの場合)
    bash
    export ROOTDIR="/Applications/Wings3D 1.2.app/Contents/Resources"
    export BINDIR=$ROOTDIR/bin
    export ESDL_DIR=$ROOTDIR/lib
    export EMU=beam
    export PROGNAME=`echo $0 | sed 's/.*\///'`
    exec "$BINDIR/erlexec" -run wings_start start_halt ${1+"$@"}
    
    するとWings3Dが起動します。またTerminal 上ではErlang Shellが起動します。また、これを終了するにはq().と入力します
    もし
    erlexec: Error 2 executing '/Applications/Wings3D 1.2.app/Contents/Resources/bin/beam.smp'.
    このようなエラーが出た場合、実行ファイル、/Applications/Wings3D 1.2.app/Contents/Resources/bin/にある「beam」の複製を同じディレクトリに作って、 複製したファイル名を「beam.smp」にして、もう一度挑戦してみて下さい。 (MacOSX10.5.8 Intelの場合)


    Erlang言語で、標準で使えるモジュールおよび関数を使えば、Shell上から何か試すこともできます(Hello World!!とか)。
    Erlang Shellでは最初からユーティリティとして使える内部コマンドのほか、 モジュールCコマンド( c:ls() , c:cd()など 互換ぽい機能?)があります。
    例えば、カレントディレクトリ、標準出入力、環境変数等を確認したりできます。
    Erlangプログラムやコマンドの最後は、必ずピリオド「.」で終わることになっています。
    環境変数の表示
    os:getenv().
    
    Hello Worldを出力(※ioモジュール;fwrite関数)
    io:fwrite("Hello World!!\n").
    
    カレントディレクトリのpathを表示(※fileモジュール;get_cwd関数)
    file:get_cwd().
    
    カレントディレクトリのpathを表示(※Cモジュールコマンド)
    pwd().
    
    カレントディレクトリをデスクトップに変更(※Cモジュールコマンド)
    cd("./Desktop").
    
    カレントディレクトリ内のファイルを表示(※Cモジュールコマンド)
    ls().
    
    全ての束縛変数を破棄する。(※内部コマンド)
    f().
    
    Erlang Shell を終了する場合は次の内部コマンドを使って下さい(Wings3Dも一緒に終了します)。
    q().
    
    入力しても反応がなくなってどうしようもなくなった場合、CTRL+C でErlangShellを強制終了できます。
    また、CTRL+Cで次のようなリストが表示された場合 a を押して改行キーで終了できます。
    BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded
           (v)ersion (k)ill (D)b-tables (d)istribution
    
    Wings3Dと対話する場合は次の説明を見て下さい。

    Erlang Shell でWings3Dと対話する その1


    Exploring Wings3D through the Erlang Shellにあった例で、で結果を表示できたもの↓
    rr("c:/erlang/wings/src/wings.hrl")を利用しないタイプのプログラムであれば、Wings3Dのヘッダファイルを用意しない状態でも結果を得る事ができます。



  • Non-State Functions (Wings3dの状態を出力)
  • Modifying Objects(オブジェクトの頂点情報)
  • Hotkeys List to HTML Table を実行した時の結果(ホットキー(ショートカット)情報をHTML形式で書き出す)↓



  • Erlang Shell でWings3Dと対話する その2

    Exploring Wings3D through the Erlang Shellの例にはヘッダファイルwings.hrlが必要なものもあります。
    このファイルはWings3Dのソースコードに含まれています。
    入手するにはWings3Dの公式ページから Source のリンクを辿ってダウンロードしてください。
    wings.hrlは、解凍したディレクトリの中のsrcディレクトリの中に入ってます。

    このwings.hrlというファイルを任意の場所にコピーして下さい。
    例題プログラム中にある rr("c:/erlang/wings/src/wings.hrl")のファイルパス部分をwings.hrlのあるパスに置き換えれば、動作します。

    たとえばファイルをデスクトップに置いてそこから読込みたい場合は
    /Users/ユーザー名/Desktop/wings.hrl

    Wings3Dの中に置く場合は
    /Applications/Wings3D 1.2.app/Contents/Resources/wings.hrl

    に変更するとよいでしょう。


    Wings3dで、選択している頂点(2つ以上)の座標を取得するプログラム「Vertex Selection Example」を試した結果
    最初にWings3Dのほうで立方体を出現させ、頂点を選択しておいてから、これを実行します。

    Wings3D内部データ構造に関するメモ

    wings.hrlを読むと、Wings3Dは、頂点や辺や面の位置関係データ構造に、「ウイングドエッジデータ構造」を採用していることがわかります。
    これは稜線と接続する2辺の稜線の性質を利用した構造です。もしかしたらWings3Dという名前はそこから由来しているのかも?
    詳しい説明は次のリンク先を見て下さい


    プラグインの作り方についてのメモ。書きかけ(未検証!)

    プラグインで作れるものは、新規立体作成。変形コマンド、ファイル出入力(Importer/Exporter)の3つが考えられます。

    Wings3DプラグインのErlangコードを読解するための手がかり。

    Wings3Dのソースコード中によく登場する ?__( 6,"hogehoge") というのはマクロで、これは「__」という名前で、他国語版のデフォルト翻訳文字列に関係あると思われます。ひょっとしたらマクロによって「〜.lang」ファイルの各国語のメニュー表示に置き換わるのかもしれない!? また、Wings3dのソースコード intl_tools/wings_intl.hrl を探すと、 -define(__(Key,Str), wings_lang:str({?MODULE,Key},Str)). が定義されているのが分かります。
    各プラグインに共通の関数は init(), menu() , command() 関数。menu()では 右クリックMenuリストへ、セパレータや項目を追加したりしてるらしい。

  • 参考:Question about translations... (technical) - PROGRAMMING - Wings - 


  • Exploring Wings3D through the Erlang Shell
  • のFirstExampleの解説
    レコードはC言語の構造体と似ている。また名前付きのデータ領域として利用できます。


    ※Wings3d v1.1 以降、内部エレメントデータの格納には gb_treeではなくarrayを使用しています!次の情報は古いので注意してください。
    <ソースはExploring Wings3D through the Erlang Shellより引用>
    1: f(), 2: rr("c:/erlang/wings/src/wings.hrl"), 3: St = wpa:get_state(), 4: #st{shapes=Shapes,sel=Sel} = St, 5: We = gb_trees:get(1, St#st.shapes), 6: Vs = gb_trees:values(We#we.vp).
    1行目 全ての束縛変数を破棄し、リセットする。
    2行目 rr()関数で、wings.hrlにある State-Record(状態データ/選択部分など) と、Wingd-Edgeデータ(オブジェクトの座標など)の定義を読込む
    3行目 変数 St にレコードの状態データ(States)を束縛
    4行目 Stの全データのうちから shape と sel というフィールド名を持つデータを絞り込み、条件にマッチしたものを、レコードSt#st として左辺へ取得
    #st{shapes=Shapes,sel=Sel} = St というのは、#st{shapes=Shapes,sel=Sel} = #st{shapes=GBTREE,sel=LIST}. と同じ意味らしいです。
    これにより St#st.shapes のデータ、ドットを使ったフィールド名へアクセスすることができると思われる
    また、shapesはGBTREE(General Balanced Trees 平衡ツリー)データ、sel はLISTデータであることがわかる

    平衡木とは 【balanced tree】 - 意味/解説/説明/定義 : IT用語辞典


    5行目は We というのは(Wingd-edgeの略で) 1つの稜線に接続する辺や頂点に関するデータを束縛するものです。
    6行目は Winged-Edgeデータのうち、vpにリストされたデータの値をVsに束縛すると思われる。


    まだまだ不明な点が多いです。
     

    Wings3Dのプラグインを開発する方法

    いまのところ、2種類の作成方法が見つかっています。
    注意: 最新の Wings3D v1.3.1 は、Erlang(OTP/R14)以降で動作します。もし古いErlangのバージョンを使ってるなら make時に ./array.erl:253: function error/1 undefined というエラーが出ます。
    また Wings3D v1.3.1以降 は Intel Macのみで動作するようです。
    その1:Wings3D内のErlangShell上でプラグインをコンパイル その2:Wings3Dソースコードと一緒にプラグインをコンパイル
    必要な物:
    ソースコード一式(Erlang , Wings3D )
    ・makeやinstall必要なし、必要なファイルを拝借するのに必要。

    Wings3Dアプリケーション(※Erlangソースコードからcompilerモジュールを持ってくる)
    ターミナル.app (ターミナルを起動して、bashで作業するため)

    必要な物:
    ソースコード一式( Erlang ,SDL ,esdl ,Wings3D )
    ・Erlang,esdl,Wings3Dは、ビルド、makeし、インストール済であることが条件
    ・SDLは、ビルド、makeし、Home以下にインストールしてあることが条件

    ターミナル.app (ターミナルを起動して、bashで作業するため)
    あまり手間がかからない。
    Wings3D内にあるErlang Shell上で、プラグインをコンパイルする。 ただし、初期状態ではコンパイルする機能c()は使えないのでErlang言語本体から拝借する。 また、bashでpathを通しておきWings3Dと対話できる状態にしておく。

    システムにインストールしないので手軽そうですが、正式な方法ではないのでリスクがあります。
    準備に時間を要する
    例えば、Wings3Dをビルドするとき、デフォルトプラグインに紛れさせて一緒にコンパイルさせる。   Makefileへ設定を追加してから、コマンドライン上(bash) から make するだけ。

    前準備のインストールが大変ですが、正式な手順で作成されます。
  • なお、Wings3dプラグインのモジュール名は、wpc_から始まる必要があるようです。


  • Getting camera transforms - PROGRAMMING - Wings - Wings3D Wings3Dのプラグインに関するトピック
  • How to Create Wings3D Plugins with C - PROGRAMMING - Wings - Wings3D どのようにして Wings3Dのプラグインを作るのか? HelloWorld。C言語のソースもあるようです。
  • wpc_ex1.erl Wings3Dプラグインの例。モジュール名 wpc_ex1
  • その1:Wings3D内のErlangShell上でプラグインをコンパイルする方法

    あらかじめ、Erlang本体ソースコードのディレクトリから compilerを拝借してWings3Dへ入れておきます。
    1. とりあえず、作ったプラグインのソース モジュール名.erlをホームディレクトリ直下へ置いておく。
    2. ターミナル.appを起動
    3. bashに一時的にPathを通して、Wings3Dと対話できるようにしておく。
    4. ErlangShell が立ち上がるので、ErlangShell上でコンパイルのためのコマンドを入力
    5. c(モジュール名). %% (モジュール名部分は、ファイル名から拡張子を除いた名前)
      カレントディレクトリ(デフォルトではホームディレクトリ直下)を確かめておくこと。

    6. このとき、プラグインがソース中でヘッダファイルをincludeしている場合は別途、ヘッダファイルを用意する。
    7. これらはWings3Dソースコードにある、例えば「wpc_ex1.erl:122: can't find include file "e3d.hrl"」という エラーが出たら、それらファイルを Wings3Dのソースコードのe3dディレクトリから拝借して、 いまコンパイルしようとしているソースコードと同じ場所にコピーしておきます。 それで、もう一回c()を実行してみる。
    Erlang Shell上でのコンパイルと Include path
    通常 c( ) を使ってerlファイルをコンパイル場合は、 erlファイル内でinclude されているヘッダファイル(.hrl)を 同階層のディレクトリにおけば自動的にinclude されます。
    もし、他の場所に .hrl ファイルがある場合は、c()関数のオプションに、その場所のディレクトリパスを指定すると、走査されます。 タプル{}を追加することで、複数の場所を指定することが出来ます
    wpc_ex1.erl
    include_directory_path/e3d.hrl
    include_directory_path/e3d_image.hrl
    このように、別ディレクトリにIncludeすべきファイルがある時には、Erlang Shell上では、
    compile:file("wpc_ex1.erl",[{i,"./include_directory_path/"}]).
    または、
    c ("wpc_ex1.erl",[{i,"./include_directory_path/"}]).
    のように書くとコンパイルが通ります。
    これでおしまい。あとは、Wings3Dでプラグインをインストールするために、beam ファイルを指定します。

    その2:Wings3Dソースコードと一緒にプラグインをコンパイルする。(ただし、Wings3D自体のコンパイルは失敗しました)

    Wings3DのMacOSX版をビルドしようとして失敗した記録。(一応プラグイン類はコンパイルされた)
    必要なものは、Erlang,SDL,ESDL,Wings3Dで、順番でビルド、インストールしていきます。

    BUILD.unix の説明書によればOSX版のWings3Dを完璧にビルドするには、fbx library(FBX SDK?)が必要とのことですが、今回はインストールしていません。
    fbx libraryは Autodesk - Autodesk FBXから入手することができます(要ユーザー登録)。日本語の解説(ダイキン)
    ■環境。CPU=Intel Core Duo 2 GHz,   OS= MacOSX 10.5.8
    Wings3Dを解凍したディレクトリ直下に、ビルドのやり方を説明した BUILD.unix 
    というテキストファイルがあるので、これを参考に進めていきます。
    
    ■準備
    Wings3D 1.2     のソースコード をダウンロード  http://www.wings3d.com
    Erlang/OTP R13B04  のソースコード をダウンロード http://www.erlang.org
    SDL-1.2.14     のソースコードをダウンロード  http://www.libsdl.org.
    ESDL 1.0.1     のソースコードをダウンロード   http://esdl.sf.net
     
    
    ■順番にインスト−ル
    ===========================================================================
    ■Erlang/OTP R13B04をインストールする。
    Terminalを起動し、Erlangのアーカイブを解凍したディレクトリに入って
    
    ./configure --enable-threads --disable-hipe
    
    途中、fop is missing. The documentation can not be built.というエラーメッセージが出ますが気にしない。
    そして
    
    make
    
    結構時間がかかるので、お茶でも飲みます。makeが終わったら....インストールします。
    
    sudo make install
    
    これにより
    /usr/local/lib/erlang にErlangのファイルがインストールされます。また、
    /usr/local/bin/に  typer,to_erl.run_erl,escript, erlc,erl,epmd,dialyzer が
    インストールされます。
    
    ===========================================================================
    ■SDLライブラリ:(prefixにより、ホームディレクトリにインストールされます。
    ドキュメントによれば、既にシステムにインストールされたSDLと混じらないようにするためらしい。)
    SDLを解凍したディレクトリに移動してから
    
    ./configure --disable-video-aalib --disable-video-directfb --prefix=$HOME
    make 
    
    10分くらい待つ
    
    sudo make install
    
    これにより、ホームディレクトリ以下の/share, /bin, /lib, include/ にSDL関連のファイルが保存されます。
    
    ===========================================================================
    ■ESDLライブラリ:
    ESDLをビルドする前に、やっておく。
    which sdl-config
    sdl-config --libs
    
    もし、sdl-config が見つからなかったら
    cd /Users/User名/bin  
    という場所に移動して、sdl-config を直接実行する。
    以下のコマンドを入力し、コンフィグを設定する。
    
    ./sdl-config --libs
    
    ターミナルに、-L/Users/ユーザー名/lib -lSDLmain -lSDL -Wl,-framework,Cocoa
    という感じで表示されればOK
    
    その後で、ESDLをビルドします。ESDLを解凍したディレクトリに移ります。それで
    make 
    sudo make install
    これにより、usr/local/lib/erlang/addons/esdl-1.0.1 以下にESDLがインストールされます。
    
    ===========================================================================
    ■Wings3D:
    いよいよWings3Dのビルドが始まります。いきなりエラーがでて失敗です。
    エラーを回避するため、各ソースのヘッダファイルまでのpathを書き換えました。
    もっとスマートな回避方法が、あるかもしれない....。
    
    ヘッダファイルが足りないというエラーが出た!
    ./wings.hrl:17: can't find include lib "esdl/include/sdl.hrl" というエラーが表示されたので
    準備として esdl 内のヘッダファイルをWingsのあるディレクトリにコピーする
    
    例えば、/usr/local/lib/erlang/addons/esdl-1.0.1から、 Include ディレクトリをWings3Dの解凍ディレクトリ直下に コピーする。
    また、コピーしたディレクトリの中に、一緒に sdl_util.hrl も入れて下さい。
    
    テキストエディタで、 /wings-1.2/src/wings.hrl 内の include_lib のパスを相対パスに書き換え、つじつまを合わせる。
    -include_lib("../include/sdl.hrl").
    -include_lib("../include/sdl_events.hrl").
    -include_lib("../include/sdl_video.hrl").
    -include_lib("../include/sdl_keyboard.hrl").
    -include_lib("../include/sdl_mouse.hrl").
    -include_lib("../include/sdl_util.hrl").
    
    
    -include_lib("../include/gl.hrl").
    -include_lib("../include/glu.hrl").
    
    また、/wings-1.2/src/wings_body.hr の include_lib のパスを相対パスに書き換える。
    -include("../include/sdl_keyboard.hrl").
    
    /wings-1.2/plugins_src/primitives/wpc_image.erl の include_lib のパスを相対パスに書き換える。
    -include_lib("../include/gl.hrl").
    
    
    /wings-1.2/plugins_src/commands/wpc_constraints.erl  の include_lib のパスを相対パスに書き換える。
    -include("../include/sdl_keyboard.hrl").
    
    ターミナルで、Wings3Dを解凍したディレクトリに移ります。  
    export ESDL_PATH='/usr/local/lib/erlang/addons/esdl-1.0.1'
    make macosx
    
    
    Makefile の以下の行(71行目)をコメントアウトすると、FBX形式のプラグインを省略させて進めます。
    #	(cd plugins_src/fbx; $(MAKE))
    #	(cd plugins_src/fbx; $(MAKE) lang)
    
    
    export ESDL_PATH='/usr/local/lib/erlang/addons/esdl'
    make macosx
    ↑最後の最後でアプリケーション作成に失敗。プラグインはコンパイルされる。
    

    テスト用のプラグインをコンパイルしよう。

    Wings3Dのプラグイン作成の例題として公開されているテストコードがあります。
    Dan Gudmundssonさんの作成した「wpc_ex1.erl
    今回は、コンパイルしたコードが本当にWings3Dで動作するのかを試したいと思います。

    ●プラグインをコンパイルする
    ソースコードをダウンロードし、/wings-1.2/plugins_src/import_export/へ放り込む
    Makefileに追加記述する: /wings-1.2/plugins_src/import_export/Makefile を開き、MODULES = のリストに「wpc_ex1」を加える
    /wings-1.2/ 直下で make
    /wings-1.2/plugins/import_export/ 以下に「wpc_ex1.beam」が生成される。
    これを任意の場所(デスクトップなど)に、コピーする。

    うっかりミス← .beamファイルが生成されない? wpc_ex1.erl ファイル名の拡張子の後に、半角スペースがくっついてたのが原因

    ●プラグインをインストールする
    とても簡単。Wings3Dを起動し、File>Install-Plugin を選択。
    ファイルダイアログが現れるので、先ほどのwpc_ex1.beamを選択する。
    これでWings3Dで使えるようにインストールされます。

    ●プラグインを使ってみる
    すると、Wings3Dのメニューに、File>ExportにExample-exporter が追加されます。
    この形式で出力する場合は、あらかじめオブジェクトのUVマップを書き出しておく必要があります。
    Exportを実行すると、hogehoge.wex1(バイナリファイル)、auvBG.tga(テクスチャ)の2つのファイルとして保存されます。

    エラーログ

    Wings3Dで内部エラーが出たときアプリケーションがクラッシュせずに、Geometryウインドウをクリックすることでで、何事も無く続行できます。
    このとき、Users/ユーザー名/wings_crash.dump というテキストファイルにエラーログが吐き出されます。その内容は、エラー報告の時に役立ちます。
    ログには、実行経過を記録したスタックトレース情報が保存されます。 (Short stack trace と、 Long stack trace)
    エラー発生した関数と引数、そして呼び出し元の関数をどのくらい経由していたのかがわかります。
    トレースデータは一番先頭から 2,3行くらいの内容が重要だそうです。

    エラーについての情報は、Erlang実験室:分かりにくいと評判のErlangエラーのまとめ - 檜山正幸のキマイラ飼育記 が詳しいです。

    エラーの例↓
    Wing3D1.3.0.1にて、Geometryウインドウにあるメニューから Window>Tewak_palette を出そうとしたところ、エラーが発生した。
    Dump written 2010-4-20_22-17
    Version: 1.3.0.1
    Window: geom <----- Geometry ウインドウの操作中に発生
    Reason: function_clause  <-----エラーの原因 呼出時にマッチする関数節 が見つからない とのこと
    
    Short stack trace:
    [{wings,command_1,2},  <----------- 最後に、この関数、 wingsモジュールに存在する wings:command_1/2 関数(引数2)でエラーが出た
     {wings_develop,time_command,2},
     {wings,raw_command,4},
     {wings_wm,handle_event,3},
     {wings_wm,send_event,2},
     {wings_wm,do_dispatch,2},
     {wings_wm,get_and_dispatch,0},
     {wings,init,1}]
    
    Long stack trace:
    [{wings,command_1,
            [{window,tweak_palette}, <----- 引数に渡された内容。 
             {st,{0,nil},
                 face,false,[],
                 {0,nil},
                 none,
                 {1,
                  {default,[{maps,[]},
                            {opengl,[{ambient,{1.0,1.0,1.0,1.0}},
                                     {diffuse,{1.0,1.0,1.0,1.0}},
                                     {emission,{0.0,0.0,0.0,0.0}},
                                     {shininess,1.0},
                                     {specular,{1.0,1.0,1.0,1.0}},
                                     {vertex_colors,set}]}],
                           nil,nil}},
                 [],undefined,true,1,none,none,
                 {0,{}},
                 {0,nil},
                 ignore,none,none,
                 {ignore,ignore},
                 {window,tweak_palette},
                 {[],[]},
                 true,[]}]},
     {wings_develop,time_command,2},
     {wings,raw_command,4},
     {wings_wm,handle_event,3},
     {wings_wm,send_event,2},
     {wings_wm,do_dispatch,2},
     {wings_wm,get_and_dispatch,0},
     {wings,init,1}]
    
    Argument #2:
    
    参考:Not a programmer but want to help? - PROGRAMMING - Wings - Wings3D - Official Development Forum - Message Board Yuku

    未整理のメモ

  • Lisp:Geometry 
  • Wings3dには、いまのとこ2Dペイント機能、アニメーション機能は存在しない。
  • MacOSX10.4.8 で、Wings3D v0.98.35 を使うと起動時にbeamがエラーで終了してしまいますが、Wings3Dは普通に使えてしまう。
     Environment variable BINDIR is not set というのが原因 。
  • OSXでネイティブのダイアログが表示されるまで時間がかなり遅いことがある(数十秒, Tiger10.4.11環境 Wings3D v1.2b)-------これは他のアプリケーションを最前面に切り替えてから、Wings3Dに戻ると表示される。


  • Last modified

    2014/10/03 コネクトモードに関する補足を少し追加しました。(動画へのリンク)
    2014/09/18 マルチセレクションモードと、選択解除に関する補足を追加。またConditional Deselection(条件付き選択解除)の解説を追加しました。
    2014/05/25 ウインドウのレイアウトとカスタマイズ方法を補足、他に説明をいくつか書き直す(概要など)。
    2014/05/06 Absolute Snap コマンドの使い方を追加。これはオブジェクトを特定の場所へピンポイントで飛ばせる機能です。
    2014/05/04 Grid Snapコマンドの有意義な使い方が判明したので補足しました。図も追加しました。
    2014/04/26 OpenGL Max Number of Lights -光源の最大数-に関して補足。(光源は8個を越えて設置してはいけない)
    2014/04/24 OSX10.9で、Wings3Dインストール直後にTweak移動のファンクションキー[F1,F2,F3]が効かない問題の解決法
    2014/04/20 オブジェクトに半透明のマテリアルを設定した場合、EPS形式で保存する場合に中の構造も描画するようです。補足図を追加しました。
    2014/04/14 バージョン/動作環境の情報を整理。
    2014/04/13 今まで手を出せずにいた難解なコマンドを調査。解説・補足を追加しました。Move/Rotate/Scale:Regionの真の使い方 を追加 ,Vertex>Bend補足, Rotate to targetを追加,, Vertex>Deform:Shear を追加。
    (ユーザー補助用の治具オブジェクトは後でダウンロードできるようにする予定です。あと、訳語も見直さなければ...)

    2014/02/23 「領域(Selectメニュー)と2ndaySelection」を追記。領域の選択機能に関していくつか補足しました。
    2014/02/12 Collapse,Dissolveを活用した面分割方法を追加。あとTighten、Circularize、Shiftコマンドでこれまでに分かった事を「追記(2014)」補足しました。
    2013/01/25 フリーの外部レンダラー関連を追記(Pov-Rayなど)。
    2013/01/12 フリーの外部レンダラーについて。を追加(Mitsubaレンダラー) を追加。
    2012/11/10 Export CartoonEdge(.eps)| Dialog:Crease Angleパラメータの検証結果を追加
    2012/11/04 Circularizeコマンドの応用編 を追加。Insetコマンドについて追加。Turnコマンドのバリエーションを説明。
    2012/10/25 「HideとHoleコマンドの違い」を追加。
    2012/10/17 Wings3dで対応しているカメラ操作プリセットの比較表を追加。
    2012/10/02 GIFアニメーションを用いてWings3dのカメラ操作の概念をわかりやすくしてみました。また説明も書き直し、Maya方式の操作方法も追加しました。
    2012/07/22 Wings3dのファイル読み込み速度とグラボの性能について。
    2012/04/06 MacOSX 10.6.8での挙動を調査しました。
    2012/03/24 Clipping Plane の機能が判明。 それに従って、Clipping Planeの使用方法や、インターフェースに関する記述を書き直すことにした。
    2012/03/17 2つ以上のテクスチャを貼りたい。を追加。
    2012/03/16 MoveFree,RotateFree,Rotate Unconstraintに関する新たな説明を追加。(これらは複数ウインドウを開く三面図において回転・移動する時に役立つコマンドと判明。)
    2012/03/06 「UVマップについて」にUVEditor作業時の背景画像の切替方法を追加。またSnapImageに関連情報を追加。トラブルシューティングもいくつか追加
    2012/03/04 「UVの作り方」に3ステップで説明する図解を追加
    2012/03/02 TweakToolsの使い方、カスタマイズ、解説を追加。
    2012/01/30 Tools>SnapImageを使ったCameraProjection作成方法の解説を追加。
    2012/01/30 Tools>SnapImageがテクスチャパターンの繰り返しを設定するためのツールと分かったので、解説を追加。
    2012/01/27 UVMapping及びセグメンティング手順を、わかりやすく書き直した。UVMappingコマンド(中,右ボタン)の正式な違いも判明。
    2012/01/24 便利なAbsolute_Command>Scale の使い方を追加。illustratorでデータを作成するときの注意(大きさ)を追加。
    2011/12/28 ホットキーの使い方を追加
    2011/11/07 MacOSX 10.7 でWings3dを使う際にマウス中ボタンを有効にする為のTipsを追加,ファイル読込み速度比較データの更新
    2011/09/17 文章構成の見直し。
    2011/09/04 トラブルシューティングについて追加。
    2011/08/27 CreateTextureのFilter(Winのみ)について加筆。トラブルシューティングについて追加。
    2011/08/09 UV展開とハードエッジ属性に関する便利な工夫を追加。
    2011/08/06 UV展開の種類に関する情報を追加。sphere mapなど。他細かい部分の書き直し
    2011/08/03 UV展開に関する情報を書き直し。プロジェクションマッピング等UV展開オプションについても補足、外部テクスチャの入れ替えを訂正。またSegmentingのモードについても判明した事を追加。
    2011/06/30 「何度もメニューを選ばず快適に操作したい」を追加。その他情報の整理。
    2011/05/02 Grid Snapの説明を追加
    2011/04/30 ManifoldLabプラグインとHeight Mapプラグインに関する説明追加
    2011/04/23 ManifoldLabプラグイン(コンパイル済みのQhullとCarveについて追記)
    2011/04/21 Wings3d Coding Guildeline 要約を追加
    2011/04/17 ManifoldLabプラグイン(外部ライブラリQhullインストールについて)
    2011/04/13 ManifoldLabプラグイン(追加ライブラリに関するメモ)
    2011 04/12 IllustratorやInkscapeからの活用についてを追加。
    2011 04/09 説明を一部追加。Manifold-Labプラグインの一部コマンドを追加
    2011 03/19 説明を一部追加。プラグイン,削除コマンドの補足,その他
    2011 03/07 説明を一部追加。Scaleコマンドの比較図
    2011 03/03 説明の大部分を書き直し、レイアウトも変更。Wings3d→Kerkythea連携レンダリングの情報も追加。目次機能を追加。
    2011 02/11 3ボタンマウス操作の説明に一部対応。コンストレイントに関するメモを追加
    2010 05/16 レイアウト見直し, Erlang関係のメモ追加, 目次を追加&jQueryの衝突を回避。
    2010 03/27 カメラ操作関係のメモのキー説明の図解が間違ってたのに気づいて訂正。
    2010 03/26 カメラ操作関係のメモを追加。AutoUV windowでのコマンド。
    2010 03/18 Erlang 関係のメモを追加。
    2010 02/27 Erlang 関係のメモを追加。
    2010 01/20〜02/20 コマンド関係、マグネットモードのメモを追加 マグネットマスク属性について追加。
    2010 02/18 頂点の順序(頂点番号)に関するメモを、いくつか追加。IllustratorとSculptファイルの入出力に関する記事の補足。
    Extrude とSlideコマンドの落とし穴を追加。
    2010 02/06 変形コマンドについて、いくつか追加。
    2010 02/01 Wings3D v1.0.2 ベースで追加 マグネットモードのキーフローについて。
    2010 01/23 Wings3D v1.0.2 ベースで追加 Sweepコマンドによる絞り出し立体の作り方。
    2010 01/20 Wings3D v1.0.2 ベースで追加。一部修正 HighLight Aim, Liftコマンドによる回転体の作り方、 Bend コマンド、Tewak モードに関するメモを追加 (v1.0.2)、Wings3D tutorial の ppzpitstop のリンクがNotFoundだったので修正
    2009 5/19、 特定のモデルを周回するようにカメラをセットする方法を追加。説明文や構成を書き直しました。
    2009 05/17 ポリゴンを編集Tips追加
    2007 07/05 この文書の最初のリリース

    <arolf_infoseek_jp> Tsukubado