チュートリアル / 読んで触ってよくわかる!Mayaを使いこなす為のAtoZ
第27回:Mayaの操作の基本の基本(1/4) Mayaで「削除」する方法
- Maya
- ゲーム
- コラム
- チュートリアル
- 中級者
- 学生・初心者
- 教育
- 映画・TV
しばらく前から家のPCにUnityをインストールして遊んでいます。Unityとは何かというと、ゲームを簡単に作れるようにしてくれるソフトウェアです。ゲーム好きの方なら「○○ツクール」とか思い浮かべるのではないでしょうか。私も高校生の頃ハマってゲームを作って遊んだりしました。Unityはもっと汎用的なので「○○ツクール」の様に決まったジャンルのゲームを作るというわけではありません。Mayaのようなエディター画面で3Dオブジェクトを操作できるのでとっつきやすいですし、なんだか初めてMayaを触った時のように、これさえあれば何でも出来そうな気持ちにさせてくれます。
ゲームを作るといってもいきなり面白いゲームが思い浮かぶこともなく、始めはなんとなくプリミティブ形状を沢山置いて物理演算でガチャガチャと動かしてみたり。全然ゲームでも何でもなさそうですが動きを見ているとなんだか楽しいもので、調子に乗って沢山シリンダーを出したり…。
そのうちやっぱり飽きてきて、もうちょっときちんとしたモデルを出してみようと思うのですが、はて、どんな3DCGソフトを使ったものか…。実は素晴らしいことにAutodeskのサイトにはSoftimage Mod Tool 7.5なるものがあります。これはXNAでゲームを作る時の素材制作に使ったりするもので、FBXに書き出せますのでUnityでもデータを使うことができます。趣味で遊ぶには持って来いの代物です。
会社ではMaya、Softimage(XSI)、3ds Max と揃っていますが、私はあまりXSIを触ったことが無いのでなかなか勝手がわかりません。機能はMayaと同じものがあるので探せばなんとか見つかるのですが、意外とすごく基本的な所で引っかかってしまいました。オブジェクトを作ったのはいいけどDeleteキーで削除できない!?
困ってしまったので会社で同僚に聞いてみると、なにやらDeleteキーは「選択しているもの」そのものを削除するので、子供がいるオブジェクトは削除できないとのこと。エクスプローラーでオブジェクトを中マウスボタンでクリックして、階層すべてのものを選択してから、Deleteキーで削除しないとオブジェクトすべてを削除できないとか。つまりMayaで言えば、Edit > Select HierarchyをしてからDeleteキーを押す、ということです。
Maya に慣れてすっかり忘れていましたが、そういえば昔使ってた 3DCG ソフトもそんな感じだったなあと懐かしく思いました。Ray Dream Studio だったか Light Wave だったか、そんな挙動をしていたと思いますが、なかなか味のあるツールを使っていたものです。
3DCGソフトが変わればそういう基本的な操作が異なりますし、実は他にも削除の方法はあるかもしれません。例えばCtrlキーと組み合わせたら削除できる?などなど。
オブジェクトの削除、コンポーネントの選択等、普段当たり前になって全然意識しないこれらの操作は、Mayaを初めて使った時に結構やり方に悩んだものです。本当にこういうやり方で正しいのかどうか、どういうやり方が「普通」なのだろうか、いろいろなやり方があるのはわかったけれど、どの方法からやるのがベターなのか?という感じで。
というわけで疑問を払拭するためにMayaの基本中の基本の操作について、改めて見ていきたいと思います。Mayaを新しく始める方、Maya+Unityを始める方はもちろんのこと、玄人の方は当たり前だと思っている操作をヘルプやウェブで見なおしてみることもないでしょうから、意外と新しい発見があるかもしれません。
一つの事柄で何種類かのやり方を紹介します。どのやり方が一番自分に合っているか見つけるきっかけになれば幸いです。
(「ノード」と言うのが正確ではありますが話がややこしくなりますので、適当に「オブジェクト」と書いています。あまり気にしないでください。)
Backspaceキーを押した場合はどうでしょうか?Deleteキーと同じ様にオブジェクトを削除できます。特に違いはありません。Edit > Deleteでも削除できます。それぞれで結果が違うかと思ったりして始めは戸惑うと思いますが、どれでも変わりはありません。
ポリゴンフェースを選択してオブジェクト全体を削除するのは危険です。というか削除不可能になっていて、必ず1ポリゴンは残るようになっています。
オブジェクト全て削除するときは、オブジェクトを選択して削除します。
では、階層がある場合に親だけ削除できるでしょうか?これはできません。一旦子供をEdit > Unparent(Shift + p)するなどして、親子関係を無くしてから親を削除します。
ではでは、階層がある場合に親のメッシュだけ削除したい場合はできるでしょうか?これはできます!親を選択してから下矢印キーを押します。メッシュオブジェクトが選択されるのでDeleteキーとかで削除します。残った親はグループになります。いわゆるnullというやつのような状態になります。
(テクニカルな話:下矢印キーを押す=シェープを選択する、ということです)
もしくはOutlinerでDisplay > Shapesをオンにします。するとメッシュのオブジェクトが姿を表します。これを選択して削除してもOKです。
(テクニカルな話:Transform/Meshのノードの組み合わせでメッシュのオブジェクトはできています。そのうちMeshノードを削除すればTransformだけ残ります。これはグループを作ったのと同じ状態です。)
…こんな感じで、行きます。
基本的にはコンポーネントの削除はオブジェクトの削除と同じ感じで、Delete キー、Backspace キー などを使えば削除できます。それで削除できない場合は Delete Edge/Vertex という機能を使います。ルールはそれだけです。では一つ一つ見て行きましょう。
ポリゴンのフェースの削除はDeleteキー、Backspaceキー、もしくはEdit > Deleteで行えます。それぞれの操作で結果は変わりません。
エッジと頂点は特殊な操作が加わります。エッジは選択して Delete キーとかで削除すれば、エッジそのものを削除します。エッジだけ捨てるので、両端の頂点は残ります。
頂点も捨てたい場合は、Edit Mesh > Delete Edge/Vertexを実行します。
もしくはエッジを選択してShift + RMB(右マウスボタン)で出るマーキングメニューのDelete Edgeを実行します。どちらも同じ機能です。
リダクションする時はこのマーキングメニューのDelete Edgeを使いまくることになります。もちろんDelete Edge/Vertexメニューをホットキーを割り当てておくのもいいアイディアです。
頂点に3本以上のエッジがつながっている場合Deleteキーとかで削除できません。Edit Mesh > Delete Edge/Vertexを実行して削除します。頂点につながっているエッジも削除されます。
頂点を選択してShift + RMBで出るマーキングメニューのDelete Vertexを実行しても結果は同じです。
不便な感じもしますが逆に便利に利用する方法を考えてみましょう。頂点につながっているエッジが2本なら頂点を削除できるわけです。例えば以下の図のようなメッシュがあった時、大雑把に頂点を選択してDeleteキーを押せば、エッジ上にぽつんと置いてある不要な頂点を削除することができます。
これはこれで時々は便利です:P
まあ、リダクションする時は頂点を削除するよりも、フェースやエッジの削除が主になると思いますから、あまり気にしなくて良いとは思いますが…。
リダクションはエッジを削除、もしくEdit Mesh > Merge To Centerでマージするのがほとんどの作業となります。Merge To CenterはShift+RMBのホットキーにもあります。
頂点を削除するとエッジを繋ぎ直したりしないといけないので、なるべくEdit Mesh > MergeやMerge To Centerで「頂点をくっつける」ようにしてリダクションしたほうが間違いないです。
今回最後の方でリダクションの話が出てきましたので、次回はリダクションの話しから始めたいと思います。
ゲームを作るといってもいきなり面白いゲームが思い浮かぶこともなく、始めはなんとなくプリミティブ形状を沢山置いて物理演算でガチャガチャと動かしてみたり。全然ゲームでも何でもなさそうですが動きを見ているとなんだか楽しいもので、調子に乗って沢山シリンダーを出したり…。
そのうちやっぱり飽きてきて、もうちょっときちんとしたモデルを出してみようと思うのですが、はて、どんな3DCGソフトを使ったものか…。実は素晴らしいことにAutodeskのサイトにはSoftimage Mod Tool 7.5なるものがあります。これはXNAでゲームを作る時の素材制作に使ったりするもので、FBXに書き出せますのでUnityでもデータを使うことができます。趣味で遊ぶには持って来いの代物です。
会社ではMaya、Softimage(XSI)、3ds Max と揃っていますが、私はあまりXSIを触ったことが無いのでなかなか勝手がわかりません。機能はMayaと同じものがあるので探せばなんとか見つかるのですが、意外とすごく基本的な所で引っかかってしまいました。オブジェクトを作ったのはいいけどDeleteキーで削除できない!?
困ってしまったので会社で同僚に聞いてみると、なにやらDeleteキーは「選択しているもの」そのものを削除するので、子供がいるオブジェクトは削除できないとのこと。エクスプローラーでオブジェクトを中マウスボタンでクリックして、階層すべてのものを選択してから、Deleteキーで削除しないとオブジェクトすべてを削除できないとか。つまりMayaで言えば、Edit > Select HierarchyをしてからDeleteキーを押す、ということです。
Maya に慣れてすっかり忘れていましたが、そういえば昔使ってた 3DCG ソフトもそんな感じだったなあと懐かしく思いました。Ray Dream Studio だったか Light Wave だったか、そんな挙動をしていたと思いますが、なかなか味のあるツールを使っていたものです。
3DCGソフトが変わればそういう基本的な操作が異なりますし、実は他にも削除の方法はあるかもしれません。例えばCtrlキーと組み合わせたら削除できる?などなど。
オブジェクトの削除、コンポーネントの選択等、普段当たり前になって全然意識しないこれらの操作は、Mayaを初めて使った時に結構やり方に悩んだものです。本当にこういうやり方で正しいのかどうか、どういうやり方が「普通」なのだろうか、いろいろなやり方があるのはわかったけれど、どの方法からやるのがベターなのか?という感じで。
というわけで疑問を払拭するためにMayaの基本中の基本の操作について、改めて見ていきたいと思います。Mayaを新しく始める方、Maya+Unityを始める方はもちろんのこと、玄人の方は当たり前だと思っている操作をヘルプやウェブで見なおしてみることもないでしょうから、意外と新しい発見があるかもしれません。
一つの事柄で何種類かのやり方を紹介します。どのやり方が一番自分に合っているか見つけるきっかけになれば幸いです。
(「ノード」と言うのが正確ではありますが話がややこしくなりますので、適当に「オブジェクト」と書いています。あまり気にしないでください。)
オブジェクトの削除
Maya ではオブジェクトを選択して Delete キーを押せば削除できます。子供のオブジェクトがあればそれらも含めて削除します。リファレンスのオブジェクトや削除不可(ロック)にしてあるオブジェクトは削除できません。Backspaceキーを押した場合はどうでしょうか?Deleteキーと同じ様にオブジェクトを削除できます。特に違いはありません。Edit > Deleteでも削除できます。それぞれで結果が違うかと思ったりして始めは戸惑うと思いますが、どれでも変わりはありません。
ポリゴンフェースを選択してオブジェクト全体を削除するのは危険です。というか削除不可能になっていて、必ず1ポリゴンは残るようになっています。
オブジェクト全て削除するときは、オブジェクトを選択して削除します。
では、階層がある場合に親だけ削除できるでしょうか?これはできません。一旦子供をEdit > Unparent(Shift + p)するなどして、親子関係を無くしてから親を削除します。
ではでは、階層がある場合に親のメッシュだけ削除したい場合はできるでしょうか?これはできます!親を選択してから下矢印キーを押します。メッシュオブジェクトが選択されるのでDeleteキーとかで削除します。残った親はグループになります。いわゆるnullというやつのような状態になります。
(テクニカルな話:下矢印キーを押す=シェープを選択する、ということです)
もしくはOutlinerでDisplay > Shapesをオンにします。するとメッシュのオブジェクトが姿を表します。これを選択して削除してもOKです。
(テクニカルな話:Transform/Meshのノードの組み合わせでメッシュのオブジェクトはできています。そのうちMeshノードを削除すればTransformだけ残ります。これはグループを作ったのと同じ状態です。)
…こんな感じで、行きます。
コンポーネントの削除
先程ポリゴンフェースを全て選択して削除しても、オブジェクトを削除することにはならないと言いました。3DCG初心者の頃は、オブジェクトとコンポーネントの扱いが頭の中でごちゃまぜになり、何が違うのかさっぱりわかりませんでした。基本的にはコンポーネントの削除はオブジェクトの削除と同じ感じで、Delete キー、Backspace キー などを使えば削除できます。それで削除できない場合は Delete Edge/Vertex という機能を使います。ルールはそれだけです。では一つ一つ見て行きましょう。
ポリゴンのフェースの削除はDeleteキー、Backspaceキー、もしくはEdit > Deleteで行えます。それぞれの操作で結果は変わりません。
エッジと頂点は特殊な操作が加わります。エッジは選択して Delete キーとかで削除すれば、エッジそのものを削除します。エッジだけ捨てるので、両端の頂点は残ります。
頂点も捨てたい場合は、Edit Mesh > Delete Edge/Vertexを実行します。
もしくはエッジを選択してShift + RMB(右マウスボタン)で出るマーキングメニューのDelete Edgeを実行します。どちらも同じ機能です。
リダクションする時はこのマーキングメニューのDelete Edgeを使いまくることになります。もちろんDelete Edge/Vertexメニューをホットキーを割り当てておくのもいいアイディアです。
頂点に3本以上のエッジがつながっている場合Deleteキーとかで削除できません。Edit Mesh > Delete Edge/Vertexを実行して削除します。頂点につながっているエッジも削除されます。
頂点を選択してShift + RMBで出るマーキングメニューのDelete Vertexを実行しても結果は同じです。
不便な感じもしますが逆に便利に利用する方法を考えてみましょう。頂点につながっているエッジが2本なら頂点を削除できるわけです。例えば以下の図のようなメッシュがあった時、大雑把に頂点を選択してDeleteキーを押せば、エッジ上にぽつんと置いてある不要な頂点を削除することができます。
これはこれで時々は便利です:P
まあ、リダクションする時は頂点を削除するよりも、フェースやエッジの削除が主になると思いますから、あまり気にしなくて良いとは思いますが…。
リダクションはエッジを削除、もしくEdit Mesh > Merge To Centerでマージするのがほとんどの作業となります。Merge To CenterはShift+RMBのホットキーにもあります。
頂点を削除するとエッジを繋ぎ直したりしないといけないので、なるべくEdit Mesh > MergeやMerge To Centerで「頂点をくっつける」ようにしてリダクションしたほうが間違いないです。
まとめ
今回はMayaの作業で「当たり前」と思っていることを改めて見て来ました。私自身3DCGに毎日触れているにもかかわらずSoftimage Mod Toolを触って悩んだ部分をMayaに置き換えて焦点を当てていますので、初めてMayaを触る人に大きなヒントとなれば幸いです。今回最後の方でリダクションの話が出てきましたので、次回はリダクションの話しから始めたいと思います。