« August 2013 | Main | October 2013 »

September 20, 2013

BMHアドオン版

まだ少々問題がありますが、とりあえず使えるレベルにはなったと思うので、BMHのアドオン版v1.2をアップいたします(_ _)
使い方等は改めてわかりやすめのものを作る予定です。


↓Bone Modeling Helper のアドオン版(ver.1.2)です。(blender 2.67bで作成)

bone_modeling_helper120.py

↓今回の動画で使用したサンプルファイルです。(blender 2.67bで作成)

bmh_v120sample.blend


ファイルの内容を変更しない限り、二次配布も三次配布も自由です。

2つの残念な仕様は残ったままですが、これ以上粘っても今の自分の力では問題解決が無理っぽいので
公開版とさせていただきます(_ _)

残念仕様1:okを押してcylinderを生成したら、すぐにTABキーを2回打つなどしてアドオンを抜ける必要がある
残念仕様2:上部のINFOメニューのaddから起動すると、INFOのヘッダが3DViewのそれに変わってしまうので、
        Shift+AやアドオンのDynamicSpaceBarMenuなどから起動する必要がある。

-----------------------------------------------

●BMHアドオン版のインストール・使用方法

1.上記のリンクからbone_modeling_helper120.pyをダウンロード。文字が表示される場合は右クリックで
  リンク先を保存。

2.ダウンロードしたアドオン本体をご利用のBlenderフォルダ>バージョンの数字>scripts>addonsの中に
  入れる

3.Blenderを起動してFile>UserPreferencesでUser Preferencesのダイアログを開き、Addonsをクリック。
  左にあるAddMeshをクリックしてBone Modeling Helperのチェックを入れる
(次回起動時以降も手間なしで使いたい時は左下のSave User Settingsをクリック)

4.ポーズモードかオブジェクトモードでArmatureを選択

5.3DView画面上でShift+A→MeshA→Add BMH Objectを選択

6.左のToolShelf(出ていない場合はTなどで出す)にBMHのオペレーターが表示されるので、Cylinderの大きさやフタの有無、duplicateモード等を設定し、OKのチェックボックスを押す。
(画面の関係でオペレーターが表示されない場合は下のほうに丸に囲まれた小さな+があるので、それをクリック。)

7.Bone上にCylinderが生成されたらTABの二回打ちなどでアドオンから抜ける。


| | Comments (0)

September 18, 2013

BMHアドオン版開発中






というわけでBMHのアドオン版を開発中なわけですが、一応普通に使えるとは思うんですが大きな
問題が二つ。ひとつはinfoのメニューから起動すると3DVierのメニューになってしまうこと。
回避するには3DView上でShift+A等で起動する必要があります。

もうひとつはokを押しても終了せず、引き続きそのまま操作するとかなり困ったことになります(^^;
こっちは結構深刻ですorz

okを押したらすぐにエディットモードに手動で入ったり、位置を移動したりして抜ける必要があります(^^;

うーん、困ったなぁ・・・


↓BMH開発中ファイル(blender 2.67bで作成)

bone_modeling_helpertest13.py

ダウンロードしてscripts/addonフォルダに入れてAdd meshで登録すれば動きます:-)

それにしてもここまで短期間で曲りなりにもアドオンまで持って行けたのはmatoさんのぶろぐのおかげです。
ありがたやありがたや(-人-)

| | Comments (0)

September 16, 2013

Bone Modeling Helper

今度は前回のスクリプトを進化させてBoneを利用してポーズづけしたままのモデリングを簡単にしたり、
骨入りの指があっという間にできたり、一枚の写真から簡単にテクスチャが貼れるといった
機能をもつBlendファイルを作りました。よかったら使ってやってください(_ _)

詳しくは↓の動画をご覧ください。

↓Bone Modeling Helper (blendファイル)です。(blender 2.67bで作成)

bmh_v100.blend (0.8MB)

ファイルの内容を変更しない限り、二次配布も三次配布も自由です。

| | Comments (0)

September 15, 2013

ダブラスM2!(`・ω・´)ゝ

ありゃ、Twitpicにアップしようとしたけどまた失敗してるみたいなんで、こっちでダブラスM2!(`・ω・´)ゝ






今作っているモデリング支援スクリプトの実験品どす:-)

| | Comments (0)

September 12, 2013

ガラダK7~ヾ(@^▽^@)ノ

Twitpicにアップしようとしたけど失敗してるみたいなんで、こっちでガラダK7~ヾ(@^▽^@)ノ
略してガラケ~ヾ(@^▽^@)ノ






