メインコンテンツまでスキップ

「tutorial」タグのついた96記事

全てのタグを見る

360度見回しカメラ

マウスとタッチでカメラを回転させ、パノラマや一人称風に Scene を見回します。

3Dガウシアンスプラット彫像

展示切り替えの間にカスタムシェーダーとポストエフェクトを挟み、Gaussian splat の彫像ギャラリーを提示します。

3DワールドをUIにレンダリング

専用カメラで 3D プレビューをレンダリングし、インベントリアイコンやキャラクター選択パネルなどの UI 要素に表示します。

CCD付き物理

Rigidbody で連続コリジョン検出を有効にし、高速な弾がステップ間で薄いコライダーをすり抜けるのを防ぎます。

Draco圧縮GLBの読み込み

適切なパイプラインで Draco 圧縮の GLB モデルを PlayCanvas で読み込み、メッシュを小さく保ちつつレンダリングを壊しません。

Flappy Bird

パイプとスコア付きのタップ飛行を再現し、コンパクトな PlayCanvas のゲームプレイサンプルです。

GLSLでスプライトを歪める

カスタムGLSLシェーダーでスプライトのUVを歪め、毎フレームメッシュジオメトリを作り直さずに波打ちや膨らみの効果を作ります。

glTF GLBの読み込み

glTF の GLB ファイルをランタイムでバイナリ Asset として読み込み、得られたモデルインスタンスを PlayCanvas の Scene ヒエラルキーに追加します。

HTML/CSS - ライブ更新

HTML と CSS の Asset をライブリロードで編集し、Scene が動いたまま HUD の変更を即座に反映します。

HTML/CSS UI

標準の HTML と CSS でレイヤー化した HUD とメニューを構築し、WebGL キャンバス上に合成します。

Loading an asset at runtime

単一の Asset をオンデマンドで読み込み、Script が要求するまで未使用リソースを初期プリロード一覧から外します。

Multiple Camera Layers

複数のカメラとレンダリングレイヤーを組み合わせ、1 つの PlayCanvas の Scene でスクリーン空間の UI とワールド空間の要素を混在させます。

Multiple Viewport Rendering

各カメラの矩形を調整してキャンバスを分割し、ピクチャーインピクチャーや分割画面のビューポートにします。

Space Rocks!

Asteroids 風のシューターテンプレートをフォークし、マウス照準、射撃、岩のウェーブでアーケードゲームの流れを学びます。

Tutorial: Layout Groups

Layout Group と子のレイアウトルールでボタンとパネルを配置し、レスポンシブな PlayCanvas の UI フローを構築します。

Tutorial: Normal Mapped Text

動的なテキスト用にノーマルマップとパララックスマップを生成し、文字が光を受けて浮き彫りのように見えるようにします。

Tutorial: Plasma Shader Chunk

Shadertoy風のプラズマ効果をマテリアルのシェーダーチャンクに移植し、アニメーションするGLSLがエンジンのライティングで表面色を駆動するようにします。

Tutorial: Shop User Interface

layout groups、Button、スプライト、アトラスでショップ画面を組み立て、アイテム一覧と購入操作をすっきり表示します。

Using events with scripts

Entityやアプリケーションにカスタムイベントを発火・購読してスクリプトを疎結合にし、モジュール化したゲームプレイのメッセージングにします。

Vehicle Physics

Ammoのレイキャストホイール、サスペンション、ステアリングで車輪付き車両を動かし、デスクトップ、モバイル、WebXRで動作させます。

VHS/CRTポストエフェクト

フルスクリーンパスでスキャンライン、ロール、色にじみを重ね、ノイズの多いVHSや湾曲したCRTモニターの見え方を再現します。

WebXR 360 Image

WebXRでVR内の等角長方形360度写真を映し、没入感のある球面の背景を見回せます。

WebXR 360 Video

WebXRセッションで全方向ビデオを再生し、ヘッドセット利用者がクリップを周囲に流しながら自由に向きを変えられます。

WebXR AR Raycasting Shapes

ARセッション中にPlayCanvasのメッシュにレイキャストし、パススルーカメラ表示と並んで仮想シェイプのタップが効くようにします。

WebXR AR: DOM Overlay

WebXR ARとDOM overlay APIを組み合わせ、カスタムWebGLテキストなしでスタイル付きHTML/CSSのUIをカメラ映像の上に置きます。

WebXR AR: Hit Test

WebXR hit-test APIで現実世界のジオメトリにレイを飛ばし、検出された床やテーブルに仮想オブジェクトをアンカーします。

WebXR Controller/Hand Models

WebXR input profileのメッシュをコントローラーと手用にロードし、トラッキングされたハードウェアがVRで各ベンダーのシルエットに合います。

WebXR Hands

WebXRハンドトラッキングのジョイント姿勢を読み取り、シーンで指の動きを反映し、コントローラーなしで自然な直接操作を行います。

WebXR Hello World

WebXR対応のカメラリグと拡張可能なセッションライフサイクルフックを備えた最小シーンから没入型VRに入ります。

WebXR Realistic Hands

トラッキングされた手のジョイントに詳細なメッシュとマテリアルを適用し、没入型VRセッションで関節の指がはっきり見えます。

WebXR Tracked Controllers

PlayCanvasのWebXRテンプレート内で6DoFコントローラーの姿勢、ボタン、触覚フィードバックのスターターコードを使ってVRで追従します。

WebXR VR Lab

メンテナンスされたVRサンドボックスで、XRデバイス横断のスケーラブルなインタラクションパターンとレスポンシブなレイアウトを体験します。

WebXR: AR Image Tracking

ARで印刷された参照画像をトラッキングし、WebXR image-tracking extensionで3Dコンテンツをその姿勢に合わせます。

