3D漫画作成記録

3Dマンガ進捗 240628

上のyoutubeのような画面で3D漫画作成のための技術習得や問題解決をブログ形式にして、いっぱいページ作ってビューを稼ごうとした。ページ数が多くなり自分で確認したいときに煩雑になった。めんどいので作業記録として一ページにまとめる。

タイトルに属性を付属して分かりやすくする。日付は最後にする

最近はChatGPTに聞けばなんでも教えてくれる。記憶の強化のためにここに書く。

リギングをするには


Vertical groupをメッシュに割り当てる。

メッシュ→Vertical group→ Rig 

の間のVertical group を作るときに、Lボタンを使うと、カーソル回りの辺、面を選択できる。メッシュを



ロボットの足の関節の角度を固定する

参考サイト https://bluebirdofoz.hatenablog.com/entry/2020/09/19/224143

Chane数(Boneconstrain)を弄ることで子の各ボーンの影響範囲をいじれる。子の各ボーンを、子の付け根と、親の先端を結んだ直線がPoletargetに向くように

IKってなに

Inverse Kinematics設定した骨の先っぽがポールターゲットにむかって向く

Constrainとは

他のBone動きによっても、動きが決まるBoneの設定のこと

BoneConstrainさせたいBoneの両端のテールとヘッドからIKにするBoneをそれぞれ作る。

上のボーンはPoletarget IKにして、下のBoneはボーンを動かすControler IKにする


Boneを黄色くするとConstrainが効いてる。

この状態にするためにはコントローラーのIKを最初に選択次にIKを効かせたいBoneをShift+クリック。

Poseモードにうつってから(忘れがち)、Shift+Ctl+C でInverse Kinematicsを選択する

IKにすると、ボーンの角度が変わってしまうので回転させて元に戻す。


IKにすると何がいいことあるの?



Boneconstrain(IKのコントローラーBoneに影響を受けて動くBone)の設定の仕方

Pose モードで、BoneConstrainをしてるボーン(黄色い骨)をクリックしてBonePropertyの(緑の骨アイコン)の中からInverse Kinematicsのなかに、LockIK x、y、z とそれぞれが曲がる角度の指定をできる。

黄色くなっているBoneのConstrain設定。Targetは動かしたいBoneがどのArmatureに存在するかの項目。その後曲げる方向を決めるPole Target IKと、Constrain BoneがどのControler IKで操作したいかをTarget Boneで設定する。


また、コントローラーBoneの形を変えたい

ボーンプロパティから、Custam objectで、キューブを呼び出してコピーする。

さらにObject transformからWire frameをチェックする

ロボットの足 関節が二つある場合

足の動きを下のように動かしたい

やること


足先を地面と平行にする

足先のBoneと足先のIKをの角度を一致させればいい。足先コントローラーIKの角度を変えない限り足先BONeは回転しない。まず、足先のIKを作成する。足先BoneをConstrainしてのCopyRotationにする。Target armatureを現在のArmatureにして、Target Boneをコントローラーの足先IKにすればOK


関節を決まった角度と方向にだけ曲がるようにする




((Bone3のBoneProperty(緑の骨マーク)の中にInverseKinematicsの欄がある。関節をZ軸だけに曲げたいので、”Lock ik”のX,Yにチェック。また、z軸の回転を制限したいので”Limit Z”にチェックをいれて、0度から120度までにする。))

230520追記 ポールターゲットを設定すると角度制限意味なくなるらしいけどホンと?

Chaneの数を0にすれば角度制限はいみがある っぽい





IKだけだけだと、Bone1がZ字型に曲がらない。Bone3のIKのChane数を2にして、影響範囲をBone2とBone3までにする。

そして、Bone1(体から一本目)をConstrainのCopyRotationをかけて、Bone3(つま先から一本目、体から三本目)と角度が同じにする。

Bone1のBoneconstrainのプロパティアイコン(青い骨)からコピーするBoneをBone3にしてAxisをXYZに選ぶ

この方法でやる場合、体に繋がるボーンを作っておく。

そうしないと、Bone1とBone3のConstraint Rotationしても、安定しない。?


