スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

座標系プログラムの極小技

小技とまで呼べないかもしれないので極小技
技の極みみたいで逆にかっこよくなっちまってるのは置いておこう。

ここまで期待させといてなんだけど、本当にどうでもいいことだったりする。

Vector2 (X,Y)を90度回転させると (-Y,X)となる

はい。
これだけだよ。


後はXNAのただのメモだぞ。

3D座標が画面上のどこにくるか調べたい時は
Viewport viewport = Graphics.GraphicsDevice.Viewport;
でビューポートを取得してやって
Vector3 screenPos = viewport.Project(調べたい3D座標, カメラのprojection行列, カメラのview行列, Matrix.Identity);
としてやる
screenPosのXとYに座標が入ってるぞ。


極ねよっと。
スポンサーサイト

以前、もうC4Dの記事は書かないといったけど、載せようと思っていた記事のメモが見つかったので書きなぐり。

複数のオブジェクトを選択して回転とかさせるときに軸の中心は「オブジェクトの中のちっさい軸」をクリックすると移動できる

新規作成のプリセットを作りたいときはPC内にある「template.c4d」の場所を検索で探して書き換えればよい


そんだけです。

ねよっと。

C#で忘れそうなことのメモ

C#で忘れそうなことをメモしておくね。

キャスト
型を揃えたいときは
~ as 型 
と、 
(型)~ 
どっちでも可能。
asを使うの場合はキャストできなかったときnullを返すので便利だぞ!



エラー系
using System.Diagnostics; 
を追加して、
Debug.Assert(式);
式がfalseならassertしてくれるぞ。

他にも
throw new InvalidOperationException("やばいことやっちまったぜ");
これで例外エラーを出せるぞ。



ロック系
static ReaderWriterLock rwLock = new ReaderWriterLock();
このロックはRW切り替え可能で非常に便利。
Readのみの場合はロックしないでくれるので速度的にも有利だぞ。

書き込みが生じるロックと開放は
rwLock.AcquireWriterLock(Timeout.Infinite);
rwLock.ReleaseWriterLock();


読み込みしか生じない場合のロックは
rwLock.AcquireReaderLock(Timeout.Infinite);
rwLock.ReleaseReaderLock();


modoについてだよ

Modoのマテリアルについてまとめてみたよ!

modoのマテリアルはフォトショのレイヤーだと考えればよい
よって下にあるものが上にあるものによって隠されていくと考える


マスクの方法は
Mを押して作成するマテリアルマスク
メッシュのようなアイテムマスク
形状>ポリゴン>パート設定によるパートマスク
選択>選択セットを適用による選択セットマスク
の4つが基本である
(最初勘違いしていたけど、一つのアイテムが複数回マスクされていてもなんら問題ない)

複数のマスクが同一のマテリアルを参照したい場合は
・グループを作成し「サブグループに適用」のチェックをいれる
・適用したいマテリアルなどを作成
・アイテムマスク(グループのこと)を一番下にいれていく このマスクの中には何も入っていなくてもよい


レイヤーによるマスク(今までのマスクとは意味あいが違う)は、マスクレイヤーにしたいものをドラッグドロップしてやるのが楽。
グループ内全部にかけたい場合は上記の方法が使えないのでシェーダツリー(右側)を右クリックして「グループマスク」を選ぶ

インスタンスは親のアイテムマスクには反応しない
インスタンスは親のポリゴンマスク(マテリアル)には反応する
アイテムマスクが別と考えてくれるので色を変えたい場合は元のマテリアルより上にアイテムマスクを設定してやれば別個扱える

Modoのオブジェクトベイクについてまとめてみたよ!

ハイポリ→ローポリ や 最終的にインスタンスごとに別のUVにしたい場合などはオブジェクトベイクを利用する
オブジェクトベイクのポイントをまとめてみた
・焼きこみ元のUVは消しておく
・距離を長く設定した場合、自身のポリゴンから法線方向にできるだけ遠くにあるオブジェクトを拾ってきちゃう
・だからといって0mmにすると回りの色を拾ってきてくれない
・焼きこみ先のオブジェクトが複数ある場合はベイクに使わないものは不可視にしておく←結構忘れがち
・ベイクのバンプなどはカメラの位置や角度を考慮するので原点に置いてあると奇麗に書き込めない時がある
・オブジェクトの選択の有無はベイク結果に影響を与えない
・焼きこむUVの選択は現在選択しているUVであって、現在選択しているオブジェクトではない

前回のMAPの焼きこみは50mmで行った。
オブジェクトの大きさやバンプやディスプレイメントの「凹凸の差」によって値は変えなければならないと思う
自動で検出してくれればいいのにな~。


ModoのUVについてまとめてみたよ!

UV展開は説明なしでも分かるくらい簡単+強力。
速度、正確さ、綺麗さ、もCinema4Dなんてめじゃない。
自分が良く使いそうな流れだけ書いておくと
・インスタンスをメッシュ化する場合はメッシュ化前にUVを済ませておく
・上記によりできた「重なったUV情報」はUVパック機能で綺麗に並べてくれる


また同一メッシュ内に複雑な図形が出てきたら
・一度別のメッシュにする
・ツールを使いまくって綺麗なUVにする
・メッシュを統合
・UVパック

この手順が分かりやすい

多角形などにより無駄な空白が大量に出来る場合は
・まずその面を三角形化
・面を選んだままalt+エッジタブでエッジに切り替えてからエッジ分離
・UVツールを活用して無駄の無い展開を作成
・面を選んでalt+頂点タブを押して頂点に切り替えて頂点結合

で楽に展開できる 自力でエッジをいれて修正できるようなケースはそっちのほうが早いかもしれない

結局記事なっげ~~~!

ってことで
ねよっと。
プロフィール

あしゅ

Author:あしゅ
ぷぃぷぃ日常。
いつのまにか雑記ブログに。

カテゴリ
最新記事
検索フォーム
最新コメント
リンク
このブログをリンクに追加する
ブロとも申請フォーム

この人とブロともになる

カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。