negl機能一覧 / Exports
negl機能一覧
Table of contents
Classes
Interfaces
Type Aliases
Variables
Functions
Type Aliases
DefaultUniforms
Ƭ DefaultUniforms: Object
Obクラスで作成したShaderMaterial (opens in a new tab)に設定されるuniformsのデフォルト値です。
Type declaration
| Name | Type | Description |
|---|---|---|
uAlpha | { value: number } | 透明度を渡すためのUniformです。neglが自動的に値が更新されることはありませんので、各自で透明度を変更する際のUniformとして利用してください。 |
uAlpha.value | number | - |
uHover | { value: number } | メッシュにホバーしている時は1、それ以外は0が自動的に設定されます。 使用する場合は data-interactive を付与してください。 |
uHover.value | number | - |
uMouse | { value: Vector2 } | メッシュ上のマウス位置がuv座標で自動的に設定されます。 使用する場合は data-interactive を付与してください。 |
uMouse.value | Vector2 | - |
uProgress | { value: number } | アニメーション用のUniformです。neglが自動的に値が更新されることはありませんので、自身でアニメーションを定義する際のUniformとして利用してください。一般的には0 ~ 1の範囲でアニメーションの進捗を表します。 |
uProgress.value | number | - |
uResolution | { value: Vector4 } | 画像とDOM要素のアスペクト比から算出した値を保持します。 |
uResolution.value | Vector4 | - |
uTick | { value: number } | requestAnimationFrame のループ毎にカウントアップされた整数値が自動的に設定されます。 |
uTick.value | number | - |
HookOptions
Ƭ HookOptions: Object
フックオプション Hook.on の第三引数のオプションです。
Type declaration
| Name | Type | Description |
|---|---|---|
once? | boolean | true の時はフックが一度実行されるとそのフックは解除されます。 |
priority? | number | フックを実行する優先度 同じフックタイプに複数のフックが登録されている場合は大きな数値のフックから実行されていきます。 |
type? | string | トランジションタイプ トランジションタイプに一致するトランジションが実行されます。 詳細は トランジション をご覧ください。 |
ObConstructorArgs
Ƭ ObConstructorArgs: Object
Obクラスのコンストラクタの引数の型です。
Type declaration
| Name | Type |
|---|---|
el | HTMLElement |
texes | Texes |
type | string |
ObOrSelector
Ƭ ObOrSelector: Ob | Element | string
Obオブジェクト、HTML要素、またはセレクタ文字列
ProgressAction
Ƭ ProgressAction: (progress: number, total: number) => void
Type declaration
▸ (progress, total): void
ローディングの進捗を受け取るコールバック関数です。ローディング時に画像などの読み込み状況に応じてアニメーションを付けたい場合に使用することができます。
import { loader } from "negl";
// or
const { start } = setup();
const negl = await start((progress, total) => {
console.log(`${progress}枚目の読み込みが完了。読み込み対象は[${total}]枚。`);
});
// > 1枚目の読み込みが完了。読み込み対象は3枚。
// > 2枚目の読み込みが完了。読み込み対象は3枚。
// > 3枚目の読み込みが完了。読み込み対象は3枚。Parameters
| Name | Type | Description |
|---|---|---|
progress | number | 読み込み完了したアセット(画像、動画)枚数 |
total | number | 読み込み対象のアセット(画像、動画)枚数 |
Returns
void
ScrollDelta
Ƭ ScrollDelta: Object
スクロール変化量保持オブジェクト
Type declaration
| Name | Type | Description |
|---|---|---|
x | number | 画面横方向のスクロール変化量(現状、非対応です。* 2023/9/29) |
y | number | 画面縦方向のスクロール変化量 |
Texes
Ƭ Texes: Map<string, Texture | undefined>
テクスチャマップ
Variables
config
• Const config: Config
ライブラリ全体の設定を保持します。 設定の上書きは setup 関数の実行時に行うことができます。
import { setup } from "negl";
function init() {
const myConf = { world: { clearColor: "#ff0000" }} // 背景色を赤色に設定
const { start } = await setup(myConf);
const negl = await start();
negl.renderStart();
// 背景が赤色で表示される。
}
init();gui
• gui: Gui
lil-gui (opens in a new tab)の制御を行うGuiクラスのオブジェクトです。
パラメータを変更するGUIの追加を行いたい場合に使用します。
画面の右上に lilGUI の UI を表示するためには、config.debug に true を設定し、config.addon.lilGUI に lilGUI のクラスを設定します。
import lilGUI from "lil-gui";
const { start } = setup({
addon: { lilGUI },
debug: true
});hook
• Const hook: Hook
特定のイベントに対する処理の登録、削除を制御するHookクラスのオブジェクトです。 イベントが発生した際に登録したコールバック関数が実行されます。
取得方法
import { hook } from "negl";
// or
window.negl.hook詳細はonを参照してください。
loader
• Const loader: Loader
アセット(画像、動画)の読み込み管理を行うLoaderオブジェクトです。
新しく画像や動画をテクスチャとして読み込むことができます。
meshUI
• meshUI: MeshUI
メッシュに対するマウスのユーザーインターフェイス(UI)を制御するMeshUIクラスのオブジェクトです。
マウスのクリックやホバーの状態を受け取りたいメッシュを監視対象として追加、削除したり、メッシュに対するクリックイベントの伝播の停止やデフォルト制御の停止などを行うことができます。
[注意] メッシュへのインタラクション制御は hook にコールバック関数を登録することで実装できます。その為、このオブジェクト自体を使用する機会は極めて稀です。
取得方法
import { meshUI } from "negl";
// or
window.negl.meshUI監視対象に追加したメッシュにマウスが作用すると以下の処理が実行されます。
- 以下のフックの発火 MOUSE_MESH_ENTER、MOUSE_MESH_LEAVE、MOUSE_MESH_CLICK
注意
data-interactiveを付与したものは自動的にUIの監視対象になります。詳細はMeshUIを確認してください。
<!-- 以下のHTMLに紐づくエフェクトは自動的に監視対象 -->
<div data-interactive data-webgl="some-effect"></div>mouse
• mouse: Mouse
マウスの制御を行う Mouse クラスのオブジェクトです。
neglではマウスの位置情報を内部で保持しています。これはマウスに追従するアニメーションや、メッシュへのインタラクション のマウス座標、もしくはシェーダに渡る uMouse、uHover の座標に用いられます。
negl
• negl: Negl
negl ライブラリのオブジェクトです。
scroller
• scroller: Scroller
スクロールの制御を行う Scroller クラスのオブジェクトです。
transition
• transition: Transition
ページ遷移制御を行うTransitionクラスのオブジェクトです。
neglでは config.transition.spaMode を true にすることで SPA としてアプリを動かすことができます。SPAモードにした場合はリンククリック時やメッシュクリック時の画面ロードがなくなります。
utils
• Const utils: Utils
negl 内部で使用する関数を保持するUtils クラスのオブジェクトです。
viewport
• viewport: Viewport
画面サイズとカメラの値を管理する Viewport クラスのオブジェクトです。
neglではマウスの位置情報を内部で保持しています。これはマウスに追従するアニメーションや、メッシュへのインタラクションのマウス座標、もしくはシェーダに渡るuMouse、uHoverの座標に用いられます。
world
• world: World
Worldクラスのオブジェクト
シーンの初期化、カメラの配置、メッシュ(Obクラス)の管理、レンダリングなどの3D空間の制御とメッシュの制御を行います。 プロパティやメソッドの詳細はWorldクラスを参照してください。
取得方法
import { world } from "negl";
// or
window.negl.worldFunctions
setup
▸ setup(options?): Object
negl ライブラリの設定を行います。negl ライブラリを使用する際に一番最初に呼ぶ関数です。
Parameters
| Name | Type | Description |
|---|---|---|
options | Partial<Config> | config |
Returns
Object
start メソッドを含むオブジェクトを返却します。start メソッドを実行するとneglの初期化処理が実行されます。また、startの引数に渡したコールバック関数(ProgressAction)では画像の読み込み進捗を受け取ることができます。
| Name | Type |
|---|---|
hook | Hook |
start | (progressAction: ProgressAction) => Promise<undefined | Negl> |
start
▸ start(progressAction): Promise<undefined | Negl>
neglライブラリの初期化を行います。この関数が実行された後にneglの部品(world, scroller, mouseなど)が使用可能な状態になります。
Parameters
| Name | Type | Description |
|---|---|---|
progressAction | ProgressAction | ProgressAction |
Returns
Promise<undefined | Negl>