同一Armature内で、ロボットに手を作りたかった。コピーrotationとIKの組み合わせをもう一組作ろうとしたら上手く作れなかった。おそらくBlenderのバグが発生した。

よって手は、別アーマチュア内で作ることにする。それが一つのメッシュで管理できるかはこれから試す。 230520

追記。230522

手の場合、Copy Rotationを使わない。

Cahain数を3(腕の本数)にして、IKの軸のXYを固定してz軸だけ動かすようにしたら上手くいった。足とは動きが違うけど、手なので問題なし。

やはりPole targetがあったとしてもIKの軸固定は有効。


関節をz方向にだけ曲げたいので、XとY軸を固定するため、黄色いIKのBoneのプロパティのIKのLockをXYにチェックする。

Copy RotationのConstrainが上手くいかなかった理由

おそらく、手の場合、足と上下さかさまについているために、コピーの挙動が逆になっている模様。曲げたときにコピー元の逆側に曲がる。ということは、逆コピーができればいける?

考えられることその2

EditModeでチェックできるRollが関係してるかも。ボーン毎にロールが違って、Copy Rotationの角度が変わってしまってるのかも。

アーマチュア同士の結合

できないとおもってたけど、アーマチュアを選択してCTL+Jではできなかった。

でもアーマチュア同士のBoneをすべて選択したあと、CTL+Jで二つのアーマチュアを結合できた。

ロボットの後ろ足がCopy Rotationだと、階段で足と体が干渉しちゃうので、はずした。Lock IKのXYを固定して、StiffnessのZ軸を0.99にして、Limit Zにチェックをいれた。また、黄色のIKのChainを3にした。

前足も、それでやることにした。めっちゃぶれてCopy Rotationではダメだった。

ブーリアン

ブーリアンするにはBootoolを使う

削りたい対象にModifireをかける。青いレンチマークからModifierを選ぶ。そのなかのMirrorを選ぶ

モディファイアをかけてるObjectの周りに対象のオブジェクト(Mirror Object)を対象的に配置できる。軸はAxisなどで指定。

ただ、ModifireのObjectの原点がずれると、ミラーしたオブジェクトも原点に合わせてずれる。のでMirror Objectの原点を直す。

CTL+AでApply all transformations。から右クリックでSet origin のなかから Origin to geometryを選ぶ

0409 ロボットに足を付ける

明日の目的。ロボットの足を一つのアーマチュアにまとめる。真ん中にボーンを置いてペアレントする

ロボットのパーツを後からくっつけて、MeshをMergeさせてBoneとPearentする


前やったばかりなのにすぐに忘れる。やり方を詳しく描くより、参考動画貼り付けて、時間指定したほうが簡単だし他の人はやってなさそう。

ウェイトの掛け方

Weight(BoneとMeshの関係づけ)はMeshの中にVertical groupがあるからそれを選んで、その中から選んでWightをかけるのができる。ただし、MeshとArmatureがParentしてないとVertical groupに表示されない。Edit modeで編集できる。


LキーでMergeしたMesh選択して、Armatureの頂点グループ(Vertical group)にAssignするとボーンとMeshが関連付けられる。Parentしただけじゃだめ

Objectのアウトラインをとる

ModifireのSolidifyをつかったOutlineのとりかたを説明してる


CTL+AでAlltranceFormで全ての変更が一緒になる

CTL+Jで結合すると最後に選択したほうのマテリアルやモディファイアが適応される

対象のモディファイアだけをコピーする Copy Selected Modifiers 

Blender標準のコピーモディファイアだとモディファイア全部がコピーされる。Copy Selected Modifiers のアドオンをつかうと対象のモディファイアだけコピーできる

アウトラインを取る方法 Outline Helper

Outline helperだけだと、ロボットの足が上手くアウトラインを取れなかった。もう一つModifireのSolidifyでアウトラインを取る方法をくっつけると上手くいった。

ただ、アウトラインだけしか黒い線がでないので、3Dオブジェクトに直接グリースペンシルでMeshのSurfaceに書きこむ必要がある。

手描きで綺麗に書くサポートショートカットキー