今作っているモデリング支援スクリプトの実験品どす:-)

| | Comments (0)

スクリプト小ネタ置き場

スクリプトの小ネタ置き場:
使えそうなのができたらここに追記していく予定:-)
(blender 2.6-)

-------------------------------------------------
●Blender多国語対応用サンプル(全30カ国)アドオン

ボタンを押すと英語、日本語で現在の使用言語を表示。

実際のプログラム上では言語辞書のキーの右(:以降)の数字を0にすれば
非対応言語について英語表記で対応することができる

show_langage.py

Snapcrab_noname_201467_121914_no00

-------------------------------------------------
●メッシュを編集モードでワンクリックミラーコピー(アドオン)

メッシュの編集モードで選択した頂点、辺、面をボタンの軸で一発ミラーコピー
するアドオンです。
ミラーのピボットはそのオブジェクトのオリジン(原点)になります。
メッシュを選択していても編集モード以外で実行した場合は編集モードに移行
して終了します。
(ミラーリングの原点が正しくないのを修正しました。2014.06.06.1:14修正)

mmcopy.py

Snapcrab_noname_201467_122515_no00

Snapcrab_noname_201467_121832_no00

-------------------------------------------------
●スクリプトによる面、辺の作成方法

draw_mymesh.py
-------------------------------------------------
●add-onの雛形(日英バイリンガル暫定版)

スクリプト中に含まれる全ての

XXXXをAdd-on名
aa.aaをid名
CTNAMEをカテゴリ名
ATNAMEを作者名

に置き換えるとツールバーのボタンから起動する新アドオンのスケルトンになる

例)
XXXX→NewAddon
aa.aa→new.addon
CTNAME→User
ATNAME→ishidourou

※日本語表示からインストールすると日本語表記に、その他の場合は英語表記になる
※2.7で新設されたカテゴリのタブはclass XXXXPanelのbl_category で指定する
 "Tools"、"Create"、"Relations"、"Animation"、"Physics"等がある
 (Translate(移動)等のボタンを右クリックしてソースを見ると確認できる)
 2.6まではこれを指定しても無視される
 また、オブジェクトモード、編集モードどちらかのみで表示したい場合はさらにbl_context = "objectmode"、bl_context = "mesh_edit"で指定すればよいようだ

ダイアログなし
my_simple_ej_addon_template.py
ダイアログ付き
my_dialog_ej_addon_template.py
-------------------------------------------------
●現在のローカライズ(言語設定)の設定状況をコンソールに表示
(Preferenceのローカライズ状況を調べる方法のサンプル)

print_pref_interfonts.py
-------------------------------------------------
●スクリプトによるnodeの使い方サンプル
公式にあったnodeの2.5版サンプルコード2.67以降用に修正したもの

node_sample01.py
-------------------------------------------------
●オブジェクト内の選択されたFaceをばらばらに複製、Shapekeyで個々に縮小できる

dup_splitface__addshapekey.py
-------------------------------------------------
●オブジェクト内の選択されたFaceをばらばらに複製する(Bmeshライブラリを使用)

bmface_dup.py
-------------------------------------------------
●add-onの雛形(ボタン・機能が複数の場合)

Buttons

スクリプト中に含まれる全ての

XXXXをAdd-on名
BLNAMEをブロック名
FCNAMEを機能名
fc.nameをid名
CTNAMEをカテゴリ名
ATNAMEを作者名

に置き換えると、
ツールバーのボタンから起動する複数機能を持つアドオンのスケルトンになる
(とりあえず2つの機能の使いまわし)

例)
XXXX→NewAddon
BLNAME→Block
FCNAME→Func
fc.name→fnc.name
CTNAME→User
ATNAME→ishidourou


ボタンを押すとシステムコンソールに押したボタンの機能名を表示
my_buttons_addon_template.py
-------------------------------------------------
●add-onの雛形(ボタン・機能が一つの場合)

スクリプト中に含まれる全ての

XXXXをAdd-on名
aa.aaをid名
CTNAMEをカテゴリ名
ATNAMEを作者名

に置き換えると
ツールバーのボタンから起動する新アドオンのスケルトンになる

例)
XXXX→NewAddon
aa.aa→new.addon
CTNAME→User
ATNAME→ishidourou


ダイアログなし
my_simple_addon_template.py
ダイアログ付き
my_dialog_addon_template.py
-------------------------------------------------
●アクティブオブジェクトに特定のモディファイアが使われているかどうか調べる

