3Dマンガ進捗 250303
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設定した骨の先っぽがポールターゲットにむかって向く
他の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をチェックする
ロボットの足 関節が二つある場合
足の動きを下のように動かしたい
やること
足先を地面と平行にする
関節を決まった角度と方向にだけ曲がるようにする
二個の関節がZ型に曲がる
足先を地面と平行にする
足先の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にすれば角度制限はいみがある っぽい
二個の関節がZ型に曲げる方法
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 ロボットに足を付ける
明日の目的。ロボットの足を一つのアーマチュアにまとめる。真ん中にボーンを置いてペアレントする
体を回転させる
足を付けなおす
アーマチュアを一つにする
前やったばかりなのにすぐに忘れる。やり方を詳しく描くより、参考動画貼り付けて、時間指定したほうが簡単だし他の人はやってなさそう。
ウェイトの掛け方
Weight(BoneとMeshの関係づけ)はMeshの中にVertical groupがあるからそれを選んで、その中から選んでWightをかけるのができる。ただし、MeshとArmatureがParentしてないとVertical groupに表示されない。Edit modeで編集できる。
LキーでMergeしたMesh選択して、Armatureの頂点グループ(Vertical group)にAssignするとボーンとMeshが関連付けられる。Parentしただけじゃだめ
ModifireのSolidifyをつかったOutlineのとりかたを説明してる
CTL+AでAlltranceFormで全ての変更が一緒になる
CTL+Jで結合すると最後に選択したほうのマテリアルやモディファイアが適応される
Blender標準のコピーモディファイアだとモディファイア全部がコピーされる。Copy Selected Modifiers のアドオンをつかうと対象のモディファイアだけコピーできる
Outline helperだけだと、ロボットの足が上手くアウトラインを取れなかった。もう一つModifireのSolidifyでアウトラインを取る方法をくっつけると上手くいった。
ただ、アウトラインだけしか黒い線がでないので、3Dオブジェクトに直接グリースペンシルでMeshのSurfaceに書きこむ必要がある。
手描きで綺麗に書くサポートショートカットキー
Shift+描画=手振れ補正入りで描画
Ctrl+描画=消し込むブラシ
Alt+描画=縦横まっすぐな線を描画(ちょっと描きにくい)
グリースペンシルの線が表面に近すぎると、線がオブジェクトに沈み込んで欠ける
人物のシルエット線を10PIXなので、中の線を7Pixで描く。その時の物体と線の隙間を0.25にした。
内角だと線がものすごく沈む
グリースペンシルで足の枠を描いたものを、Armatureとペアレントさせる。
ずれちゃう→
絵→ボーンの順番に複数選択(順番が大事)>CTL+ P(ペア)>空のグループで
グリースペンシルが上にある状態でOutlineを適応させたい。現状では、OutlineのModifireがグリースペンシルを覆い隠して見えなくなる。
総当たりで、どうやったらできるかを記録。
失敗したけどIKとグリースペンシルが同期した
つま先のIKを親にしてアウトライングリースペンシルをParent
アーマチュア変形
空の頂点グループ
Edit modeでグリースペンシルのアウトラインを選択した後つま先.IK に重みづけして、同期させる
その瞬間グリースペンシルが遠くに飛ぶ。(Edit modeの実際の位置関係のずれ?)Edit modeで位置をあわせる。するとグリースペンシルがちょっと物体に沈み込む。なんでかしらないけど、重みづけしたときにグリースペンシルのサイズが少し縮む
解決策 →大きく描いて合うようにする
Object constraint で同期しようとしたけど、Poseモードで、Bone constrainと相性が悪いのか、上手く同期しなかった
次の方策(230420)
ボーンコンストレインで、つま先のIKとグリースペンシルのOutlineの位置と傾きを同期させればよくない?
最初からグリースペンシルでペアレントして、それで描いて、その後重みづけする
オレンジ色で囲まれたのが、グリースペンシルにBoneにウェイトを掛けたもの。ウェイトを掛ける前と比べて数パーセント小さくなってる。なんで?アウトラインをグリースペンシルで取りたいのにオブジェクトに潜り込んじゃって困る
FC2のCPUさんから教えて貰って解決した。ボーンとグリースペンシルをウェイトで動かしてたのがダメだった。
解決策
つま先のIK Boneを親にしてアウトラインのグリースペンシルをParent
ペアレントする先はWeightではなく、Bone
アーマチュア変形
つま先の空の頂点グループ
Edit modeでグリースペンシルのアウトラインを選択した後つま先.IK に重みづけして、同期させる
その瞬間グリースペンシルが遠くに飛ぶ。(Edit modeの実際の位置関係のずれ?)Edit modeで位置をあわせる。するとグリースペンシルがちょっと物体に沈み込む。なんでかしらないけど、重みづけしたときにグリースペンシルのサイズが少し縮む
これだけのことに丸一日かかった。教えて貰わなかったら死んでた。ロボットみたいな変形しないメッシュはウェイトかけないで、ボーンとペアレントでいいらしい。人体だとウェイトかけて、曲がり方をゆっくりにする。
Grec pencil tool
Perform a rotation of the view in free navigation or active camera in camera view.
Ctrl-Alt-MMB
Click and release immediately to reset 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
結局親子関係が上手くいかなかったので、メッシュ全部作り直してからリギング最初からやることにする。復習がてら現在の状態から、ロボットボディの完成形を作って、あとでリギングもういっかい。
ブラシつける。
ホースつける
洗浄液タンク
座面
目とおなかの溝、機体番号をグリースペンシルで描く
ホースの作り方
Shift+AでCurveでBezierを追加
プロパティから緑の輪っかBevelのDepthを増やすと、カーブに厚みが出る
結合とは
結合、(Join)は複数のメッシュオブジェクトを一つのオブジェクトにまとめる
やり方は Shiftで選択したあと CTRL+j
四分割画面
CTRL +Alt+Q
穴が空いているときその穴のまわりをEditModeで選択する。その後Face→Grid fill
全部選択しなくても二つくらいの辺を選択すれば勝手にうまるっぽい。
ObjectModeで物体選択→右クリック→Convert to→Mech
0504
Twitterに定期的に投稿するために作業を分散させる。ロボット作業は時間がかかりすぎる。学習時間多くて進捗が少ない。画面に変化を持たせるため作業が目に見えやすい部分を増やす。
0507
作業記録と技術メモは別に書く。一ページで纏めるページと、技術ごとにページを作る。
今日は漫画にするときのパネルの表示と一ページを同時に存在させる方法のチュートリアルを3PTとHinkに教えて貰った。
形状データのこと。グリースペンシル、メッシュ、カーブ、テキストなどがある。
マージは、同一オブジェクト内の頂点数を減らすこと。Joinは複数のオブジェクトを一つのオブジェクトにまとめること。マージはEdit mode。JoinはObjectModeでしか発生しない。
モディファイヤでObjectのオリジンを中心に、オブジェクトが対象の形になるようにできる。オリジンがポイントなので、
右クリックで、Favariteに登録
Qキーで使用
丸いもの以外はアウトラインを全部グリースペンシルで描く。0.25離す
色は塗らずに、3Dオブジェクトの色にする。
ライティングでなんとかなる?
丸いものはシェーダーを使うか
0509
椅子が小さいので線画が汚くなる。新しいシェーディングを学ぶ。
0513
学んだけど、シェーダーは今のところ必要なさそう。最終的な色を決めるときには必要かも。
0518
3D日記とロボット作成が一緒になっちゃってる。別々にページ分けたほうが読みやすいページの分割をする。そもそも、細かいメモも自分のページを作る。参考するときにそっちのが便利。ページ多くなって大変になってきたらその時考える。
ロボットのスキニングとIK作成をもう一度行う。さらに今回はグリースペンシルのアウトラインを先に書いて、Parentさせる
MeshとRigのParentの順番。Rigが親。
多分、パーツ毎にグリースペンシルのデータを分けて、割り当てしやすくする。その後、全部のデータを合わせてParentしたときにどう動くのか見てみる。
マージはできるけど分割ができない
Vertex groupで重みづけをするときに、
ちょっとぐらいずれても良いかと思ったけど、リギングのときに微妙にずれてるせいであわせずらい。ひどい目にあった。メッシュを直した方が楽
ペアレント、リギングするときは、Rest Pose下で行う
Iキーを押した後All Cannnelを選択
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 の四層に分かれた。
フェイクユーザーはオブジェクトごとに設定できる?オブジェクトごとに、アクションの持ち主って意味あいらしい。誰に所属するのか示すだけ。
階段を動かしつつ、ロボットも動かして。ってことがやりたい
Non Linear animationをやれば直線の動きできるかも?
結果、NLAと二つの物体の位置調整をDelta transformで行うことでクリアした。四日かかった
グリースペンシルを選んだ状態でプロパティタブの中のオレンジ色の❒の中のViewport display In frontをチェック
レンダ ェクトがいくややっても透明にならない
オブジェクトプロパティから、Alphaの値を1より低くした後、Blend modeでOpaque(不透明)からAlpha hashedに変更する
グリースペンシルでアニメーションを描くために(surfaceに)Planeを足それぞれに用意した。
3Dモデルの上に平面を足それぞれに用意。ObjectConstrainをCopyLocationとCopy Rotationのふたつ。
LocationのほうはOffsetにする。
RotationはY軸だけ。表示画面に垂直になるように。 OrderとMixを弄ったXZY Eulerと、MixをBefore originalにした。なんでこれだとうまくいくのかわかんないけどうまくいった。
モディファイアから Time offsetをObjectに追加した後 Custom rangeでキーフレームの範囲指定
Constant offset とRelative offset の違い
Constantは常にそのものとの位置関係
Relativeは複製のオリジナルの元の位置との関係
階段のアニメーション 1108
最初は八フレーム事に階段のラインを動かす。(ロボットは4フレーム毎)でためす
その後色も変えてみる
グリースペンシルのオブジェクトを変更するには、オブジェクトのoriginをカメラ側に寄せる、もしくは原点に近づけると表示順番が変わった。
線画が埋没
Originを手前に持ってきて必ず上に表示されるようになった
グリースペンシルのPointとPointの間に制御Pointをさらに追加するには
→選択モードで線にして、増やしたい線を選択した後で、Stroke→Subdivide