Shift+描画=手振れ補正入りで描画

Ctrl+描画=消し込むブラシ

Alt+描画=縦横まっすぐな線を描画(ちょっと描きにくい) 

グリースペンシルの線が表面に近すぎると、線がオブジェクトに沈み込んで欠ける

人物のシルエット線を10PIXなので、中の線を7Pixで描く。その時の物体と線の隙間を0.25にした。

内角だと線がものすごく沈む

グリースペンシルで足の枠を描いたものを、Armatureとペアレントさせる。

ずれちゃう→

絵→ボーンの順番に複数選択(順番が大事)>CTL+ P(ペア)>空のグループで 

グリースペンシルが上にある状態でOutlineを適応させたい。現状では、OutlineのModifireがグリースペンシルを覆い隠して見えなくなる。

総当たりで、どうやったらできるかを記録。

失敗したけどIKとグリースペンシルが同期した


解決策 →大きく描いて合うようにする


Object constraint で同期しようとしたけど、Poseモードで、Bone constrainと相性が悪いのか、上手く同期しなかった

次の方策(230420)

ボーンコンストレインで、つま先のIKとグリースペンシルのOutlineの位置と傾きを同期させればよくない?

オレンジ色で囲まれたのが、グリースペンシルにBoneにウェイトを掛けたもの。ウェイトを掛ける前と比べて数パーセント小さくなってる。なんで?アウトラインをグリースペンシルで取りたいのにオブジェクトに潜り込んじゃって困る

FC2のCPUさんから教えて貰って解決した。ボーンとグリースペンシルをウェイトで動かしてたのがダメだった。

解決策

これだけのことに丸一日かかった。教えて貰わなかったら死んでた。ロボットみたいな変形しないメッシュはウェイトかけないで、ボーンとペアレントでいいらしい。人体だとウェイトかけて、曲がり方をゆっくりにする。

Grec pencil tool

Rotate Canvas

Perform a rotation of the view in free navigation or active camera in camera view.


グリースペンシルとボーンのペアレントが上手くいかない

全てのメッシュとArmatureを一つのボーンでコントロールしようとしたが上手くいかなかった。Meshのアウトラインとして描いたグリースペンシルがずれてしまっていた。

この原因は、グリースペンシルのObjectが、ParentするArmatureと同一のCollectionに入っていなかったために起こった。

解決策

ParentしたいGrecepencilをドラッグして、コレクションの中にいれたあと、Parentしたら解決した。ズレはおこらなかった。コレクションが違ってもペアレントはできるけど、ペアレントしてる物体をさらにParentしようとするとズレがはっせいするのかもしれない。BoneのプロパティのDeformが悪さしてるかも。

グリースペンシル同士の結合(Ctlr+j)が上手くいかない

グリースペンシルがいっぱいあるので一つのグリースペンシルのフォルダにまとめたいけどずれる。ペアレントするときに、ボーンタイプでペアレントしたからかもしれない。ボーン同士じゃない場合オブジェクトのペアレントをやらないとずれる?でもグリースペンシルのペアレントは、ボーンタイプじゃないとズレてたきがする。要研究

同じ種族のフォルダに入れると

ローカル(Edit Mode?)での位置関係になってしまうのでワールド(Object or Pose

)の位置関係のなかで片っぽを移動させると引っ付いて動いてしまう。だから、Poseモードで動かしたいなら属性フォルダは別にしないといけない


Armatureの中にメッシュがペアレントされている者同士のペアレントがうまくいかない

入れ子構造になってると、ペアレントするときに、Parent(Bone)だとズレるから、Objectのペアレントをしなきゃいけない。おそらくメッシュとアーマチュアが同時にペアレントするときに正しい階層関係があるはず。それでうまくいく時といかないときがある。

全てのボーンが同じアーマチュアに入ってる必要があるっぽい?

今回は頭と、骨が別々だったのでだめだったかも。頭のペアレントをレイヤを別にして(ほかのアーマチュアとメッシュと同じようにして)ペアレントObjectのノーマルでやれば上手くいきそう

