2018年07月09日

今週は更新をお休みします

今週は更新をお休みします。

ところで以前ケーブルをリコールで交換したMacBookなんだけど、USB−CのACアダプタをうまく認識出来なくて、充電が出来なくなってしまった。MacBookはUSB−Cのコネクタが1つしか無いから、これが機能しないとどうにもならない。とりあえずACアダプタをコンセントから引き抜いて何秒かの後、再びコンセントに刺す事を数度繰り返してみたら、ようやくMacがUSB−CのPDに気付いてくれて、充電が出来た。一応この手順を踏めば、曲がりなりにも充電が出来るようなんだけど、長く繋いでいるといつのまにか充電が途切れたりして、なんとも不安定な状態だ。

何が原因なのかはわからないので、とりあえずACアダプタの方を買い換えてみることにした。

買ったのは「TENKER Type C 60W 急速充電器(TA06A3)」という製品で、アマゾンで3500円程度だった。

結果は非常に良好で、あんなに電源を認識しなかったのが嘘のように快調に充電出来るようになった。どうやらAppleのアダプタの方に問題があったようだ。

幸い1つしか無い貴重なポートに問題が無くて良かったけど、やっぱりポートひとつは思い切り過ぎかもね。



take_z_ultima at 11:30|この記事のURLComments(0)その他 | Goods

2018年07月05日

ビットマップペイントツールのチュートリアルをやってみた その155 3dsmax 2018

引き続きMAXScriptマニュアルに載っている「チュートリアル-ビットマップペイントツールを9つの簡単なステップで作成する」 の続きを考えて見たい。

はみ出して塗る範囲はとりあえずエッジに沿って同じ幅の長方形部分になる。エッジを始点(X1,Y1)と終点(X2,Y2)を結ぶベクトル(X2-X1,Y2-Y1)だとすると、これに直交するベクトルは、(Y1-Y2,X2-X1)または(Y2-Y1,X1-X2)になる。

fig01

このベクトルをベクトルの長さで割って、長さ1の単位ベクトルに変換し、それにはみ出して塗る範囲の幅をかけてやれば、エッジの始点終点をペイントの幅だけ移動さっせるベクトルが得られる。

ここで得られた4つの点をもとにその中をピクセルの横のならびに沿ってペイントして行くわけだけど、ペイントはエッジの角度によって下の3つのパターンが考えられて、エッジが垂直か水平なら単純に2つのエッジをY座標でスライスして交点を繋ぐ線を塗り潰していけばいいし、エッジが斜めの時は3つのブロックに分けて塗り潰せばいい。

fig02

あとはピクセルを塗るときの色を前回の式を使ってエッジ上の色からサンプリングして来ればいい。

続きはまた次回。

maxまとめページ



take_z_ultima at 11:30|この記事のURLComments(0)3ds Max | CG

2018年07月04日

パーティクル系のアセンブリプリセットについて調べてみた その8 modo12

引き続き「presets」パネルの「Particles」にあるアセンブリを調べてみたい。

今回は「Kill On Collision」。これはパーティクルを指定の衝突回数で消去するものだ。下がそのアセンブリで、「Collision Count」が衝突回数を指定するチャンネルだ。

fig01

中身は下のようになっている。

fig02

「Particle Operator」から「衝突イベント」を取得して、「AはBと等しい」ノードで1.0と比較して等しい時にtrueを等しくない時falseを出力する。これでそのパーティクルが現在何かに衝突しているかどうかがtrueかfalseとして出力される。

fig03

また、「Particle Operator」から「衝突カウント」を取得して、これを「Collision Count」と比較して、等しい時にtrueが出力される。

これら2系統どちらもtrueの時に「かつ」ノードの「結果」チャンネルがtureになって、「particle Operator」の「消滅」チャンネルがtrueになって、そのパーティクルが削除されるわけだ。

続きはまた次回。

modo10-11ブログ目次



take_z_ultima at 11:30|この記事のURLComments(0)modo | CG

