メタバースの歴史と定義 メタバースの歴史と定義 メタバースの歴史と定義
メタバースという言葉は、1992年にニール・スティーヴンスン氏が発表したSF小説「スノウ・クラッシュ」で「meta (~の間の意味)」と「universe(宇宙の意味)」を組み合わせた造語として初めて登場しました。今年は30年になります。筆者はメタバースとは「インターネット」というテクノロジーの要素と「ゲーム」というアプリケーションの発展から起因する分野ではないかと考えます。
2003年に米リンデンラボが発表した「セカンドライフ」が、おそらく世界で初めて実現されたメタバースではないでしょうか。セカンドライフでユーザーは他のユーザーと交流できるほか、アバターが使えるアイテムに似た仮想資産を作り、仮想通貨で仮想資産の売買ができるようになりました。仮想空間上に新しい経済圏が形成され、一部のユーザーは新しい仕事として関わることとなったのです。
メタバースのマイルストーン
・1992年作の小説「スノウ・クラッシュ」で「meta(~の間の意味)」と「universe(宇宙の意味)」を組み合わせた造語として初めて使われた
・2003年に米リンデンラボが発表した「セカンドライフ」が初めて実現されたメタバースに
・2021年10月に米フェイスブックが社名をメタ・プラットフォームズに変更
KPMGコンサルティング
ディレクター ヒョン・バロ
メタバースビジネス最前線
- オフィス検索 kpmg.findOfficeLocations
- お問合せフォーム kpmg.emailUs
- ソーシャルメディア kpmg.socialMedia
テクノロジー・メディア・通信
テクノロジー・メディア・通信
メタバース(仮想空間)を活用したビジネスを展開する際の指針と今後の展望
メタバース(仮想空間)を活用したビジネスを展開する際の指針と今後の展望
- twitter. Opens in a new window
- facebook. Opens in a new window
- linkedin. Opens in a new window
- instagram. Opens in a new window
メールマガジン登録
© 2022 KPMG AZSA LLC, a limited liability audit corporation incorporated under the Japanese Certified Public Accountants Law and a member firm of the KPMG global organization of independent member firms affiliated with KPMG International Limited, a private English company limited by guarantee. All rights reserved. © 2022 強気の定義 KPMG Tax Corporation, a tax 強気の定義 corporation incorporated under the Japanese CPTA 強気の定義 Law and a member firm of the KPMG global organization of independent member firms affiliated with KPMG International Limited, a private English company limited by guarantee. All rights reserved.
WebGL入門 ~ three.js④~
ボックスじゃなくて点だよ
three.jsのジオメトリの元になっている THREE.BufferGeometry クラスには、
元々どんな形も定義されていません。
ここに 頂点を追加していきます。
点を描画するときのマテリアルには THREE.PointsMaterial をつかう。
Meshではなく、Pointsの場合はマテリアルのプロパティもちょっと違う。
size はワールド座標の0.25ではなくpxなので size: 10 と指定しても画面内におさまってます。
sizeAttenuation というのは、遠近感を出すかどうか。
falseにすると、奥にあっても手前にあっても同じ大きさで描画される(ピュアWebGLではこれが普通)
遠近感が出せるのは、three.js特有のプロパティ
- 頂点座標を定義
- 頂点座標を直列に配列似入れておく。 Float32Array にする。
- BufferAttribute インスタンスの形にする。
- 名前ラベル(好きにつける)つけて、 BufferGeometry にひもづける
three.js では、ジオメトリに頂点の情報を設定する(上書きや追加する) 場合は、 BufferAttribute クラスを利用します。
定義した頂点の情報を加工する
BufferAttribute クラスは、データの入力として TypedArray を使うので、
適切な TypedArray を利用すること(今回だとFloat32Array)
stride は、頂点情報がいくつの要素を持つか。XYZなので3を指定すること⚠️
※ストライドは three.js のドキュメントなどでは itemSize と記載されている
ポイントスプライト
ポイントでは、点しか描画できない?(四角いし・・・)
→ テクスチャで色々見せ方を変えることができるよ★☆
星のテクスチャはったイメージ
ポイントスプライト = 点(ポイント)として描かれる頂点を、スプライト(二次元のビットマップが付与されたオブジェクト)として扱う
・・・ただ、貼っただけだと、透過したい部分(星じゃない正方形の部分)が透過できていない。
→ 透過処理をすると、第2回の透過で説明したように、前後関係がバグる。
→ じゃあ奥の点から描画すればいいのだけど、
1つ1つの点がオブジェクトではなく、点の集合体のオブジェクトなのでそれはできない。
(1つ1つをオブジェクトにすることは可能だが効率が悪いのでオススメしない)
ポイントスプライト + 透過処理
- transparent: true にする
- opacity: 0.8 とかにして、少しすけさせる
- 色のブレンド方法を AdditiveBlending にする
- 深度テストを切る → すべてのピクセルを強制的に描画する
- 前後関係が比較的気にならない
- 透過できるので正方形が見えない
- 星が透過・加算合成モードになる
星自体は透過したくない場合は、ブレンドモード設定せずに、opacity: 1.0 にすることで可能だが、透過と深度テストの相性がよくないので、前後関係がミスる部分が出てくる。
3Dモデルを読み込む
かわいい🦊
そこで glTF という統一された中間フォーマットが策定されました。
https://github.com/KhronosGroup/glTF
three.jsでも GLTFLoader が用意されています。
- glTF にはシーン全体の情報を含めることができる仕様になっている。
- three.js もそれにならっているので、読み込み後に返されるオブジェクトは scene というプロパティを持っている。
- scene = Object3Dで、子要素にメッシュなどのデータをもつ。(glTFのsceneは色々まとまった塊のイメージで、それごとaddする)
アニメーションつきglTF
- アニメーションを含むglTFを用意する
- glTFからアニメーションを取り出す
- 用意したミキサーに通して、アクション化する
- アクションの割合を決めて動かす
この場合、deltaを大きくすると早くなり、小さくすると遅くなる。
(this.clockはClock オブジェクトを設定しておく)
オフスクリーンレンダリング
- 各種ポストエフェクト
- 鏡やツルツルした面への映り込みの表現
- ワイプのような表現
- 影を落とす処理
- 水や光学迷彩などの透明な質感の表現
板ポリにテクスチャとして貼られる3Dアヒルさん🐥
three.jsでは THREE.WebGLRenderTarget というオブジェクトを使う。
今までにもずっと利用してきた THREE.WebGLRenderer というオブジェ
クトに対して THREE.WebGLRenderTarget を割り当てることで、「一旦レンダリング」することができる
RenderTargetを使わない場合(今まで)
→ そのままプロジェクターでcanvasに投影しているイメージ
- シーンもカメラも1つ
- アスペクト比はWindowから
RenderTargetを使う場合
→ オフスクリーンでレンダリングされ、画面にはでなくなる。
→ 「一旦レンダリング」することでできることが広がる感じ。
オフスクリーンレンダリングしたものを板ポリにはったり、エフェクトかけたり・・・
(テクスチャなどにして最終レンダリングで描画する)
三角保ち合いとは? 概要・パターン・活用のコツを画像で解説!
出典:Tradingview
画像の黄色の線で囲った箇所では、高値と安値の距離が徐々に狭まっており、三角形のような形を形成していることがわかります。
また、価格も三角保ち合いを 下に抜けてから、傾向に沿って大きく下落 している状態となっています。
綺麗な三角保ち合いはほとんどない
1-2. 3種類のパターンと価格変動の傾向
三角保ち合いには、大きく分けて3つのパターンがあります。
三角保ち合いのパターン
- 一般的な三角保ち合いのパターン
- 強気の三角保ち合いパターン
- 弱気の三角持合いのパターン
これら3つのパターンは同じ三角保ち合いに分類されますが、三角形の形と保ち合いを抜けた後の 価格変動の傾向が異なります 。それぞれの内容を、下記で確認していきましょう。
一般的な三角保ち合いのパターン
高値が切り下がり安値が切り上がるのは、最もポピュラーな三角保ち合いのパターンです。
この三角保ち合いの場合、価格が上下どちらに動くかは、保ち合いを 上か下に抜けるまで分かりません 。
強気の三角保ち合いは上放れしやすい
2つ目は、 高値が一定 で安値が切り上がる 強気の三角保ち合い のパターンです。
このパターンの場合、安値が切り上がっている状態なので、売りで価格が下落する力以上に買いの勢いが強いと考えられます。
そのため、このパターンでは保ち合い後に価格が 上放れしやすい 傾向があります。もちろん、保ち合いを下抜けして下落する可能性もあるので、注意が必要です。
弱気の三角持合いは下抜けしやすい
3つ目は、高値が切り下がり 安値が一定 の 弱気の三角保ち合い のパターンです。
このパターンの場合、高値が切り下がっている状態なので、買いで価格が上昇する力以上に売りの勢いが強いことがわかります。
そのため、このパターンでは保ち合い後に価格が 下抜けしやすい 傾向があります。もちろん、2つ目の強気パターンと同様に、傾向に沿って必ず下落する訳ではないので、上抜けする可能性も視野に入れながらトレードするようにしましょう。
2. 三角保ち合いの売買ポイント【基礎編】
2-1. 買いは「レジスタンスラインを上放れしてから」
三角保ち合いの買いポイントは、 レジスタンスラインを上放れ してからです。レジスタンスラインとは高値を結んだ線のことで、価格がそのラインで押し返される傾向があります。
三角保ち合いでも同様で、レジスタンスラインに来ると売りの圧力が強まりますが、そこを突破した場合には 買いの勢いが優勢 となります。
そのため、上放れすると買いの勢力が強まり 価格も上昇する可能性 が高まるので、買いのポイントの1つと考えることが可能です。
2-2. 売りは「サポートラインを下抜けしてから」
三角保ち合いの売りポイントは、 サポートラインを下抜け してからです。サポートラインとは安値を結んだ線のことで、価格がそのライン付近に到達すると上昇方向へ反発する傾向があります。
この傾向は三角保ち合いでも同様です。サポートラインに来ると買いの圧力が強まりますが、そこを突破することで買いの勢力が弱まり、 売りの勢力が強く なります。
そのため、下抜けすると売りの勢力が強まり 価格も下落する可能性 が高まるので、売りのポイントの1つと考えることが可能です。
3. 三角保ち合いを生かすコツ【応用編】
3-1. トレンドから価格変動を予想する
三角保ち合いを効果的に活用するコツとして、相場の全体的な方向性を示す トレンドを意識して トレードすることは重要なポイントになります。トレンドが上昇か下落かによって、三角保ち合い後の価格変動にも大きな影響が出るからです。
トレンドの定義
株やFXなどの相場の世界において長年に渡って利用されてきた「 ダウ理論 」では、トレンドの定義を以下のように定めています。
上昇トレンドなら上抜け、下落トレンドなら下抜けの可能性が高まる
一般的に、トレンドは相場の 全体的な方向感 を示すものです。相場の中でも トレンドの方向へ進む よう強い力が働きます。
そのため、上昇トレンド中であれば価格も保ち合いを上抜けし、上昇する可能性がさらに高まるでしょう。なおかつ 強気の三角保ち合い が出ていれば、この 信頼性はさらに高まる と考えることが可能です。
また、下落トレンド中であれば保ち合い後に下抜けし、価格が下落する可能性もさらに高まります。なおかつ 弱気の三角保ち合い であれば、この情報の 信頼性はさらに高まる と言えるでしょう。
たとえば、以下のチャートでは高音も安値も切り上がる上昇トレンドが発生していますが、途中で出現した三角持合いはトレンド方向に沿って上抜けし、価格もそのまま上昇しています。
出典:Tradingview
トレンドの終点付近では転換に注意
3-2. だましの動きに注意する
三角保ち合いでは、上下どちらかに 抜けたと見せかける だまし の動きが発生することがあります。だましの動きに引っかからないよう意識することで、損失リスクを低減することが可能です。
だましは以下の画像のように、三角保ち合いの終盤付近で発生する傾向があります。
上記の画像であれば、三角保ち合いを一旦下抜けさせたと 強気の定義 見せかける 動きとなっています。本来であれば、下抜けすると価格も下落する傾向がありますが、結果的に 価格は上昇 している状態です。
また、以下のビットコインのチャート画像では、三角保ち合いの終盤付近で下抜けと上抜けに見せかけた 合計2回のだまし が発生しています。
出典:Tradingview
1つ目の下抜けの動きは、抜けた後にすぐ反発しているため比較的小さい値幅となっていますが、2つ目の上抜けのだましは大幅に価格が上昇しているため、 完全に上抜けしたと錯覚してしまう 可能性が高いでしょう。
一方で、価格は上昇した値幅分 急激に下落 強気の定義 しています。結果的には、三角保ち合いを下抜けし価格も下落しているため、買いで入っている場合には大きな損失を受けていたかもしれません。
こうした点からも、だましを意識したトレードをすることは重要です。だましを完全に見抜く方法はありませんが、損失リスクを低減させるためにもエントリー時には 適切な損切りを入れる など、対策を講じておきましょう。
WebGL入門 ~ three.js④~
ボックスじゃなくて点だよ
three.jsのジオメトリの元になっている THREE.BufferGeometry クラスには、 強気の定義
元々どんな形も定義されていません。
ここに 頂点を追加していきます。
点を描画するときのマテリアルには THREE.PointsMaterial をつかう。 強気の定義
Meshではなく、Pointsの場合はマテリアルのプロパティもちょっと違う。
size はワールド座標の0.25ではなくpxなので size: 10 と指定しても画面内におさまってます。
sizeAttenuation というのは、遠近感を出すかどうか。
falseにすると、奥にあっても手前にあっても同じ大きさで描画される(ピュアWebGLではこれが普通)
遠近感が出せるのは、three.js特有のプロパティ
- 頂点座標を定義
- 頂点座標を直列に配列似入れておく。 Float32Array にする。
- BufferAttribute インスタンスの形にする。
- 名前ラベル(好きにつける)つけて、 BufferGeometry にひもづける
three.js では、ジオメトリに頂点の情報を設定する(上書きや追加する) 場合は、 BufferAttribute クラスを利用します。
定義した頂点の情報を加工する
BufferAttribute クラスは、データの入力として TypedArray を使うので、
適切な TypedArray を利用すること(今回だとFloat32Array)
stride は、頂点情報がいくつの要素を持つか。XYZなので3を指定すること⚠️
※ストライドは three.js のドキュメントなどでは itemSize と記載されている
ポイントスプライト
ポイントでは、点しか描画できない?(四角いし・・・)
→ テクスチャで色々見せ方を変えることができるよ★☆
星のテクスチャはったイメージ
ポイントスプライト = 点(ポイント)として描かれる頂点を、スプライト(二次元のビットマップが付与されたオブジェクト)として扱う
・・・ただ、貼っただけだと、透過したい部分(星じゃない正方形の部分)が透過できていない。
→ 透過処理をすると、第2回の透過で説明したように、前後関係がバグる。
→ じゃあ奥の点から描画すればいいのだけど、
1つ1つの点がオブジェクトではなく、点の集合体のオブジェクトなのでそれはできない。
(1つ1つをオブジェクトにすることは可能だが効率が悪いのでオススメしない)
ポイントスプライト + 透過処理
- transparent: true にする 強気の定義
- opacity: 0.8 とかにして、少しすけさせる
- 色のブレンド方法を AdditiveBlending にする
- 深度テストを切る → すべてのピクセルを強制的に描画する
- 前後関係が比較的気にならない
- 透過できるので正方形が見えない
- 星が透過・加算合成モードになる
星自体は透過したくない場合は、ブレンドモード設定せずに、opacity: 1.0 にすることで可能だが、透過と深度テストの相性がよくないので、前後関係がミスる部分が出てくる。
3Dモデルを読み込む
かわいい🦊
そこで glTF という統一された中間フォーマットが策定されました。
https://github.com/KhronosGroup/glTF
three.jsでも GLTFLoader が用意されています。
- glTF にはシーン全体の情報を含めることができる仕様になっている。
- three.js もそれにならっているので、読み込み後に返されるオブジェクトは scene というプロパティを持っている。
- scene = Object3Dで、子要素にメッシュなどのデータをもつ。(glTFのsceneは色々まとまった塊のイメージで、それごとaddする)
アニメーションつきglTF
- アニメーションを含むglTFを用意する
- glTFからアニメーションを取り出す
- 用意したミキサーに通して、アクション化する
- アクションの割合を決めて動かす
この場合、deltaを大きくすると早くなり、小さくすると遅くなる。
(this.clockはClock オブジェクトを設定しておく)
オフスクリーンレンダリング
- 各種ポストエフェクト
- 鏡やツルツルした面への映り込みの表現
- ワイプのような表現
- 影を落とす処理
- 水や光学迷彩などの透明な質感の表現
板ポリにテクスチャとして貼られる3Dアヒルさん🐥
three.jsでは THREE.WebGLRenderTarget というオブジェクトを使う。
今までにもずっと利用してきた THREE.WebGLRenderer というオブジェ
クトに対して THREE.WebGLRenderTarget を割り当てることで、「一旦レンダリング」することができる
RenderTargetを使わない場合(今まで)
→ そのままプロジェクターでcanvasに投影しているイメージ
- シーンもカメラも1つ
- アスペクト比はWindowから
RenderTargetを使う場合
→ オフスクリーンでレンダリングされ、画面にはでなくなる。
→ 「一旦レンダリング」することでできることが広がる感じ。
オフスクリーンレンダリングしたものを板ポリにはったり、エフェクトかけたり・・・
(テクスチャなどにして最終レンダリングで描画する)強気の定義
ナッシュ均衡とは:ゲーム理論の基礎知識3
投稿日: 2021年07月07日 | カテゴリ: 基礎知識 | tags: ゲーム理論
1. ナッシュ均衡
・一ノ瀬と二子山の例
老舗和菓子店一ノ瀬と二子山は、A地区かB地区のどちらかに支店を出そうと考えています。両店がA地区・B地区と別々に出店すれば、各地区のお客を独占でき、1日の売上はそれぞれ12万円と8万円になります。しかし、同じ地区に出店すると、各地区のお客を奪い合い、売上はその半分になってしまいます。一ノ瀬と二子山はどちらに出店するでしょう?
支配戦略がないゲーム: 強気の定義
図1は、前回説明した利得行列でこのゲームを表現しています。ゲームの結果を考えるために、一ノ瀬の立場で考えてみましょう。相手(二子山)がA地区を選択したと想定すると、自分(一ノ瀬)はB地区を選択する(利得8)方が、A地区(利得6)よりも良い選択となります。一方、相手がB地区を選択したならば、自分はA地区(利得12)の方が、B地区(利得4)よりも良い選択です。A地区の方が売上は大きいものの、客を奪い合うよりは相手と異なる地区に支店を出した方が良く、また、二子山も一ノ瀬と同じ状況です。
最適反応戦略とナッシュ均衡:図1のゲームでは、他のプレイヤーの戦略に応じて、自分の利得が高くなる戦略が変わります。常に利得が高くなる支配戦略はありません。他のプレイヤーの戦略に対して、自分の利得が一番高くなる戦略を最適反応戦略と呼びます。支配戦略は、全ての戦略に対する最適反応戦略となりますが、今回は最適反応戦略が相手の戦略によって変わってきます。
図1のゲームにおける、ナッシュ均衡を考えてみましょう(図2)。「両店舗がA地区に出店する」という結果は、ナッシュ均衡ではありません。一ノ瀬は、二子山がA地区に出店するならば、B地区に出店する方が利得を高くする(最適反応戦略)ので、最適反応戦略を選び合うことにはなっていないからです(二子山も同様)。
2. チキンゲームと調整ゲーム
・チキンゲーム
・調整ゲーム
調整ゲーム(コーディネーションゲーム)は、プレイヤー同士が同じ行動をすることがナッシュ均衡となるゲームです。簡単な調整ゲームは、「左側通行か右側通行か」というゲームです。細い山道で車がすれ違うときに、どちら側に寄ってすれ違うかを想像してください。右でも左でも、お互いが同じ方向に避ければ良く、違った方向に避けるとぶつかってしまいます(図3)。同窓会に行くか行かないか(皆が行くなら行きたい/皆が行かないなら行きたくない)、緊急事態時のトイレットペーパーの買い占め(皆が買いに走るなら、自分も走らなければならない/そうでないなら、わざわざ買いに行く必要がない)、さらに銀行の取り付け騒ぎなども、調整ゲームとして解釈されます。
図3のゲームでは、相手が右を選ぶならば、自分は左より右を選ぶ方が利得の高くなる戦略(最適反応戦略)であり、「両プレイヤーが右を選ぶ」は、最適反応戦略を選び合うナッシュ均衡になります。同様に「両プレイヤーが左を選ぶ」もナッシュ均衡です。チキンゲームと同じように、ナッシュ均衡は2つあります。
3. 支配戦略とナッシュ均衡
イプロス
技術資料ダウンロード
ナッシュ均衡とは
ゲーム理論の基礎知識3
【もくじ】
1. ナッシュ均衡
2. チキンゲームと調整ゲーム
3. 支配戦略とナッシュ均衡
コメント