find_modifier.py
-------------------------------------------------
●アクティブオブジェクトの使用モディファイア名をリストアップする

listup_modifiers_name.py
-------------------------------------------------
●選択したオブジェクトと同じTypeを一発削除

delete_sametype.py
-------------------------------------------------
●選択したオブジェクトと同じTypeを全て隠す

hide_sametype.py
-------------------------------------------------
●Cubeのクローンを別レイヤーに作成

duptest01.py
-------------------------------------------------
●選択したarmature内のboneの名前をリストアップ

list_bone_name.py
-------------------------------------------------
●選択したobjectにマテリアルとUV設定テクスチャを付加

set_New_mat_tex_UV.py
-------------------------------------------------
●選択したObjectと同TypeのObjectに同マテリアルを割当て

set_same_mat_to_mesh.py
-------------------------------------------------
●【アドオン】Cylinder生成でパラメータ変更の仕組みを知る
Addonのスケルトンに

add_my_cylinder.py
-------------------------------------------------


| | Comments (10)

September 11, 2013

Cylinders on the Bones(Blender スクリプト)


んー、今度はArmatureを選択して実行するとそれに含まれるBoneの中心位置にCylinderを生成するスクリプトを書いてみました。(相変わらず英語は出鱈目です(^^;)


上の動画を見ていただくとわかると思いますが、そのCylinderを元に、Armatureへのスキニングが簡単なモデルを作ろうというものです。最初にArmatureで大体のプロポーションをとっておけば、素体モデルなんかも作るのが楽になるんじゃないかということで…

ただ、BoneのTailやHeadの座標取りや回転角度はなかなか一筋縄では行かないようで、当方、どうやったらスクリプトでBoneを選択してフォーカスを当てるのかわからずに悩むレベルですから、当然、そんなに高度なことはできません:-)

rigifyのスクリプトを見てedit_bonesに辿り着くまであっちを読んだりこっちを調べたりと3時間は七転八倒してました…まぢで(笑)

てなわけで、Boneの中心位置にただCylinderを置くだけなので、向きや大きさは全て手作業で修正しなければなりませんw


↓動作サンプルのblendファイル(blender 2.67bで作成)です

add_cylinders_on_bones04.blend

起動してそのままTEXT EditorのRun Scriptボタンを押すと、rigifyのメタリグのボーン上にCylinderが生成されます
2.68aでもメタリグへの生成は動きますが、うちの環境だと2.68aでrigfyがまともに動かないので、rigify入りの2.67b以下推奨です。


●スクリプト Cylinders on the Bones について

頭の4つの変数を変えることでCylinderの大きさを変えたり、辺の数、天地のフタの有無、cylinder生成後に一つの
オブジェクトにまとめるかどうかを指定できます。

sizeは1から6の値を設定。数が多いほどcylinderのサイズが大きくなります
cvは3以上(三角形以上)を指定します
cfは天地のフタの有無で、0が無し、1がNゴンの、2が三角ポリゴンで分割したフタがつきます
cjは0でCylinderオブジェクトをまとめない、1で一つのオブジェクトにまとめて、originをArmatureのorigin
と同じ座標にします

適当なArmatureを選択した状態で、以下の#,英語の部分の行のみをコピーしてBlenderのTextEditorでヘッダの
+ボタンを押し、新文書にペーストしてRunScriptボタンを押せば動くはずです。

############################
# add cylinders on the bones
############################

#!BPY
import bpy

size = 5    # cylinder size: 1(small)-> 6(big)
cv = 6    # cylinder's vertex number 3->
cf = 0    # cylinder opentype = 0, closetype = 1(Ngon) or 2(tri-Poly)
cj = 0    # cylinders join off = 0, on = 1

listEF = ['NOTHING','NGON','TRIFAN']
listSR = [0.25,0.5,1,1.5,2,3]
listSD = [0.5,1,2,3,4,5]

size -= 1
sclr = listSR[size]
scld = listSD[size]

scn = bpy.context.scene
oname = bpy.context.object.name

amt = bpy.data.objects[oname]
msh = bpy.ops.mesh
obj = bpy.ops.object
bcount = 0

bpy.context.area.type = 'VIEW_3D'

def objselect(objct):
    obj.mode_set(mode='OBJECT')
    scn.objects.active = objct
    objct.select = True


objselect(amt)

obj.mode_set(mode='EDIT')
bone = amt.data

for i in bone.edit_bones:
    bcount += 1
count = 0
rad = bone.edit_bones[0].tail_radius
print(bcount, rad)

for i in range(bcount):
    objselect(amt)
    obj.mode_set(mode='EDIT')
    bpy.ops.armature.select_all()
    bone.edit_bones[count].select = True
    bone.edit_bones[count].select_head = True
    bone.edit_bones[count].select_tail = True
    scn.objects[oname].data.edit_bones.active = bone.edit_bones[count]
    bpy.ops.view3d.snap_cursor_to_selected()
    msh.primitive_cylinder_add(vertices=cv,radius=rad*sclr,depth=rad*scld,end_fill_type=listEF[cf])
    count += 1

if (cj == 1):
    bpy.ops.object.select_grouped(type='TYPE')
    bpy.ops.object.join()
    newobj = bpy.context.object
    bpy.ops.object.select_all()
    objselect(amt)
    bpy.ops.view3d.snap_cursor_to_selected()
    objselect(newobj)
    obj.origin_set(type='ORIGIN_CURSOR')

bpy.context.area.type = 'TEXT_EDITOR'
#######################################

↑スクリプトここまで

| | Comments (0)

September 09, 2013

スクリプトを書いてみた2






というわけで、昨日書いた中にあった、任意の間隔でVisualLocモードでクロスシミュの動きに合わせた
Boneにキーフレームを一発で打つスクリプトを書いてみたんですが…

↓スクリプトここから

############################

#!BPY
import bpy

fstep = 4

sn = bpy.data.scenes["Scene"]
fs = sn.frame_start
fe = sn.frame_end
fc = int((fe - fs) / fstep) + 4
frm = fs

for i in range(fc):
    sn.frame_current = frm
    bpy.ops.anim.keyframe_insert_menu(type='BUILTIN_KSI_VisualLoc')
    frm += fstep

#### main script end ########

###################### for test ################################

bpy.context.scene.objects.active = bpy.data.objects['Empty.059']
bpy.data.objects['Empty.059'].select = True
objg = bpy.ops.object.select_grouped(type='TYPE')
bpy.ops.object.delete()

###################### test end ################################

(for testからtest endまでは今回のファイル専用のテスト用です)

クロスシミュのオブジェクトを必ずBakeしたあと、キーを打ちたいBoneを選択して実行する必要
があります。最初のfstep=で何フレームごとにキーを打つか指定します。

で、とりあえず動作はするんですが(^^;なぜか先頭から2つ同じキーが打たれて、その分ずれると
いう結果になってしまいます。このせいで結局2xfstep分、ずれてしまうわけです。

うーん、これはbpy.ops.anim.keyframe_insert_menu(type='BUILTIN_KSI_VisualLoc')の仕様なのかなぁ…
色々試したんですが、回避方法もわからず…

まあ、Bakeするフレーム数に余裕をもたせてからスクリプトを実行して、手作業で2 x fstep分ずらして
やれば良いので、手作業で等間隔のフレームを打つことを考えたらずっと楽なんですが・・・

↓上掲動画のblendファイル(blender 2.68aで作成)

visualKey_Loc_to_bone02b.blend (1.23MB)

このファイルを起動してテキストエディタのRun Script ボタンを押すと、Boneにキーが打たれ、間で動きを
仲介していたEmptyが削除されるのでもとのクロスシミュで動いているスカートの影響が無くなります。
(Boneは自身のArmatureアニメーション駆動になります)

再生するとスカートはクロスシミュ(Bakeしたもの)のまま動いているので、Boneが遅れることがわかります:-)
fstepは4にしてあるので、DopeSheetEditor上で2x4で合計8フレーム、Boneのキーを左にずらすと同期します。