レイヤの違いじゃなくて、メッシュとボーンのペアレントタイプが、ボーンなのかObjectなのかの違いかも?もしくは割り当て?

いまのところはずっとボーンでやってたので、頭もBoneタイプでParentしてみる

骨だけの場合のみParent(Bone)を使う

解決策

結局メッシュもアーマチュアも全部選んでからボーン一つにいれれば済むこと。形式にこだわらず、結果求めるものがでるならそれでよし。

次にやること

対の組の足の組み合わせ


View portの背景の色を変えるには

編集→ Preference → 3D View port →Theme space →Gradient colors

Nonlinier animation  アニメーション テスト 1コマ目 階段の下り 230437


アニメーションを複数作るため、ドープシートではなくActionEditorで動きをいろいろ作る

「New」がでてくるので、クリックすると動きのデータが作れるので、今回は{Walk}にした。🛡マークにしるしをつけると、Blender消してもデータが残るらしい

Parent memo

BoneのParennt 親は子だくさんになれるが、子は親一人だけ。だから別の親でコントロールするには、境目に新しく骨をつくり、接続切って、親に動かしたいBoneのPoletargetIKとTargetIKの親にさせたあと、さらに新しく作った骨は動かしたい骨の根本の親になる

IKは親を複数モテる?


メッシュの適応方法

メッシュを選んで、🔧マークからModifireのArmatureから↓↓をクリックするとApplyがあるのでそれを押すと、メッシュがPoseの形になる

Poseからアーマチュアの適応OR初期化方法

PoseModeで全部選択した後、

Pose→ Clear Transform 初期状態に戻す

Pose → Apply → All 全部をRestpose(初期設定)にする

レストポーズしたけど何の意味ある?

0428

結局親子関係が上手くいかなかったので、メッシュ全部作り直してからリギング最初からやることにする。復習がてら現在の状態から、ロボットボディの完成形を作って、あとでリギングもういっかい。

ホースの作り方


結合とは

結合、(Join)は複数のメッシュオブジェクトを一つのオブジェクトにまとめる

やり方は Shiftで選択したあと CTRL+j


四分割画面

CTRL +Alt+Q

面貼り Grid fill 

穴が空いているときその穴のまわりをEditModeで選択する。その後Face→Grid fill

全部選択しなくても二つくらいの辺を選択すれば勝手にうまるっぽい。

Curveで作った物体をMeshに変換

ObjectModeで物体選択→右クリック→Convert to→Mech

オブジェクトの結合・分離と統合

0504

Twitterに定期的に投稿するために作業を分散させる。ロボット作業は時間がかかりすぎる。学習時間多くて進捗が少ない。画面に変化を持たせるため作業が目に見えやすい部分を増やす。

stencil buffer

0507

作業記録と技術メモは別に書く。一ページで纏めるページと、技術ごとにページを作る。

今日は漫画にするときのパネルの表示と一ページを同時に存在させる方法のチュートリアルを3PTとHinkに教えて貰った。

ジオメトリとは

形状データのこと。グリースペンシル、メッシュ、カーブ、テキストなどがある。

描画補正について

マージは、同一オブジェクト内の頂点数を減らすこと。Joinは複数のオブジェクトを一つのオブジェクトにまとめること。マージはEdit mode。JoinはObjectModeでしか発生しない。

ミラリング Modifire

モディファイヤでObjectのオリジンを中心に、オブジェクトが対象の形になるようにできる。オリジンがポイントなので、

お気に入りへの登録と使用 Blender

右クリックで、Favariteに登録

Qキーで使用


オブジェクトのアウトラインと、カラーについて

0509

椅子が小さいので線画が汚くなる。新しいシェーディングを学ぶ。

0513

学んだけど、シェーダーは今のところ必要なさそう。最終的な色を決めるときには必要かも。

0518

3D日記とロボット作成が一緒になっちゃってる。別々にページ分けたほうが読みやすいページの分割をする。そもそも、細かいメモも自分のページを作る。参考するときにそっちのが便利。ページ多くなって大変になってきたらその時考える。

ロボットのスキニングとIK作成をもう一度行う。さらに今回はグリースペンシルのアウトラインを先に書いて、Parentさせる

