アーマチュアを作る 「アーマチュアとは何ぞや」といいますと、ボーンの集合体というか…。動かせる関節が寄り集まったモノだと思って下さい。それではいってみましょう! ミラーモディファイア(Mirror Modifire)を適用させる 現時点のメッシュオブジェクトの半分は、モディファイアが見せてくれているマボロシ状態。なのでモディファイアを適用して、仮で作ってくれていた半分を実体化します。 パンダのオブジェクトを選択して、オブジェクトモードへ。プロパティパネルのモディファイアタブ(レンチのマークでおなじみ)→MirrorのApplyをクリックすればOKです。色々注意されることもありますが、全無視です。 ミラーモディファイアを適用させてしまった後に頂点を直したいよ!というときは、3D Viewのツールパネル(Tで出てきます)のX Mirrorにチェックを入れると左右対称に同じ点が動いてくれます。
Unitien(造語)に、iTweenは必須ですね!? GameObjectを決められたパスに沿って移動させることができる、iTweenという便利なアセットがあります。 今回はランダムに生成したモーションパスに沿って、GameObjectを移動させてみました。 ステージ準備 まず、以下のようなステージを用意します。 手前の球体と、奥のキューブには、Rigidbodyコンポーネントを付けてあります。 スクリプト解説 球体には、iTweenで動かすスクリプトを追加します。 // 球体に付加するスクリプト using UnityEngine; using System.Collections; public class ScriptBall : MonoBehaviour { void Start () { Vector3[] movepath = new Vector3[5]; for (in
結構立ちましたが、GJKについてようやっとまとめれたのでアップしたいと思います。 同じように悩んだ方の手助けになればいいかな?って思います。 実装は簡単なんですけど、この記事用のサンプルは組んでません! ヒマが出来て組めたらアップします。 GJK アルゴリズムは凸多面体同士が重なっているかどうかを調べるアルゴリズムです。 どれだけめり込んだか?を調べるアルゴリズムは Johnson's Distance アルゴリズムっていう別のアルゴリズムになりますが、 やっていることは、非常に良く似ています。 まず、GJK アルゴリズムの前提になっている、ミンコフスキー差について解説します。 ミンコフスキー差というのは、2つの物体の差の Swept Volume になります。 要するに、物体AとBがあった時に、B を原点で反転したもの(原点対称)を物体 A の周り(表面)で 移動させたときに生じる領域の
オブジェクトの頂点をモデル座標系からワールド座標系に移すときに法線も一緒に変換する必要がある。 たとえば、シェーディングするときは法線が必要になるが、たいていライトはワールド座標系に存在しているため、法線もワールド座標系に移す必要がある。 他にも、法線をいろいろ利用するときは頂点と同じ座標系にあった方が都合が良い。 頂点について、モデル座標系からワールド座標系に移すときには何らかの変換行列を使って変換する。 しかし、頂点に対して作用する行列と同じものを法線に対して作用させてもうまくいかない。 まず、平行移動成分を除去しなければならない。法線は向きのみの量なので平行移動は関係ないからである。 回転移動成分についてはそのまま使うことが出来る。 拡大縮小などのスケーリング成分については、たとえば各頂点をX軸方向に3倍にする場合、法線はX軸方向に1/3倍にする必要がある。(最終的に正規化して長さは
アドビの新しいオープンソースプロジェクトが公開されました。WebGL のシェーダを JavaScript で記述できるよう開発されたフレームワーク ShaderDSL.js です。 WebGL の場合は、シェーダーの記述に使用される言語は GLSL が一般的です。そのため、一般的な Web 開発者にとっては、WebGL を使うには、機能だけでなく、新しい言語を学ぶという手間も発生します。 また、複数のの言語を使って Web ページを記述するのは、メンテ等も大変そうです。そこで、JavaScript で WebGL のシェーダーが記述できたたらよいね!と思ったアドビが新しいフレームワークの開発に着手したというお話です。 (なぜアドビがこんなフレームワークを開発しているのか妄想してみると楽しいかもです) ShaderDSL.js は、内部的に Gladder と RiverTrail を利用し
ホーム < ゲームつくろー! < プログラマブルシェーダ編 シェーダ編 その5 0から学ぶ法線マップ ポリゴンの表面にはテクスチャが貼られる。これは3Dのゲームを作ろうと思う方はもちろんどなたでもご存知の事です。貼るという語意から、テクスチャには色が付いているんだろうなともイメージできます。しかし、DirectXの中では「色」というのは単なる数字です。特にシェーダの中に入ると、それは0.0~1.0の小数点になってしまいます。 テクスチャは何とも便利な物で、ポリゴン表面のある部分の色を示す事ができます。テクスチャの色は結局数値なのですから、これを別のもっと一般化すると「テクスチャはポリゴン表面のある部分の『値』を示す事ができる」となります。 ポリゴン表面の性質にも色々とありますが、色味以外の代表格と言うと「法線」です。ポリゴンの向きですね。これまで、法線は頂点単位でしか定義されませんでした。
ホーム < ゲームつくろー! < プログラマブルシェーダ編 その12 頂点座標とUV座標から接ベクトルを求めるちょっと眠い話 3Dモデルのポリゴン表面を凸凹に見えるように貼るバンプマップ。この貼り付け時に絶対に必要なのが接ベクトル(Tangent Vector)です。 接ベクトルというのは「接ベクトル空間(Tangent Vector Space)」という座標空間で表されたベクトルの事です。接ベクトル空間と言うと難しそうですが、下図のように単に3Dモデル表面のある1点に乗っかっている座標空間です: 東京に乗っけてみました(^-^; 上の図では地球表面上の東京の上に接ベクトル空間を設けてみました。ただ、表面上の一点に設けると言っても色々な設け方があるはずです: 上のどれも接ベクトル空間として成り立ちます。しかしこれが法線マップやバンプマップなどポリゴン表面にテクスチャを貼り付ける時にはその軸
組み込み向け3DグラフィックスAPIの最新版「OpenGL ES 3.0」が登場 ―― デスクトップ向けグラフィックスを猛追する組み込みグラフィックス 大渕 栄作 OpenGL ES(OpenGL for Embedded Systems)は,携帯電話や携帯型ゲーム機,タブレット端末などの情報系組み込み機器を中心に普及している3Dコンピュータ・グラフィックス用APIの標準規格である.2012年8月には,最新版の「OpenGL ES 3.0」が発表された.ここでは3DグラフィックスIP(GPU)コア・ベンダの開発技術者であり,Khronos GroupによるOpenGL ESの標準化にもかかわっている著者が,OpenGL ES 3.0の概要について解説する.(Tech Village編集部) グラフィックス技術およびインタラクション技術に関する世界最大の学会/展示会である「SIGGRAPH
ホーム < ゲームつくろー! < DirectX技術編 その48 スクリーン座標でワールド空間の地面を指す マウスカーソルを用いる3DのRPGなどでは、カーソルで当たり前のように宝箱を指すことができます。でも良く考えてみると不思議です。マウスカーソルの座標は2次元のスクリーン座標(クライアント座標)です。それに対して宝箱は3次元のワールド空間座標にあります。座標系がぜんぜん違うのに遠近感も考慮して正しく指す事ができる。裏ではいったい何をしているのでしょうか?秘密はスクリーン座標からワールド座標を求めると言う、通常とは逆方向の変換にあります。 この章では、スクリーン座標をワールド座標に変換する方法について見ていき、スクリーンに映っている床をワールド座標レベルで指し示す方法について検討してみましょう。 ① 決め手は「逆行列」 ワールド座標に点Pがあったとします。その点を何らかの行列Mによって移
ホーム < ゲームつくろー! < DirectX技術編 その47 カメラのようにキャラクタを向かせたい! Direct3DXの関数の中にD3DXMatrixLookAtLH関数があります。これはカメラに関係する関数で、カメラの位置とカメラが見つめたい位置からビュー行列を作成してくれます。大変便利です。 この「位置」と「視点」という考え方は、キャラクタの向きを変える方法論として大変重宝しますが、D3DXMatrixLookAtLH関数を直接使う事はできません。それはD3DXMatrixLookAtLH関数が「原点にいるZ軸方向を向くカメラの前にオブジェクトを移動させる」という「俺様」な行列を作ってしまうためです。 ここではD3DXMatrixLookAtLH関数の考え方を流用して、キャラクタがちゃんとある点に向く関数を作成してみましょう。D3DXMatrixLookAtLH関数を何となく使っ
スマホでも動く物理演算で転がる3Dサイコロを作ったのでその解説 カテゴリ:3D 2013年9月 1日 16:46 CSS3DRendererはexamplesの中 ルービックキューブの解説は少しお休みして、Three.jsのCSS3DRendererを使ってサイコロを作った話をしようと思います。といっても、ルービックキューブを作る上で使用した概念などもあるので、まったくの無関係というわけではありません。 今回のポイントは「CSS3DRenderer」です。 これ、実はThree.jsだけを読み込んでも使用できません。実験段階だからなのか、Three.jsのgithubのリポジトリ内にある「examples」の中にこっそり含まれています。 実装サンプル なので、まずはこれを取り出してThree.jsと一緒に読み込ませます。 ちなみに今回作成したものは以下のようなサイコロです。(CANNON.
CSSで本当にクリアできるルービックキューブを作ったので3Dについて色々解説してみる その2 カテゴリ:3D 2013年8月28日 19:04 前回はこれから解説していくルービックキューブの紹介と、3D関連の学習に利用した記事などの紹介をしました。 いよいよ実際にルービックキューブについて解説をしていきたいと思います。 まずは基本的なところから始めて行くので、人によっては今回の記事はほぼ知ってることだらけになるかもしれません。 要素の変形 - transformプロパティの基礎 上でも書いた通り、まずはtransformプロパティの基礎から解説していきます。 すでに使ったことがある人ならおなじみだと思いますが、transformプロパティ(WebKit/Blink系はまだ-webkit-のプレフィクスが必要です)にはいくつかの値が指定できます。 実際にtransformプロパティに指定でき
Stay organized with collections Save and categorize content based on your preferences. Explore our growing collection of courses on key web design and development subjects. An industry expert has written each course, helped by members of the Chrome team. Follow the modules sequentially, or dip into the topics you most want to learn about.
2013年5月26日、Stage3Dオンラインカンファレンスが開催されましたが、各種3Dライブラリについてまとまった情報が欲しいなと思ったのでブログ記事にしてみました。Flashを用いた3Dコンテンツを導入するにあたり、3dsMax, Maya、Cinema4Dなどの3Dモデル作成ツールとの親和性、GUIで直感的に作成できるシーン構築ツールなどに重点を置いて解説します。 Away3D http://away3d.com/ Adobeと非営利な活動として提携している。3dsMaxとの親和性が高くユーザー数が多い。シーン編集ツールAwayBuilderが登場し、日々進化を続けています。 3Dツールとの親和性 公式では3dsMaxを推奨。3dsMaxのエクスポータープラグインを備えています。(後述のSEA3Dと組み合わせると強力) Blender, Maya, Cinema4D用のスクリプトが提
カリフォルニア大学サン・ディエゴ校の計算機科学者達が開発した Codespell は、一人称視点の3Dゲームなのですが、その一番の特徴は、プレイすることでJavaプログラミングを身につけられるという点です。 Codesp […] カリフォルニア大学サン・ディエゴ校の計算機科学者達が開発した Codespell は、一人称視点の3Dゲームなのですが、その一番の特徴は、プレイすることでJavaプログラミングを身につけられるという点です。 Codespellでは、プレイヤーは小動物ノーム(gnome)たちが住む土地にやってきた魔法使いです。ノーム達は過去に魔法を使って生活していたのですが、今は魔法をうまく使えなくなっています。魔法の呪文はJava言語プログラムで、物体を浮遊させるとか火を起こすといった7つの手持ちの呪文を使って、ノーム達を助け、火を消したり川を渡ったりといったクエストを解き、バッ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く