うーむむ、なかなか簡単には行きませんね~(^.^;

| | Comments (0)

September 08, 2013

スクリプトを書いてみた

こちらのブログ(気まぐれに(仮) 3DCG Blender)を見て、クロスシミュの結果をボーンに
コピーするのも面白そうと思い、手作業でスカートやボーンを作り始めたのですが、すぐにかなり
膨大な単純作業の繰り返しが待っていることに気づき(笑)少しでも楽をしたいので、スクリプト
に手を出してみました。

python自体初めてだしAPIやBlenderローカルの作法など何も知らないわけなので
悪戦苦闘。昔は無印Cでゲーム作ったり、Shadeのスクリプト書いたりしてたんですが、
とくに作法を覚えるまでが面倒くさいんですよね。年なもんでなかなか入ってこないしw

そんな中、
matoさんのぶろぐ凹みTips情報処理 I - 第15回:Python による Blender の制御
といった、とてもわかりやすくて有難い入門記事を参考にさせていただき、どうにかこうにか
「選択した頂点座標にVertexの子のEmptyとそのEmptyをCopy locationしたBone(Armature)を
生成する」スクリプト第1号と、「選択頂点のウエイトを設定し、それ以外のウエイトは0にする」
スクリプト第2号ができたのであります。

探せば他によほど便利な機能やスクリプトがごろごろとあるのでしょうが、まあ、なにぶん勉強
ということで。
今回はサンプル動画が多くなったんで、一本にまとめてYoutubeにアップしました。

↑の動画にあるようにまずはVertexと連動するボーンをスカートの全頂点に生成しなければならない
わけですが、なにせPythonいじって一日目、選択したオブジェクト内の全頂点上に一発で生成しちゃうよーん
な気の利いたものはできるはずもなくw編集モードに入って一個だけVertexを選択してスクリプトを実行
すると1組のEmptyとBoneを作って編集モードに帰ってくるまでという、切手を貼る作業がスタンプを押す程度
の効率アップでしかないわけですが、それでもこれがあると無いとでは大違い。

全頂点を手作業で選択しなければならないわけで、その過程でカーソルスナップして、オブジェクトモードに
してEmptyをVertexペアレントしてbone追加してCopyLocationコンストレイント設定してまた編集モードに
戻って…これを(そんなに多くは無いにしろ)全頂点分繰り返すなんてしていたらきっと発狂していたことでしょう:-)

で、そのスクリプトがこれ↓

################################################################
#Add a child Empty and a Bone with copy location constrait to that
# at a point of selected vertex
#
# Use in edit mode after select a vertex
################################################################

#!BPY
import bpy

list = ['PLAIN_AXES','ALLOWS','CIRCLE','CUBE']
emptytype = list[2]
emptysize = 0.3
pi = 3.14

scn = bpy.context.scene

bpy.context.area.type = 'VIEW_3D'
bpy.context.object
bpy.ops.view3d.snap_cursor_to_selected()

bpy.ops.object.mode_set(mode='OBJECT')
obj = scn.objects.active

bpy.ops.object.armature_add(view_align=False, enter_editmode=False, rotation=(0,pi,0))
amtr = scn.objects.active

bpy.ops.object.empty_add(type=emptytype)
bpy.context.object.scale = (emptysize, emptysize, emptysize)

ept = scn.objects.active
ept.select = True

scn.objects.active = amtr
bpy.ops.object.posemode_toggle()

amtr.select = True

bpy.ops.pose.constraint_add_with_targets(type='COPY_LOCATION')
bpy.ops.object.posemode_toggle()

scn.objects.active = obj

bpy.ops.object.editmode_toggle()
bpy.ops.object.vertex_parent_set()
bpy.ops.object.editmode_toggle()


ept.select = False

scn.objects.active = obj
obj.select = True
bpy.ops.object.editmode_toggle()

bpy.context.area.type = 'TEXT_EDITOR'

############################################################

↑スクリプトここまで

出鱈目な英語はともかくとしても、
***.select = True だけでは選択のフォーカス移動が実行されないのに小一時間
悩んだり、bpy.ops.view3d.snap_cursor_to_selected()がいくらやっても動作せず、
結局テキストエディターのエリアタイプを一旦3DViewにするというまことに怪しげ
な方法で回避してみたりと、無駄も多いわけのわからんものになっている
と思われますが、まあ我が家にはどんなにスパゲッティなプログラムでも
動かないよりはましという家訓があるので問題ありません:-)


実際には該当するオブジェクトを選択し、編集モードで頂点を1個選択した
ところでスクリプトを実行します:-)

で、次にやることはVertexの動きをBoneのキーフレームに落とす作業ですが、
上のスクリプトではBoneがそれぞれ別オブジェクトになっていて、これでは
Boneを使う意味があまりなくなるので、まず一つのArmatureにまとめます。

とりあえず体のメインとなるArmatureは一旦隠すなりして、Shift+G→Type等で
スカートのBone全体を一括選択してCtrl+J、その後メインのArmatureにさらに
Ctrl+Jして一体化。

これをやってもVertexを親に持つEmptyをCopyLocationしたコンストレイントは
そのまま保持しているので、まとめたArmatureを選択しPoseモードでスカートのBoneを
選択、スカートがクロスシミュで動いているのを確認しつつ3フレームおきにキーを打ち
ました。

ここで注意しなければならないのは通常のLocationやLocRotでキーを打つのは
スカートのオブジェクト自体が動いているわけではないので意味がなく、必ず
Visual Locationなり、Visual LocRotで打たなければならない点ですね:-)

この場合、タイムラインの録画ボタンの横でVisual Location等を選んでおき、3フレーム
カーソルキーで送るごとにその横の鍵ボタンを押すと結構楽です。

Skt03

まあ、本来ならnフレームごとに手作業で打つのなんてものこそスクリプトの出番と
思われるわけですがヽ(^o^;)ノ

打ち終わったらBoneのCopyLocationのターゲットだったEmptyをShift+G→Type等で
選択して一括削除。これでリレーションのループエラーが解消されます。ただしボーンに
コンストレイントの残骸が残りますが…これが気になる場合は手作業でひとつひとつ
削除を…w

で、スカートの物理演算関係のデータは必要ないのでClothを削除。体に施してあった
足のCollisionもついでに削除。

スカートがもとの形になったら、ArmatureをRestPositionにしてスキニング。
とりあえずWeightづけをAutomatic Weightでやってみたところ、少々動きが甘くなり、
質感も硬い感じに。(動画の中盤あたり参照)
さらにもとの形状より痩せることが多く、足が突き抜けたりするフレームが多くなり、
修正が面倒でした。ただ、それでもBoneの位置を修正するだけなので、作業自体は
簡単ですが。

これを解消し、もとのclothシミュの動きに近づけるにはやはり、スカートの各boneを
対応するVertexのみに作用するようにウエイトを修正しなければならないでしょう。

というわけで、スクリプトに味をしめた私はウエイトづけもちょっと楽にしようと、簡単な
スクリプトを作成。Weight PaintモードでBoneを選択し、編集モードに入って、そのBone
の位置の(人力選択した)VertexだけにWeightを設定、他は全部removeするというものです。

スクリプトを使わなくても最近のBlenderの進化は油断がならないので、あっさりそんな
ことはできるようになっているのかもしれない不安は他所に置き、これまた全頂点の
ウエイトをこつこつとスクリプトを使いながら修正。

そのスクリプトがこれ↓です。

#############################################
#set weight to selected vertex only
#
#useage: First, select a bone
# on wightpaint mode and into editmode ,
# select verticies to set weight.
##############################################

#!BPY
import bpy

bpy.ops.mesh.select_all(action='INVERT')
bpy.ops.object.vertex_group_remove_from()
bpy.ops.mesh.select_all(action='INVERT')
bpy.ops.object.vertex_group_assign()
bpy.ops.object.mode_set(mode='WEIGHT_PAINT')

############################################################

↑スクリプトここまで

これも本来なら一発でBoneに近いVertexに自動的にウエイトづけするかっこいいスクリプト
が理想でしょうが…いまの僕にはこれが精一杯w

まあ、この程度ならBlenderを起動すると時々ハミパンのようにちらっと上に
見えたりすることがあるログコンソール?を眺めつつ、やりたい操作を
してみて、そこにAPIが表示された場合はそれを右クリックして反転したらコピー、
テキストエディタに貼り付けて、必要なら加工、表示されない場合は該当機能
にマウスをポイントして現れるツールチップの最後の奴を書いて動作確認、
動けばラッキーという感じで使えそうw

↑のスクリプトはこの両方を並べただけのものですが、それでも結構役にたったりします。
まあ、こうしたので少しずつ慣れていけばいいかな。

Shadeの場合は録画ボタンを押すと必要なスクリプトが丸ごと記録されるんで、それを
加工してもっと簡単に利用できたんですが、できればそういう機能がBlenderにも欲しいなぁ…
どこかにそんなアドオンとかないのかなぁ…


閑話休題。
動画の後半で修正したものと、Clothシミュのものを並べてますが、3フレームおきのキー
でも結構動きがトレースされた感じになっているのではないでしょうか。


↓上掲動画のblendファイル(blender 2.68aで作成)

クロスシミュにBoneを追加した状態のファイル

skirt_by_clothsim.blend (1.3MB)

Skt01

Boneで動かしたファイル(ウエイト修正済み)

skirt_by_bone2.blend (2.5MB)

Skt02

各ファイルは良識の範囲でご自由にお使いください:-)

※ところで動画の足はどっちに向かって歩いているんでしょうか(^.^;右上と思い始めたら右上に、
左下だと思ったらずっと左下に見えてくる…w

| | Comments (0)

« August 2013 | Main | October 2013 »