blender – 口に棒あめを咥(くわ)えさせる

Image

基本は「child of」constraint

~メンバー専用 ↓
~~~~~~~~~~~~~~~~~~~
↑ メンバー専用~

無料登録は右の握手ボタンからかできます.

以下の説明は,blenderにおける作ったキャラに別に作ったグッズを付帯させる設定に関するものである.この説明について過不足があれば修正すること,更に,blog用の記事として手順を丁寧に作ること.説明 : blenderで作ったキャラクターの口に棒あめを咥えさせるために,child of constraintsを使用するが,準備には,唇と棒あめのどの部分を接点にするか決めること,接点に決めた唇の部分のvertex groupをキャラクターのmesh objectに作ること,接点に決めた点に棒あめのoriginを移動させておくこと,child of constraintを棒あめに設定し,targetをキャラクターobjectを指定,vertex groupに唇の接点に設定したvertex groupを指定,残りの設定はdefultでoK,これで完了.注意点は,キャラクターobjectの唇のvertex goupr名を変更すると,child of constraintの名前は追随して修正されることはないので,設定が崩れて棒あめが空間のどこかに飛ぶことがある.

回答 by Chappy

説明文を、実務で破綻しやすい点を補いながら、ブログ記事としてそのまま使える形に整理します。Blenderの仕様に関わる部分は公式情報を確認してからまとめます。思考時間: 11s

【現在日付】2026-04-26 JST

【結論】
元の説明は大筋では正しいですが、「残りの設定はdefaultでOK」だけは修正した方がよいです。Child Of Constraint は、設定直後にオブジェクトがずれることがあるため、通常は Set Inverse を押して現在位置を維持する手順を入れるべきです。

また、棒あめの Origin を接点へ移動する方法は有効ですが、より安定させるなら、棒あめ側に接点用の Empty を作る方法もあります。今回は、説明を大きく変えずに、ブログ記事として使える形に整理します。


【根拠】
Blender公式マニュアルでは、Child Of は通常の親子関係をConstraintとして行う機能であり、TargetがMeshの場合はVertex Group名を指定できると説明されています。また、Targetを設定した後、変形ずれを避けるために Set Inverse を使うことがあると説明されています。


Child Of Constraint と Vertex Group を使った小物固定

Blenderで作成したキャラクターに、棒あめ、タバコ、ストロー、笛、マスクの一部など、別に作成した小物を付帯させたい場合があります。

ここでは例として、キャラクターの口に棒あめを咥えさせる設定を行います。

この方法では、棒あめをキャラクターの口元に追従させるために、Child Of Constraint を使用します。

Image

1. 今回の目的

今回の目的は、次の状態を作ることです。

キャラクターの唇の一部を接点として設定し、棒あめの先端または咥える位置が、その唇の位置に追従するようにします。

つまり、キャラクターを移動したり、口元を含むメッシュが動いたときに、棒あめも一緒に動くようにします。


2. 作業前に決めること

最初に、以下の2点を決めます。

1つ目は、キャラクター側の接点です。
たとえば、上唇と下唇の間、口角付近、中央の唇部分などです。

2つ目は、棒あめ側の接点です。
たとえば、棒あめの棒の先端、口に咥えさせたい部分、キャンディ部分の近くなどです。

この2つの接点を決めておくことで、後の設定が安定します。


3. キャラクター側にVertex Groupを作る

まず、キャラクターのMesh Objectを選択します。

Image

図. キャラクター側の接点vertex groupの設定例

次に、編集モードに入り、棒あめを咥えさせたい唇付近の頂点を選択します。

選択する頂点は、1点だけでも設定できますが、実用上は数個の頂点を選んだ方が安定しやすいです。たとえば、上唇と下唇の間の小さな範囲を選びます。

その後、Object Data Properties の Vertex Groups で新しいVertex Groupを作成します。

例として、名前を次のようにします。

VG_Mouth_Candy_Point

選択した頂点をこのVertex GroupにAssignします。

このVertex Groupが、棒あめを追従させるためのキャラクター側の接点になります。


4. 棒あめのOriginを接点に合わせる

次に、棒あめObjectのOriginを、口に咥えさせたい位置に移動します。

たとえば、棒あめの棒の途中を唇に咥えさせたい場合は、その位置にOriginを移動します。

この操作をしておくと、Child Of Constraintで追従させたときに、棒あめの位置合わせがしやすくなります。

一般的な手順は以下です。

  1. 棒あめObjectを選択する
  2. Edit Modeで接点にしたい位置に3D Cursorを置く
  3. Object Modeに戻る
  4. Object > Set Origin > Origin to 3D Cursor を実行する

これで、棒あめのOriginが咥えさせたい接点に移動します。


コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA