3dsMax Garment Maker ( 服の作り方 )

Garment Makerモディファイヤを使った服の作り方。

フリーでダウンロードできる服の型紙を参考にIllustratorで大体の型紙を作成。縫い目の長さを同じくらいに意識する。
型紙自体は、max内で作成しても良い。
3dsmax0015.jpg

3dsMaxにインポート。Topビューポートに配置。
3dsmax0016.jpg

Garment Makerモディファイヤを適用。
3dsmax0017.jpg
ラインが連結していると1つなぎの縫い目と認識される(上図左)ので、
Lineエディターで頂点をブレークして縫い目を作る。(上図右)また、頂点をブレークしないと布片の角が丸まる。

Panelsサブオブジェクトレベルで布片を配置。
3dsmax0018.jpg
腕の部分は Deformation > Curved で腕を包むように曲げる。

Seamsサブオブジェクトレベルで縫い目を設定。
3dsmax0019.jpg
縫い合わせるエッジを2つ選択した状態で Create Seam を選択。
縫い線が交差した場合は Reverse Seam で反転。

Clothモディファイヤを適用してシミュレート。
3dsmax0020.jpg
Clothモディファイアにコリジョンオブジェクトとして体を読み込み、布をClothに設定。
Simulate Local(damped) で布をシミュレート。
縫い目がうまく結合できない場合は、Seamsサブオブジェクトレベル > Sewing Stiffness で布を引き寄せる力を調整。

Garment Makerモディファイヤでは、ポリゴンが三角でのみ生成されるため、MeshSmoothと相性が悪い。
サブディバイドするには、HSDSモディファイヤを使うか、リトポロジーしてMeshSmoothしたほうが良い。
3dsmax0021.jpg

テーマ : 3DCG
ジャンル : コンピュータ

3dsMax Cloth解説-4

Group以下のサブレベルカテゴリは、Garment Makerモディファイヤで布を作成時のみ有効。
3dsmax0014.jpg

+Panelサブオブジェクトレベル+

布片に個別のプロパティを付加。
※要Use Panel Properties

基本的に、3dsMax Cloth解説-1と同じ。

+Seamsサブオブジェクトレベル+

On… 縫い目を有効。

Crease Angle… 折り目の角度。

Crease Strength… 折り目強度の倍率。

Sewing Stiffness… パネルを引き寄せる力。

Tearable… 分裂を有効。

Tear Threshold… 分裂させる強さ。

Enable All,Disable All… 選択した縫い目の有効、無効。

+Facesサブオブジェクトレベル+

Simulate Local… 選択した面のローカルシミュレートを開始。

Live Drag!,Live Rotate!… 選択した面をドラッグ、回転。

Sim on mouse down… マウス左ボタンをクリック時にシミュレート開始。

Ignore Backfacing… 背面無視。

テーマ : 3DCG
ジャンル : コンピュータ

3dsMax Cloth解説-3

+Groupサブオブジェクトレベル+
3dsmax0013.jpg
Make Group… 選択した頂点からグループを作成。

Delete Group… 選択したグループを削除。

Detach… 未割り当ての状態に戻す。

Initialize… 頂点の相対位置情報を再生成。

Change Group… 頂点の選択を変更。

Rename… グループ名を変更。

Node… 任意のオブジェクトにリンク。

Surface… 衝突オブジェクトのサーフェスにアタッチ。

Cloth… 別の布オブジェクトにアタッチ。

Preserve… Clothモディファイヤ以下のモーションを適用。

Drag… ダンピングフォースを追加。
※Group Parameters > Soft が
 Offの場合頂点を所定の位置にロック。
 Onの場合は頂点にStrength,Dampingフォースが適用。

Sim Node… シミュレーション内の任意のオブジェクトにリンク。

Group… 別のグループにアタッチ。

NoCollide… グループと別のグループとの衝突を無視。

ForceField… スペースワープにリンク。

Sticky Surf… サーフェスと衝突した場合に固定。※要Solid Coll

Sticky Cloth… 布グループと衝突した場合に固定。※要Self Coll

Weld… 近接している頂点の連結を作成。

Make Tear… 裂け目を作成。

Clear Tears… 裂け目を削除。

Copy,Paste… バッファのコピー、ペースト。
Shrink,Grow,Ring,Loop,Element… 頂点編集と同じ。
Get Stack Selection… モディファイヤスタック以下の頂点選択の取得。
Ignore Backfacing… 背面を無視。

テーマ : 3DCG
ジャンル : コンピュータ

3dsMax Cloth解説-2

+Keep Shape+

Bend%… -100,100の範囲。ベンドに対するシェイプの保持。
Stretch%… 0,100の範囲。ストレッチに対するシェイプの保持。
※要Use Target State3dsmax0011.jpg

+Pressure+

Pressure… 0,100の範囲。オブジェクト内のガス圧。
Damping… ガスが充填されたオブジェクトの跳ね力。3dsmax0012.jpg

Track Volume… 布の変化にしたがってガスの圧力を変化させる。

Cap Holes… 穴のあるオブジェクトにふたをする。



+Collision Object+

Depth… 布オブジェクトの衝突の奥行き。

Offset… 布オブジェクトと衝突オブジェクトとの間で維持される距離。

Dyn. Fric.… 布とオブジェクト間の動的摩擦。※要Use Solid Friction

Static… 布とオブジェクト間の静止摩擦。※要Use Solid Friction

Enable Collisions… 衝突の有効。

Cuts Clot… 布切断の有効。※要縫い目、裂け目設定。
※Cuts ClotをOnにしたら、Enable CollisionsをOffにするとより良い結果を得られる。

テーマ : 3DCG
ジャンル : コンピュータ

3dsMax Cloth解説-1

Clothモデファイヤの解説。

+Object Properties+

3dsmax0001.jpg

Inactive
…非アクティブ。

Cloth… 布地。
Use Panel Properties
… 布片を個別に設定する場合に使用。

Collision Properties
… 衝突オブジェクト。



+Cloth Properties+

U V Bend… 布地を曲げるのに必要な力。
3dsmax0002.jpg

U V B-Curve… 曲げに対する抵抗力。
3dsmax0003.jpg

U V Stretch… 伸縮性。値を小さくするとゴムのようになる。3dsmax0004.jpg

U V Compress… 圧縮に対する抵抗力。ストレッチよりも小さい値にすると良い結果になるらしい。3dsmax0005.jpg

Shear… シアーに対する抵抗力。値が大きいほど、布地が堅くなる。
3dsmax0006.jpg

Density… 単位面積当たりの布の重み( gm/cm2 )。3dsmax0007.jpg

Damping… 布地の反応の緩慢度。値の大きい布は、値の小さい布より早く静止。

Plasticity… 布が現在の変形(ベンド角度)を維持しようとする傾向の強さ。

Thickness… 布の仮想的な厚さ。単位cm。0.0に設定すると自動的に割り当て。

Repulsion… ほかの布への反発に使われるフォースの量。

Air Res.… 空気抵抗。

Dyn. Fric.… 布とオブジェクト間の動的摩擦。

Static… 布とオブジェクト間の静止摩擦。3dsmax0008.jpg

Self Fric.… 自己摩擦。

U V Scale… 布地の拡大縮小。3dsmax0009.jpg

Depth… 布オブジェクトの衝突の奥行き。※要Use Cloth Depth/Offset

Offset… 布オブジェクトと衝突オブジェクトとの間で維持される距離。※要Use Cloth Depth/Offset

Cling… 布地オブジェクトを衝突オブジェクトに纏わりつかせる度合い。3dsmax0010.jpg

Layer… -100,100の範囲。
Helpより抜粋>>>abs(layerA) > abs(layerB) の場合、布切れ A が押し出されて 布切れ B の適切な側に配置されます。layerB > 0 の場合は、法線面で示される側です。layerB < 0 の場合は、その反対側になります。

Inherit Velocity… 速度を継承。

テーマ : 3DCG
ジャンル : コンピュータ

3dsMax Cloth ( クッションの作り方 )

Clothモデファイヤを使った簡単なクッションの作り方。


シーンに地面となる平面とクッションになるBoxを作成。
unity0015.jpg

中身のないクッションカバーをイメージ。

BoxにClothモディファイヤを追加。
Object Propertiesを開き、クッションと地面オブジェクトをリストに追加。unity0016.jpg

クッションにClothを割り当て、Pressureを30にして内圧を設定。
地面にCollision Objectを割り当て障害物に設定。

Simulate Localで適度に膨らむまでシミュレート。
unity0017.jpg

中央のポリゴンに継ぎ目を作り、メッシュスムースをかけるとこんな感じに。unity0018.jpg

テーマ : 3DCG
ジャンル : コンピュータ

Unity particle ( 火花 )

Unityなのでパーティクルをスクリプトで制御してみます。
回転しているカッターの歯が平面と衝突したら火花が飛び散るシーンを作成してみます。


まずは、シーンにカッターの刃とパーティクルを一つ作成。

unity0014.jpg

カッターの刃を作成してUnityにエクスポート。

unity0013.jpg

こんな感じで火花パーティクルを設定。

新しいスクリプトを作成し、GameObjectにパーティクルを読み込みパーティクルの再生を停止。
private GameObject spark;
+Start+
spark = GameObject.Find("spk");
spark.particleSystem.Stop();

カッターの刃をクリックで平面に移動。
※移動にはiTweenを使用。
+OnMouseUp()+
iTween.MoveTo(gameObject, new Vector3(0.0f, 0.4f, 0.0f), 5.0f);

カッターの刃にRigidbodyとColliderを追加して衝突を有効にする。
+OnCollisionStay+
spark.particleSystem.Play();
+OnCollisionExit+
spark.particleSystem.Stop();

再生するとこんな感じ。

テーマ : Unityゲーム制作
ジャンル : コンピュータ

Unity particle ( タバコの煙 )


unity0006.jpg

最近、余りお目にかからなくなったタバコの煙をパーティクルで作ってみようと思います。

まずは、タバコの煙を観察してイメージを固めます。

最初は煙が見ない。

煙がスーッと立ち昇る。

空中に拡散して消える。

大体こんな感じで。

パーティクル項目の解説はこちら。




シーンにタバコとパーティクルを作成。
unity0007.jpg

パーティクルをSimulate。unity0008.jpg

ShapeをBoxにして
まばらに発生させ、サイズと方向を調整。

パーティクルのサイズ、寿命、スピードを画像のように調整。

パーティクルの色をRandom Between Two Colorsにして2色間でランダムに発生。

+Color Over Lifetime+を適用。unity0009.jpg

Gradient Editorを開き、カラーはあまり変化させずにアルファを最終的に透明にする。
※グラデーションバーの上部がアルファ設定、下部がカラー設定。

+Size over Lifetime+を適用。
unity0010.jpg

サイズをCurvesにしてカーブを画像のように調整。
煙が昇りきった辺りでサイズを大きくする割合を増やす。
サイズを0から始めることで煙が見えないようにする。これは前項のグラデーションで調整してもOK。

+Velocity Over Lifetime+を適用。
unity0011.jpg

Random Between Two CurvesにしてXYそれぞれに画像のようなカーブを作り、煙が平面的に拡散するようにする。

Render Modeを変更してパーティクルをストレッチ。
unity0012.jpg

Stretched Billboardにしてパーティクルをストレッチしてスーッと昇る煙を表現。

パーティクル機能は色々なソフトにありますが、やることはほぼ一緒なので重要なのは如何に粒体を観察して表現するかです。逆に言うとどれか一つのソフトで作れるようになると他のソフトでも容易に作れると思います。

