スポンサーサイト

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

乗算の計算式

プログラム上での乗算ブレンドの計算式

bg=背景 add=重ねるテクスチャ a=アルファ値
( add - bg ) * a + bg
bg * (1 - a) + add * a とも書ける

ベクトルで考えると忘れないことに気付いた
・・・けどそのことを忘れるのでメモしておいた

ねよっと

SQLの勉強

DBに関する勉強をする機会があったのでSQLの仕組みを忘れないようにざっとメモ。


SELECT 抽出する項目を指定
FROM どこのテーブルを使うか (AS ~で名前を置き換え)
INNER JOIN 他のテーブルがID等で紐付いていて条件に含めたいときに使う ※
WHERE 抽出するものを条件で絞る
AND WHEREだけで条件が書ききれない場合はANDで繋ぐ
ORDER BY 昇順
LIMIT 抽出する数


※WordPressのカスタムフィールドがいい例
INNER JOINはIDが両方のテーブルに存在するものだけ抽出する
JOINしたテーブルにIDが存在しないものも抽出したい場合はLEFT JOIN を使う(NULLが割り当てられる)


WordPressで使うときの例
SELECT p.ID
FROM $wpdb->posts AS p
INNER JOIN $wpdb->postmeta AS meta ON meta.post_id = p.ID AND meta.meta_key = 'カスタムフィールド名'
WHERE p.post_status = 'publish' //公開中だとか~
AND p.post_type = 'post' //投稿の種類で条件を絞ったり
ORDER BY cast(meta.meta_value as unsigned) DESC //カスタムフィールドをCastして昇順の条件にしたり~
LIMIT 5 //5件取り出す


ねよっと。

modoや3dcoatでUV反転

UV反転を行う時の覚書

いろんな方法があるしバージョンによっても解説が違うので検索するといつも混乱するUV反転
最近は使えるテクスチャサイズも増えたし反転したUVを重ねるなんてことも少ないのかもしれないけど・・・


以下自分の方法です


~modo701~
・反転軸を選択
・メニューの「頂点マップ」から「鏡面」を選択してコピー先に新しいUVを作成
・反転したい部分を選択
・UV編集コマンドである「UV位置をコピー」「UV位置を選択に貼り付け」を使いUV間を越えてコピペ



~3D-Coat~
・反転したいUVの塊を選んでCtrl+C
・貼り付けたいUVを選んでCtrl+V

※同じ形をしていないとこの機能は使えない
↑で言うところの塊ってのはUVプレビューウィンドウにある島(英語版だとアイランド)って概念のことです


ねよっと。

三角形の内分点の比率について

三角形の内分点の比率について

適当な三角形ABCの中に適当な点Pがある
このとき、BH:HC と AP:PH について考えてみる 
使う知識は、二つのベクトルの外積のノルムはそのベクトルで作成する平行四辺形の面積と等しいということだけ。
math_1.jpg

まずBH:HCについて考える
この比率は以下の三角形の面積比と等しくなる
math_2.jpg

この比は↓の三角形の比とも等しくなる
math_3.jpg
この三角形は外積を利用して求まるので以下の比であらわせる


このことから  となる




AP:PHについてはパッと見少し分かりにくいけど以下の図形の面積比と同様になる
math_4.jpg
よって  となり

 が導ける

頂点データの合成

複数の頂点データを使いたいときの覚え書き


ModelMeshPart model = baseModel.Meshes[0].MeshParts[0];
model.VertexBuffer.SetData(vertexData);//頂点バッファにデータをセット
model.Effect.CurrentTechnique = baseModel.Meshes[0].Effects[0].Techniques["hoge"];

//二つの頂点情報を同時に利用するためSetVertexBuffersを行う。
GraphicsDevice.SetVertexBuffers(model.VertexBuffer, AddBuffer);
GraphicsDevice.Indices = model.IndexBuffer;//インデックスもセットしなおさないとダメ

//baseModel.Meshes[0].Draw()は使えなくなるので自前で描写
model.Effect.CurrentTechnique.Passes[0].Apply();
GraphicsDevice.DrawIndexedPrimitives(
PrimitiveType.TriangleList,
model.VertexOffset,
0,
model.NumVertices,
model.StartIndex,
model.PrimitiveCount
);
プロフィール

あしゅ

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

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

この人とブロともになる

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