2018年07月03日

ビットマップペイントツールのチュートリアルをやってみた その154 3dsmax 2018

引き続きMAXScriptマニュアルに載っている「チュートリアル-ビットマップペイントツールを9つの簡単なステップで作成する」 の続きを考えて見たい。

多角形のエッジの外側にエッジ上のパターンをそのまま引き伸ばしてペイントする方法はいろいろ考えられるけど、とりあえず下のようにエッジの外側の塗り潰す矩形領域内のピクセルの色がエッジ上のどのあたりの色なのかを調べて塗るようにしてみようかと思う。

fig01

ペイントするピクセルに塗る色はそのピクセルからエッジに降ろした垂線とエッジの交点(Cx,Cy)の色になる。だからピクセルの色を調べるために(Cx,Cy)を求める式を考える必要がある。

多角形のエッジとその垂線を2つのベクトルとすればそれらの内積は0になるので、エッジのベクトルを(X2-X1,Y2-Y1)とすれば、それに垂直のベクトルは(Y2-Y1,-(X2-X1))でOKだ。2つのベクトルの内積は、

(X2-X1)*(Y2-Y1) - (X2-X1)*(Y2-Y1) = 0

となる。

(Px,Py)を始点としてこのベクトルを何倍かすると、(Cx,Cy)に到達して、エッジ上に乗るので、その時の座標値はエッジの線の方程式を満たす事になる。媒介パラメータをtとすると、垂線の直線の方程式は以下のようになる。

X = (Y2-Y1)*t + Px
Y = -(X2-X1)*t + Py

これをエッジの方の直線の方程式

(Y2-Y1)*(X-X1)=(Y-Y1)*(X2-X1)

に代入して、tを求めると、

t = ((Py-Y1)*(X2-X1) - (Y2-Y1)*(Px-X1))/((X2-X1)^2+(Y2-Y1)^2)

これを垂線の直線の方程式に代入すれば(Cx,Cy)が求まるはずだ。

続きはまた次回。

maxまとめページ



take_z_ultima at 11:30|この記事のURLComments(0)3ds Max | CG

2018年07月02日

パーティクル系のアセンブリプリセットについて調べてみた その7 modo12

引き続き「presets」パネルの「Particles」にある「Flock of Seagulls」を調べてみたい。

パーティクルに割り当てられるかもめが「body」とその下に「wingR」「wingL」がペアレントされている形になっているのは前回調べた。

このモデルには羽ばたくアニメーションがつけられている。羽ばたきの原動力になっているのが「Channel Oscillator」の生成する正弦波で、これが「wingR」と「wingL」のX軸の回転チャンネルに入力されているので、羽がX軸を中心に回転してくりかえし羽ばたくよくな動作になっている。

fig04

例えば「Channel Oscillator」の1つは下のような設定になっていて、1秒間に2.8回、+58,9〜−58.9の間で値が変動するようになっている。

fig09

さらにこのモデルの2つのツバサには「Bend WingR」、「Bend WingL」の「ベンドエフェクタ」が設定されていて、羽ばたくツバサに反りを与えて、よりはばたきらしく見せるよう工夫されている。

fig05

この「ベンドエフェクタ」も出発は上の回転アニメーションと同じ「Channel Oscillator」で、ここから出力された正弦波は「Time Offset」ノードで位相をずらして、「乗算」ノードで−1が乗じられて位相を反転し、その値が「ベンドエフェクタ」の「角度」チャンネルに入力されている。羽の回転と反対向きにちょっとタイミングをずらしてベンドで曲げられている事で羽ばたく時に翼の先端が遅れて追従するような効果を作っている。

fig06

これが3つのかもめのモデルごとに1セットずつあって、それぞれタイミングをずらすことで動きにバリエーションを作っているようだ。

続きはまた次回。

modo10-11ブログ目次



take_z_ultima at 11:30|この記事のURLComments(0)modo | CG
Archives