テーマ : Unityゲーム制作
ジャンル : コンピュータ

UnityのUnitサイズ

Unityでの単位。
リファレンスでは、1Unit = 1mと書いてあります。

GameObject > Create Other > Cubeで作成するとScaleが1、1Unitの立方体になります。
Unityでは1メートル四方の立方体を作ったことになります。
これが3dsMaxではどのくらいの大きさか?

3dsMaxでサイズ1の立方体を作成。
unity0003.jpg

FBXでUnityに書き出し。

unity0004.jpg

同じ大きさになりました。

結果は、3dsMaxのGeneric Units = UnityのUnit ということになります。
んで、3dsMaxのGeneric Unitsはというと、1Generic Units = 25.4mm = 1インチ。
両ソフトとも北米製なので、この結果は当たり前といえば当たり前。

因みに、3dsMaxで単位をmmにして書き出した結果。
unity0005.jpg
大きさは、合いますがScale値が25.4とインチ補正されて後々苦労しそうです。
オブジェクトをMaxで作成する場合はUnitをデフォルトのままメートルと考えてやるほうがいいでしょう。

※補足… 3dsMaxからエクスポートしたFBXデータは、UnityではScale Factorが0.01、Rotation Xが-90となります。↑の写真はScale Factorを1.0にしたものです。

テーマ : Unityゲーム制作
ジャンル : コンピュータ

Unityのparticle解説

Unityでのparticle設定。

+作り方+
GameObject > Create Empty で空のオブジェクトを作成。
Add Componaent > Effects > Particle System でパーティクルを割り当てる。

+Inspector+
unity0002.jpg



Duration… パーティクル発生秒数。

Looping… ループ。on/off

Prewarm… 事前にパーティクルを発生させる。
※ループ時のみ有効。on/off

Start Delay… パーティクルの発生遅延秒数。

Start Lifetime… パーティクルの寿命秒数。
▼Constant… 指定数。
▼Curves
… 時間ごとのパーティクル発生寿命にバイアスをかける。
▼Random Between Two Constants
… 2数間で寿命時間をランダムに発生。
▼Random Between Two Curves
… 時間ごとのパーティクル発生寿命に2数間ランダム。

Start Speed… パーティクルの速度。単位:Unit/sec
▼Start Lifetimeと同じ。

Start Size… パーティクルの大きさ。
▼Start Lifetimeと同じ。

Start Rotation… パーティクルの角度。
▼Start Lifetimeと同じ。

Start Color… パーティクルの色。
▼Color… 指定色。
▼Gradient
… 時間ごとのパーティクル色をグラデーションで指定。
▼Random Between Two Colors
… 2色間で色をランダムに発生。
▼Random Between Two Gradients
… 時間ごとのパーティクル色を2グラデーション間ランダム。

Gravity Multiplier… 重力影響の強さ。

Inherit Velocity… エミッタの移動に対する影響。

Simulation Space… パーティクルの追従。
▼local… エミッタに追従。
▼world… ワールドに追従。

Play On Awake… プレイ時に発生。 on/off

Max Particle… パーティクルの最大発生数。



+Emission+

Rate… 秒間あたりのパーティクル発生数。
▼Constant… 指定数。
▼Curves… 時間ごとのパーティクル発生数にバイアスをかける。

Time… Burstsで指定の時間に指定した数のパーティクルを発生。
Distance… エミッタの移動距離に応じてパーティクルを発生。Unit*Rate個

+Shape+

Sphere-球状/ Hemisphere-半球状/ Cone-円錐状 Box-箱型/ Mesh-指定のオブジェクト
Random Direction… ランダムな向きに発生。

+Velocity Over Lifetime+

パーティクルの速度に直接アニメーションを加算。
▼Start Lifetimeと同じ。

+Limit Velocity Over Lifetime+

パーティクルの速度が一定値を超えたときに速度を低下。
▼Speed… ▼Start Lifetimeと同じ。
▼Dampen… 速度を低下させる割合(0-1)0-100%

