math

物理シミュレーションで紙吹雪エフェクトを作ってみた

画面をクリックするとwebGLサンプルに飛びます。動画もあります。 こんにちは。技術部平山です。 最近たまたま紙吹雪っぽいエフェクトを作る機会があったので、これを、 「これまで書いてきた基本的な技法を組み合わせる応用例」という位置付けで紹介しよう…

クォータニオンを使った、トラックボール風カメラ制御

画面写真をクリックするとサンプルのWebGLビルドに飛びます。 こんにちは。技術部平山です。 今回は、トラックボール 状のものを操作してカメラを動かす機能を作ってみました。 上のサンプルを触ってみてください。 右上の球をトラックボールだと思って回し…

地味にヤバい、シェーダ変数の精度について

画面写真をクリックするとサンプルのWebGLビルドに飛びます。 こんにちは。技術部平山です。 今日はシェーダでの精度指定について、地味なお話をいたします。 詳しいことに興味がなければ、 非常に簡潔にまとめられた記事 をLIGHT11さんが書いてらっしゃいま…

B-スプライン曲線がサッパリわからない

画面写真をクリックするとサンプルアプリに飛びます。 今回はサンプルがhtml5ですので、それがそのままソースコードですが、 一応githubにも置いてあります。 内部に「ここからここまでライブラリ」的なコメントがあるので 、その部分だけ持っていけばライブ…

高さの影響を受けるフォグ 〜「低い所にガスが溜まってる」感を出す〜

画面写真をクリックするとWebGLビルドに飛びます。 こんにちは。技術部平山です。 今回は「高さ方向に変化があるフォグ」について扱います。 Unityに標準では入っていない奴で、 「地面付近に水蒸気が溜まってる感」とか「毒の沼地から怪しい霧が立ち登って…

好き好き対数正規分布

動画をクリックするとWebGLビルドに飛びます。 今回のサンプルコードもgithubに置いておきましたが 、あまり役には立たないと思います。 こんにちは。技術部平山です。 今回は軽いお話です。 対数正規分布 をご紹介します。 動機 前回の記事では、 ランダム…

3Dゲームで丁度よく画面に収めたい!自動で!

動画をクリックするとWebGLビルドに飛びます。 また、ソースコードはgithubに置いてあります。 こんにちは。技術部平山です。 今回は、3D空間にある物をいい具合に画面に収めるための計算について説明します。 動画では16個の球が好き放題動き回っており、 …

ベクトルを3D空間で回す

画面写真をクリックするとWebGLビルドに飛びます。 ソースコードはgithubに置いてあります。 こんにちは。技術部平山です。 今日は、球面に点を散らす方法を使って、 3D空間でベクトルをいろんな方向に曲げてみます。 これができて初めて、「ビームが敵に当…

円や球面にランダムに点を散らしたい〜高校数学を使って分布関数を作る〜

画面写真をクリックするとWebGLビルドに飛びます。ソースコードはgithubに置いてあります。 こんにちは。技術部平山です。 今日は先日のビーム に関連したネタです。 ビームのサンプルではビームが敵に当たると火花が散りますが、 それぞれの火花が飛ぶ方向…

ビームやミサイルの追尾(ホーミング)計算

こんにちは。技術部平山です。 2019/06/25に4社合同のLT大会があったのですが、 お客さんがIT業界の方々ということで何を話していいかわからず、 たまたま趣味でやったことをそのまましゃべってしまいました。 今回の記事は、このデモの追尾計算に絞って説明…

Unityでスレッドから乱数を使いたくなった時に気になったこと

ここでは、UnityEngine.Randomを使えば99.9%解決するような話題について、 技術部平山が趣味で書いてみようと思います。 サンプルコードはgithubに置いてあります。 なお、マルチスレッドはあくまできっかけであり、本記事にスレッドの話はありません。 ただ…

補間関数で作るアニメーション

プログラムで動きを作ることは結構あります。 操作せずに観賞するアニメーションであれば、 アーティストが作る方がいい出来になると思うのですが、 操作によって介入があるアニメーション 場所や大きさ、速度、数などがゲームの状況に応じて変化するアニメ…

Unityで2D世界と3D世界を行き来するエフェクトをつくる

この記事では、上記動画のように、3D世界にいるキャラクターと、画面の上端と下端に貼りつけてある2Dの UIの間でエフェクトの行き来をする方法について、技術部平山が書いてみます。 実行可能なサンプルをwebに置いてありますので、 実行して動かしてみると…