初心者におすすめ

強気の定義

強気の定義

ボックスじゃなくて点だよ

メタバースの歴史と定義 メタバースの歴史と定義 メタバースの歴史と定義

メタバースという言葉は、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特有のプロパティ

  1. 頂点座標を定義
  2. 頂点座標を直列に配列似入れておく。 Float32Array にする。
  3. BufferAttribute インスタンスの形にする。
  4. 名前ラベル(好きにつける)つけて、 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を使う場合
→ オフスクリーンでレンダリングされ、画面にはでなくなる。
→ 「一旦レンダリング」することでできることが広がる感じ。
オフスクリーンレンダリングしたものを板ポリにはったり、エフェクトかけたり・・・
(テクスチャなどにして最終レンダリングで描画する)

黄昏の空の色 トワイライトファンブログ

トワイライトにはまりました。
はまりすぎて、妄想が止まりません。
そんなトワイライターのブログです。

吸血鬼の定義&キャラクター紹介

一般的な吸血鬼って、まず、どんなイメージを持ちますか。
・夜にしか活動できない。昼間は棺桶の中で眠っている。
・太陽の光が苦手。中には、陽光で灰になる。
・十字架が苦手。殺すには心臓に杭を打ち込む。
・人間離れした力や感覚を持つ。中には、蝙蝠に変身したりする

・太陽の光は平気。ただし、吸血鬼の細胞は人間ほど柔軟性や透過性がなく、結晶のような性質をもつため、皮膚の表面はプリズムのように反射。吸血鬼は陽光のもとでキラキラ光るような輝きを帯びる。
・美貌 キズ一つない滑らかさ、光沢、肌が光を繊細に反射して陰影を深めるため、美しさが際立つ。
また、石のように硬質な肉体が、筋肉質に引き締まって見える。
・吸血鬼の特性として青白い肌をしているが、これは、人間から吸血鬼に転生するプロセスの際、毒が皮膚の強度を強めながら、すべての色素を侵食するため。そのため、みんな青白い肌となる。
・瞳の色は、通常は真紅。飢えるほど漆黒。ただし、人間でなく、動物の血を飲めば、真紅ではなくゴールドになる。
・牙はなく、人間と同じ歯をしているが、きわめて硬質で、噛み切れないものはない。
硬質で硬い吸血鬼の肌を噛み切れるのは、吸血鬼の歯のみ。
・十字架もニンニクも平気。
・とにかく不死身で、強くて、心臓に杭なんて、刺したくてもできない。皮膚が硬質なため、銃弾も平気。(ベラもエドワードに肘鉄を食らわそうとしても、自分にあざができるだけと言っている)
・体内に毒を持つ。というか、人間における血液、体液が、吸血鬼では毒。
咬まれると、この毒が人間の体内に侵入して、激痛をもたらし、この毒が人間を吸血鬼に変える。
・弱点はほぼないが、殺すには、バラバラにして燃やす(毒は引火性が強く、燃えやすい)でも、同じ吸血鬼以外、バラバラにするのは無理。
バラバラにしても、燃やさない限り、体をくっつけて復活できる。
・基本は人間なので、蝙蝠とかに変身はできない。でも、走るのとかはものすごく速い。
・眠らない。体も疲れない、疲労とは無縁(うらやましい)

イザベラ・スワン(愛称ベラ)
アリゾナ州フェニックスから、母親の再婚を機に、ワシントン州フォークスの父のもとに引っ越してきた17歳の高校生。
読書が大好きで、運動神経はかなりのどんくささ。性格は内気で、人付き合いが苦手。同級生ともうまく付き合えず。
でも、結構強情で強気。
最終的には、エドワードと結婚して、子供を産み、吸血鬼に転生する。
エドワードに対して、特別な血を持ち、吸血鬼全般に対して、おいしい血の持ち主。

エドワード・カレン
17歳の姿をした吸血鬼、本当の年齢は110歳。
17歳の時に、大流行したスペイン風邪にかかり、死にかけていたところをカーライルに咬まれ、吸血鬼に転生。
周りの人間の思考が読めるという特殊能力を持ち、知識も博学で、複数の言語を操れる。
周りの思考が読めるという特殊性のため、人の本心が見えすぎてしまい、人と深くかかわることができず、ずっと孤独に過ごして
いたが、ベラと出会い、本気で愛する。
ベラは、エドワードにとって歌いかけるほどの血を持ち、また、エドワードのマインドリーディング能力を完璧にシャットダウン
した。これにより、ベラの考えは、エドワードにとって予測のつかないものになった。
さまざまな葛藤を経て、ベラと結婚、娘レネズミを授かり、吸血鬼に転生したベラと永遠の幸せを手にする。
(作者のステファニー・メイヤーさんは、エドワードを筋金入りの悲観論者が、最後に幸せを手に入れて楽天的に変化すると
書いてるんですけど、まさにそうかも)