+Force Over Lifetime+

パーティクルに適用される力を加算。
▼Start Lifetimeと同じ。

+Color Over Lifetime+

パーティクルのStart Colorに時間変化するグラデーションを乗算。
▼Start Colorと同じ。

+Color by Speed+

パーティクルの速度に対して色を割り当て。
▼Start Colorと同じ。
▼Speed Range… 適応する速度範囲。

+Size over Lifetime+

パーティクルの時間経過でサイズを変化。
▼Start Lifetimeと同じ。

+Size by Speed+

パーティクルの速度でサイズを変化。
▼Start Lifetimeと同じ。

+Rotation over Lifetime+

パーティクルの時間経過で角度を変化。
▼Start Lifetimeと同じ。

+Rotation by Speed+

パーティクルの速度で角度を変化。
▼Start Lifetimeと同じ。
▼Speed Range… 適応する速度範囲。

+External Forces+

パーティクルがWind Zone(風)の影響を受ける。
▼Multiplier… 風の強さに影響力を乗算。

+Collision+

パーティクルが他のオブジェクトと衝突判定を行う。
▼World… 全てのオブジェクトと衝突。
▼Planes… 特定の平面と衝突。
▼Dampen… 衝突後の速度を低下させる割合(0-1)0-100%
▼Bounce… 衝突後の加速割合。
▼Lifetime Loss… 衝突後のStart Lifetimeが減少する割合。
▼Min Kill Speed… パーティクルを消滅させる最低速度。
▼Collides With… 衝突判定するオブジェクトの種類。
▼Collision Quality… high/毎フレーム medium low/4フレーム毎
▼Voxel Size… ※med/lowのみ。衝突対象オブジェクトのサイズを設定。

+Sub Emitter+

▼Birth… 現パーティクル発生時に他のパーティクルを発生させる。
▼Death… 現パーティクル消滅時に他のパーティクルを発生させる。
▼Collision… 現パーティクル衝突時に他のパーティクルを発生させる。※Collision有効時のみ。

+Texture Sheet Animation+

適応マテリアルのUVによるシーケンスアニメーション。
Tiles… シーケンス縦横枚数。

Animation
▼Whole Sheet… マップ全体。
▼Single Row… マップ一行。

Frame over Time… Start Lifetimeと同じ。

Cycles… アニメーションのループ回数。

+Renderer+

Render Mode
▼Billboard… 常時カメラをlook atな板ポリゴン。
▼Stretched Billboard… 板ポリゴンをストレッチさせる種類。
>>>Camera Scale… カメラスピードに対してストレッチ。
>>>Speed Scale… パーティクルの速度に対してストレッチ。
>>>Length Scale… パーティクルの幅に対してストレッチ。
▼Horizontal Billboard… パーティクルをY軸に対して整列。
▼Vertical Billboard… パーティクルをカメラの方に向かせたたまま XZ平面に対して整列。
▼Mesh… パーティクルに指定したオブジェクトを割り当てる。

Material… マテリアルを設定。

Sort Mode… パーティクルのソート。
▼None… ソートしない。
▼By Distance… カメラからの距離を元にソート描画。
▼Youngest first… 発生の若い順にソート描画。
▼Oldest first… 発生の古い順にソート描画。

Sorting Fudge… パーティクルの描画順序を指定。

Cast Shadow… パーティクルの影を生成。※マテリアルに依存する。

Receive Shadow… パーティクルが影の影響を受ける。※マテリアルに依存する。

Max Particle Size… 画面に対するパーティクルサイズの割合。

テーマ : Unityゲーム制作
ジャンル : コンピュータ

プロフィール

Rich

Author:Rich
3DCGから派生する関連ソフトの備忘録。

最新記事
カテゴリ
月別アーカイブ
最新トラックバック
検索フォーム
RSSリンクの表示
リンク
PR




注目!!自宅で本気痩せダイエット!!



access
QRコード
QR