2024-03-01から1ヶ月間の記事一覧
はじめに 本記事にはWebGL2に関する備忘録です。 WebGL2の習得に有用なサイトについても記載します。 私が後から参照できればよいので、わかりにくいかもしれません。 有用なサイト ・「床井研究室」でググってください。床井先生はCGの神様です。 ・wgld.or…
鏡面反射 鏡面反射は光沢のある表面を表現することができます。 正反射方向に鋭く反射し、正反射方向から少し外れると急激に明るさが減少します。 フォン反射モデル 光源方向を表す単位ベクトルを 、単位法線ベクトルを 、正反射方向ベクトルを とし、視線方…
ランバートの法則 単位面積当たりに照射するするエネルギーは、法線ベクトルと光源方向ベクトルの内積で決まります。 これをランバートの法則と言います。 拡散反射率 単位法線ベクトルを 、光源方向を表す単位ベクトルを 、そのなす角を としたとき、 単一…
glTFとは glTF (GL Transmission Format) はJSONによって3Dモデルやシーンを表現するフォーマットであります。 「3DにおけるJPEG」と表現されることもあります。 glTF2.0のみを扱う glTF 2.0は2017年6月5日のWeb3D 2017 Conferenceで正式発表されました。 Bl…
はじめに Catmull-Clark subdivision surfaceのErkamanの実装を見つけたので、解説します。 該当ソースはindex.jsの_catmullClark関数です。1行ずつではありませんが、全て解説します。 0. 引数 positionsは点配列でArray<Array<number>>やArray<float32Array>です。 cellsは面配列で、Ar</float32array></array<number>…
Catmull–Clark subdivision surfaceとは Catmull–Clark subdivision surfaceとは、2024年現在使われているOpenSubdivの元になったアルゴリズムです。 BlenderもShade3DもOpenSubdivに対応しているようです。 Catmull-Clark Subdivisionに解説していくので、…
はじめに 本記事は、Blenderにおけるアーマチュアに関するものです。 私自身アーマチュアの理屈は少し知ってはいますが、Blenderにおけるアーマチュアは全く知らないので一緒に学んでいきましょう。 アーマチュアに似た言葉として、「スキニング」や「vertex…
作るもの マグカップです。モデリングのみです。 手順 1. Blenderを起動し、ポップアップを消し、立方体を削除する。 ここの手順については、【Blender】ストロー付きカップを作る【超丁寧解説】の手順1~3と同じです。 2.[追加]→[メッシュ]→[円柱]を押下す…
はじめに Blenderの使い方をすぐに忘れるので、記事として書こうと思いました。 初めての作品解説なので、超丁寧に書いていきます。 なお、Blenderはインストール済みで日本語化されているものとします。 色付けは書きません。モデリング部分のみです。 まず…
初めに 自分用メモです。 箇条書きです。主にモデリング中心です。 間違えていたら、コメントに書いてくれると嬉しいです。 Blenderのバージョン確認方法 メニューの左端のBlenderのアイコン→Blenderについてでバージョンが表示されます。 2つの軸を固定 sh…
はじめに Xで見かけたのがきっかけです。 JavaScriptは演算子のオーバーロードができないので、A,Bが行列の時、行列の積ABはプログラムでA@Bのように書けないわけです。 でも、PyodideはPythonが使えるそうなので、numpyも使えちゃうわけです。 なので私のや…