カーライル・カレン
街の病院に勤務する外科医。エドワードたちの養父(表向きは)実は300年以上生きている吸血鬼で、エドワードたちを転生させた
人。とても温和で慈愛に満ちていて、しかも、血の誘惑に負けないすごい人。

アリス・カレン
エドワードの兄弟。未来を予知する力をもつ
ロザリー・ヘイル
エドワードの兄弟。スタイル抜群の金髪美人
ジャスパー・ヘイル
エドワードの兄弟。周りの人の感情をコントロールする力を持つ

ジェイコブ・ブラック
ベラの幼馴染み。というか、親同士が親友。ラプッシュの先住民居住地に暮らすインディアンの少年。
実は、人狼。

ロケットニュース24

【なぜだ】驚安スーパー『ラ・ムー』の『満福のり弁当』(198円)は見た目100点!でも味が想像と違うので注意

岡山県発祥の『LAMU(ラ・ムー)』は中国地方を中心に近畿・四国・中部・九州エリアへ展開する超激安系スーパー。遠くからでも目立つド派手な店構えは、西日本民にとって日常の一部ともいえる景色だ。

先日、久々にラ・ムーを訪れた私は、惣菜コーナーでひときわ目立つ弁当を発見した。その名も『満福のり弁当』(198円)。全体を白い容器に覆われ、外側からは全く中身が見えない仕組みになっている。ラ・ムーらしからぬ強気な姿勢……よほどの自信があるのだろうな?

・ラ・ムーの本気

ちなみに……ラ・ムーはその尋常じゃない価格の安さを実現するため、あらゆる経費を抑えまくっていることで知られる。

そこへきて……ご覧ください、この『満福のり弁当』の過剰包装ぶり! 他の弁当と異なる真っ白な容器に加えて、特注の包装紙と輪ゴムまで付いている! ラ・ムーが『満福のり弁当』に相当な自信を持っていることは明らか。こいつぁ期待できそうだ!

ワ〜オ! すっげぇスタンダードなのり弁.

……って味、薄ーーーーーーっ.

・それもそのはず……

私が知る『のり弁』とは、ご飯の上に “味の染みたおかか” や “海苔の佃煮” などが乗っているもの。しかし……コレ、味付けされていない “ただのカツオ節” だよな……? 海苔も味付け海苔ではなく普通の焼き海苔だ。

もちろん『のり弁』の定義はお店や家庭によって差があるはずなので、必ずしもおかかが乗っている必要はない。ただ私にとって “少量のカツオ節” では味が薄すぎ、とてもじゃないが白米のお供とはならなかった。

……ハッ!? 待てよ。そういえば容器の片隅に醤油が添えられていたけど、ひょっとしてアレは特別な『ご飯がススむ醤油』なのではないか!? さっそくご飯にタラしてみると……

ぐっ……!

普通の醤油っ……!

“実は薄い味付けがされている” という可能性も否定できないものの、私の鈍感な舌では “白米にカツオ節と海苔を乗せただけ” にしか感じられなかったラ・ムーの『満福のり弁当』。ただし平均的なのり弁よりも相当安いことは確かだ。私はふりかけを追加しておいしくいただきました。

ちなみにラ・ムー弁当の中で、私の個人的なイチオシは『岡山名物 とりめし』である。

ってことで、仮にのり弁が口に合わなかったという人も、とりめしを試してみればラ・ムーの実力が分かろうというものだ。……ハッ!? 待てよ。ひょっとするとあの極薄のり弁、岡山では一般的な味付けだったりするのだろうか? 岡山の方、情報求ム!

WebGL入門 ~ three.js④~

強気の定義
ボックスじゃなくて点だよ

three.jsのジオメトリの元になっている THREE.BufferGeometry クラスには、
元々どんな形も定義されていません。
ここに 頂点を追加していきます。

点を描画するときのマテリアルには THREE.PointsMaterial をつかう。
Meshではなく、Pointsの場合はマテリアルのプロパティもちょっと違う。

size はワールド座標の0.25ではなくpxなので size: 10 と指定しても画面内におさまってます。
sizeAttenuation というのは、遠近感を出すかどうか。
falseにすると、奥にあっても手前にあっても同じ大きさで描画される(ピュアWebGLではこれが普通)
遠近感が出せるのは、three.js特有のプロパティ

  1. 頂点座標を定義
  2. 頂点座標を直列に配列似入れておく。 Float32Array 強気の定義 にする。
  3. BufferAttribute インスタンスの形にする。
  4. 名前ラベル(好きにつける)つけて、 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を使う場合
→ オフスクリーンでレンダリングされ、画面にはでなくなる。
→ 「一旦レンダリング」することでできることが広がる感じ。
オフスクリーンレンダリングしたものを板ポリにはったり、エフェクトかけたり・・・
(テクスチャなどにして最終レンダリングで描画する)

関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次
閉じる