WebXR: Plane Detection

WebXR平面検出の更新を購読し、床やテーブルの推定を可視化して実際の面にコンテンツをアンカーします。

アプリケーションの一時停止/再生

Application の timeScale を切り替えてゲームプレイを一時停止・再開し、物理、アニメーション、時間ベースのロジックをまとめて止めます。

オービットカメラ

マウスとタッチでオービットカメラを実装し、スクロールホイールのズームと焦点の Entity 周りのピンチズームに対応します。

オレンジルーム

動的反射とベイクした HDR ライトマップを備えた室内 archviz サンプルを探り、リアルなライティングとマテリアルを学びます。

カーブを使ったサウンド音量制御

サンプルしたカーブデータでサウンドスロットの音量を駆動し、線形なコード調整ではなくオーサリングしたランプに音量が従います。

カメラ・モデルマスキング

Camera とライトのマスクグループで、レイヤー Scene で特定のライトとビューが選んだモデルのみに影響するようにします。

カメラをターゲットにパンする

カメラをワールド空間のターゲットへ滑らかに移動・照準し、クリックやイベントで Scene 内の重要な位置をフレームに収めます。

ショックウェーブ

ポストエフェクトのシェーダーでフレームバッファに放射状のショックウェーブ歪みを加え、衝撃やシネマティックなカメラの脈動に使います。

シンプルな水面

スクロールする法線とフレネル色付けしたマテリアルで様式化した水面を近似し、シンプルな反射面を表現します。

スタティックバッチング

バッチングで静的メッシュをより少ないドローコールにまとめ、動かないジオメトリを効率的に保ちつつ CPU 負荷を下げます。

スムーズなカメラ移動

ベクトルの lerp と quaternion の slerp で毎フレームカメラの位置と向きを滑らかに補間し、シネマティックな動きにします。

タイマー

遅延後にコールバックを発火するワンショットタイマーをエンジンに拡張し、time scale によるグローバル一時停止を尊重します。

ダブルクリックの検出

タイミングロジックでダブルクリックを検出し、デスクトップブラウザでカメラ移動やアクションのトリガーに使います。

ダブルタップの検出

タッチスクリーンでシングルタップと区別してダブルタップを認識し、モバイル向け操作にします。

パスに沿ったカメラ移動

ウェイポイントを通るスプライン上でカメラをアニメーションし、フライスルーやガイド付きシネマティック移動に使います。

ビネット・収差

ポストプロセスパスでビネットで画像端を暗くし、色チャンネルを分けることで微妙な色収差を加えます。

ビルボード

木やフレア、スプライトなど、常にカメラ正面を向く平面を維持します。

ポイント&クリック移動

スクリーンからワールドへの raycast でクリックした地面の位置へキャラクターやオブジェクトを移動し、シンプルなナビゲーションを実現します。

マウスでオブジェクトを回転

スクリーン空間のマウスドラッグの差分を毎フレーム回転の quaternion または euler 角に対応付け、オブジェクトをオービットまたはスピンさせます。

マウスのロック

クリックで pointer lock を要求し、マウスを取得してファーストパーソン視点にし、移動でカメラを動かす間はカーソルを非表示にします。

マルチタッチ入力

すべてのアクティブなタッチ点を追跡し、画面上の指の間に線を描いてマルチタッチジェスチャを可視化します。

モバイルUIセーフエリア

ノッチや角丸デバイスのセーフエリア内にスクリーン UI を配置し、コントロールをシステムバーやハードウェアの切り欠きから避けます。

ローディングサークルUI

マテリアルとアニメーションで放射状のローディングスピナー UI を実装し、コンテンツ受信中のフィードバックを明確にします。

三人称コントローラー

チェイスカメラで操作可能なキャラクターを追従し、入力と物理を扱う基本的なサードパーソン移動のリグを作ります。

三目並べ

手番処理、勝敗判定、UI フィードバック付きのプレイ可能な 3D の三目並べ盤を、小さなサンプルゲームで実装します。

右から左に書く言語のサポート

Element Component のテキストとレイアウト用の Script を、アラビア語などの右から左へ書く言語向けに正しい配置の流れで調整します。

基本的なタッチ入力

タッチイベントで画面上のオブジェクトをドラッグ移動する、モバイル向け最小サンプルです。

実行時のQRコード生成

小さなライブラリでブラウザ上でランタイムに QR コードを生成し、UI やテクスチャに表示します。

実行時のテクスチャ変更

Script からマテリアルのテクスチャマップを差し替え、メッシュ Asset を複製せずにその場で再テクスチャします。

実行時のマテリアル切り替え

コードで Render Component のマテリアル Asset を差し替え、メッシュの Entity を複製せずに色、シェーダー、スキンを変えます。

平面ミラー反射

反射用のシェーダーパスで Scene を平面に投影し、鏡や水面の平面反射をレンダリングします。

情報ホットスポット

3D ビューにクリック可能なホットスポットを配置し、raycast とスクリーンオーバーレイで情報パネルを開きます。

惑星地球

Earth のテクスチャ、マテリアル、シェーダーで球体をシェーディングし、リアルタイムで様式化した惑星体を表現します。

炎の火の玉

ポインターに追従するパーティクルの火球で、簡単な魔法の投射物と軌跡エフェクトを作ります。

解像度スケーリング

内部の 3D 解像度をパフォーマンス向けにスケールし、ワールドとオーバーレイのレンダリングパスを分けてシャープなスクリーン空間 UI を保ちます。

長押しの検出

タッチやマウスで押下時間を計測し、十分長く押したあとにアクションを発火します。

高度なローディング画面

プロジェクトの画像 Asset でローディング画面をカスタマイズし、アプリ初期化中にブランディングやスプラッシュを表示します。