3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

にゃんにゃんメッシュエディタ―紹介

Posted at

はじめまして、株式会社PsychicVRLabでUnityエンジニアをしています、「ほたてねこまじん」と申します!
STYLYアドベントカレンダー3日目の記事になります。

この記事では、私が以前趣味で開発した「にゃんにゃんメッシュエディタ―」という、Unity完結で(超簡単な)3Dモデルの修正が可能なツールの紹介です。

なぜ作ったか

あえて「メタバース」という言い方は避けますが、近年VRChatなどアバターを着用してユーザー同士のコミュニケーションを楽しむゲームのユーザー数がかなり増えています。数年前は考えられませんでしたが、Boothでも人型の3Dモデルがかなりの数販売されており需要の高さがうかがえます。

そして、そういったユーザーの中(特にVRChatユーザー)はアバターの個性を重視する傾向があり、テクスチャの配色を変更したり、市販品のアバターに+α の要素を足すことで「自分だけのアバター」というアイデンティティを求めています。
その証拠に、人型の3Dモデルに付随して衣装やアクセサリーの3Dモデルなど、組み合わせれば実質無限通りのアバターを作れるだけの市場が出来上がっています。

そんなアバターに+α の個性を加えるためには、Unityでアップロード作業をすることが必要であり、さらに3Dモデルのメッシュ自体に変更を加えたければBlender等のより専門的なツールを扱わなければいけませんでした。
しかし本来は扱うのに専門知識が必要な、そういったツールを学習するコストは高く、せめてUnityだけでメッシュの変形を完結できないかな?と思って作ったのが本ツールです。

にゃんにゃんメッシュエディター(MeshModifyTool)

000.png

導入方法,使用手順

  1. あらかじめアバターアップロード用プロジェクトのバックアップを取っておく.
  2. MeshModifyTool.unitypackageをUnityProjectにインポートする.
  3. Unityの上部メニュー,Window/HhotateA/にゃんにゃんメッシュエディター(MeshModifyTool)を開く.
  4. アバターに合わせたい服のメッシュをドラッグ&ドロップして"Setup"をクリック.
  5. 編集したいメッシュ名をクリック.
  6. 編集ツールを選択する.
  7. メッシュを編集する.(BlendShapeとして保存したい場合しておく)
  8. Saveをクリックして保存.

機能説明

アバター編集画面は右クリック長押しで回転,左クリック長押しで移動

001 (1).png

  • Setup : root以下のMesh一覧を更新します.

  • Mesh一覧 : 編集したいメッシュ名をクリックします.左のチェックボックスでオブジェクトを非表示にできます.

  • SaveAsBlendShape : 左のテキストボックス名のBlendShapeとして,現在の編集を保存する

  • Undo : 編集をやり直します

  • Redo : Undoを取り消します

通常編集モード

002.png
クリックした位置のメッシュを引っ張る,膨らませることができる.

  • Power : 押し出し,引っ張りの強さ(-1 押し出し,+1 押し出し)

  • Width : クリック点からの編集の影響範囲

  • Strengh : 範囲内の変形の滑らかさ(1≧なめらか,1≦均一)

  • Mirror(x,y,z) : x(y,z)軸対称に編集を行う設定

頂点編集モード

003.png
クリックした頂点を,青点から赤点に移動させる.

  • Width : クリック点からの編集の影響範囲

  • Strengh : 範囲内の変形の滑らかさ(1≧なめらか,1≦均一)

  • Mirror(x,y,z) : x(y,z)軸対称に編集を行う設定

メッシュ編集機能

004.png
ポリゴンごとに移動,コピーなどの編集を行う

  • Land選択 : 繋がった頂点を一括選択する(ちょっと重いので注意)

  • ポリゴン選択 : 1ポリゴンごとに選択する

  • Transform : 選択中ポリゴンを移動する

  • Copy : 選択中ポリゴンを複製する(Can not undo) 参考

  • Deleate : 選択中ポリゴンを削除する(Can not undo)

ActiveExperimental

005.png
006.png

  • SelectVertexMode : 通常編集,頂点編集機能時に操作点が頂点に吸われる設定
  • RealtimeTransform : 頂点編集,メッシュ編集機能時にScene上のオブジェクトとして編集を行う 参考
  • SelectOverlapping : メッシュ編集機能時に重複頂点を一括選択する

ActiveExperimentalBeta

007.png

  • Delete : メッシュ編集時の"Delete"でポリゴンを同時削除する
  • MergeBones : ボーン削減機能(HumanBone:HumanoidBoneに含まれないボーンを参照から外す, ActiveBone:Sceneで非表示設定のボーンを参照から外す)
  • ChangeBone : ボーンの参照を別のHumanoidに移す(Merge:存在しない補助ボーンを追加する, Combine:存在しない補助ボーンをConstraintで追従する, Constraint:Constraintの設定のみ行う)
  • CombineMesh : メッシュの結合を行う(ActiveMesh:root以下のすべての表示中Meshを結合した1つのSkinnedMeshを作成する, Material:選択中メッシュのサブメッシュをShaderごとに結合する) 参考 参考
  • RandmizeVertex : アバターのリッピングを防止するためメッシュをランダムに変形する.(非推奨)
  • CopyBoneWeight : 他SkinedMeshからBoneWeightをコピーする(非推奨)
  • Decimate : ポリゴン数を目標値まで削減する(非推奨)
  • WeightCopy : メッシュ編集機能で選択中のポリゴンのウェイト値を,他頂点からコピーする. 参考
  • Decimate : クリックしたポリゴンを削減する.

宣伝

PsychicVRLabではUnityエンジニア・サーバーサイドエンジニアを募集しています!!ご応募お待ちしています!!

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?