MeshとRigのParentの順番。Rigが親。 


ロボットの足のグリースペンシルのメッシュをどう分けるか

多分、パーツ毎にグリースペンシルのデータを分けて、割り当てしやすくする。その後、全部のデータを合わせてParentしたときにどう動くのか見てみる。

マージはできるけど分割ができない

Boneの名前の付け方

Vertex groupで重みづけをするときに、

メッシュは対象に作るべき。

ちょっとぐらいずれても良いかと思ったけど、リギングのときに微妙にずれてるせいであわせずらい。ひどい目にあった。メッシュを直した方が楽

ペアレント、リギングするときは、Rest Pose下で行う

キーフレームを全部挿入する方法

Iキーを押した後All Cannnelを選択

0801

3Dオブジェクトのマスクのやり方をチューさんから教えて貰った。3Dオブジェクトでマスクするとき、視差マッピングParallax textureで できるらしい


グリースペンシルのレイヤ構造

部屋をグリースペンシルで作成する場合の手順

1,3Dでオブジェクトを作成する。壁、家具を基本は箱で作成。形にこだわらないで、グリースペンシルで描くほうにこだわる。

家具のガイドラインの箱は奥行はそろえる。いちいち奥行を変えなくいいようにするため。

2,物体配置は、1・手前物体 2・真ん中物体 3・奥物体 の三層にする。 あとは壁に直接書く。

3,レイヤ構造は、下から順に、Room, Wall、Back, Mid、Front の五層。各層はさらに Front, Top, Sideに分かれる。物体の角度によってSideがAとBに分かれる。今回のウサギの部屋は下から順にSideB,Top、SideA, Front の四層に分かれた。

階段を下りるロボット問題 0914

フェイクユーザーはオブジェクトごとに設定できる?オブジェクトごとに、アクションの持ち主って意味あいらしい。誰に所属するのか示すだけ。

階段を動かしつつ、ロボットも動かして。ってことがやりたい

Non Linear animationをやれば直線の動きできるかも?


結果、NLAと二つの物体の位置調整をDelta transformで行うことでクリアした。四日かかった

グリースペンシルを常に前に表示させたい

グリースペンシルを選んだ状態でプロパティタブの中のオレンジ色の❒の中のViewport display In frontをチェック

ビューポート上(表示画面)でオブジェクトを透明にひょうじしたい

レンダ ェクトがいくややっても透明にならない

オブジェクトプロパティから、Alphaの値を1より低くした後、Blend modeでOpaque(不透明)からAlpha hashedに変更する

 3Dモデルにグリースペンシルで直接かけない問題 0924

グリースペンシルでアニメーションを描くために(surfaceに)Planeを足それぞれに用意した。 

3Dモデルの上に平面を足それぞれに用意。ObjectConstrainをCopyLocationとCopy Rotationのふたつ。

LocationのほうはOffsetにする。

RotationはY軸だけ。表示画面に垂直になるように。 OrderとMixを弄ったXZY Eulerと、MixをBefore originalにした。なんでこれだとうまくいくのかわかんないけどうまくいった。

アニメーションの動き出してオブジェクトがずれる問題  230928


アニメーションループの作り方

モディファイアから Time offsetをObjectに追加した後 Custom rangeでキーフレームの範囲指定

階段の作り方。 繰り返しオブジェクト モディファイアで Arrayを使う


Constant offset とRelative offset の違い

Constantは常にそのものとの位置関係

Relativeは複製のオリジナルの元の位置との関係

 階段のアニメーション  1108 

最初は八フレーム事に階段のラインを動かす。(ロボットは4フレーム毎)でためす

その後色も変えてみる

240121 グリースペンシルのオブジェクト間での表示順番変更

グリースペンシルのオブジェクトを変更するには、オブジェクトのoriginをカメラ側に寄せる、もしくは原点に近づけると表示順番が変わった。



線画が埋没

Originを手前に持ってきて必ず上に表示されるようになった

230214

グリースペンシルのPointとPointの間に制御Pointをさらに追加するには

→選択モードで線にして、増やしたい線を選択した後で、Stroke→Subdivide