Home Manual Reference Source

Variable

Static Public Summary
public

S3: {"System": *, "GLSystem": *, "Math": *, "Angles": *, "Vector": *, "Matrix": *, "Plane": *, "SYSTEM_MODE": *, "DEPTH_MODE": *, "DIMENSION_MODE": *, "VECTOR_MODE": *, "FRONT_FACE": *, "CULL_MODE": *, "LIGHT_MODE": *, "MeshLoader": *, "CameraController": *}

S3 3DCGエンジンのメイン名前空間オブジェクト

public

S3Math: {"EPSILON": number, "clamp": *, "step": *, "mix": *, "smoothstep": *, "equals": *, "mod": *, "sign": *, "fract": *, "rsqrt": *, "radius": *, "degrees": *}

数学的な便利関数を提供するユーティリティ 各種演算(クランプ、ステップ関数、補間、等価判定、三角関数変換等)をまとめた静的オブジェクト

public

S3MeshLoader: {"inputData": *, "outputData": *}

3DCGメッシュデータの入出力を管理するローダー

public

S3MeshLoaderJSON: {"name": string, "input": *, "output": *}

JSON形式による3DCGメッシュデータの入出力ユーティリティ

public

S3MeshLoaderMQO: {"name": string, "input": *, "output": *}

Metasequoia(MQO)形式による3DCGメッシュデータの入出力ユーティリティ

public

S3MeshLoaderOBJ: {"name": string, "input": *}

Wavefront OBJ形式による3DCGメッシュデータの入出力ユーティリティ

Static Public

public S3: {"System": *, "GLSystem": *, "Math": *, "Angles": *, "Vector": *, "Matrix": *, "Plane": *, "SYSTEM_MODE": *, "DEPTH_MODE": *, "DIMENSION_MODE": *, "VECTOR_MODE": *, "FRONT_FACE": *, "CULL_MODE": *, "LIGHT_MODE": *, "MeshLoader": *, "CameraController": *} source

import S3 from 's3js/src/S3.js'

S3 3DCGエンジンのメイン名前空間オブジェクト

主要クラスやユーティリティ(System, Math, Vector, Matrix, Plane, Loader, Controllerなど)を ひとつの名前空間に集約してエクスポートします。 各種定数・列挙体やローダ・ツールへのショートカットも含まれます。

Properties:

NameTypeAttributeDescription
System typeof S3System

3DCGシステム管理クラス

GLSystem typeof S3GLSystem

WebGL用拡張システム

Math typeof S3Math

数学ユーティリティ

Angles typeof S3Angles

オイラー角クラス

Vector typeof S3Vector

ベクトルクラス

Matrix typeof S3Matrix

行列クラス

Plane typeof S3Plane

平面クラス

SYSTEM_MODE Object

描画モード定数

DEPTH_MODE Object

深度バッファモード定数

DIMENSION_MODE Object

座標系モード定数

VECTOR_MODE Object

ベクトルモード定数

FRONT_FACE Object

面の前面判定モード定数

CULL_MODE Object

カリングモード定数

LIGHT_MODE Object

ライトモード定数

MeshLoader typeof S3MeshLoader

メッシュデータローダ

CameraController typeof CameraController

カメラコントローラー

Example:

import S3 from "S3.js";
const sys = new S3.System();
const mesh = sys.createMesh();
// もしくは
const glsys = new S3.GLSystem();

public S3Math: {"EPSILON": number, "clamp": *, "step": *, "mix": *, "smoothstep": *, "equals": *, "mod": *, "sign": *, "fract": *, "rsqrt": *, "radius": *, "degrees": *} source

import S3Math from 's3js/src/math/S3Math.js'

数学的な便利関数を提供するユーティリティ 各種演算(クランプ、ステップ関数、補間、等価判定、三角関数変換等)をまとめた静的オブジェクト

public S3MeshLoader: {"inputData": *, "outputData": *} source

import S3MeshLoader from 's3js/src/loader/S3MeshLoader.js'

3DCGメッシュデータの入出力を管理するローダー

MQO/OBJ/JSONなど、各種3DフォーマットからS3Meshインスタンスへの変換(インポート)、 およびS3Meshから各形式へのエクスポート(出力)をまとめて扱うユーティリティオブジェクトです。

利用例:

  • ファイルの拡張子や種類ごとにパースしてS3Meshを構築
  • S3Meshを指定形式でテキスト化
  • 各形式への入出力用コールバックを内部で管理

public S3MeshLoaderJSON: {"name": string, "input": *, "output": *} source

import S3MeshLoaderJSON from 's3js/src/loader/S3MeshLoaderJSON.js'

JSON形式による3DCGメッシュデータの入出力ユーティリティ

  • 頂点配列(Vertices)や面インデックス配列(Indexes)を持つJSONデータを S3Meshインスタンスへ変換(インポート)、またはS3MeshからJSON形式で出力(エクスポート)します。
  • 三角形・四角形など複数頂点数の面、マテリアル名ごとの管理に対応。
  • テキスト文字列またはオブジェクト形式の両方をサポート。
  • メッシュローダ本体(S3MeshLoader)経由でも利用されます。

Properties:

NameTypeAttributeDescription
name string

メッシュデータの入出力形式名("JSON")

input function(S3System, S3Mesh, string | Object):boolean

JSONデータからS3Meshへ変換(インポート)

output function(prm1: S3Mesh): string

S3MeshからJSON形式へ変換(エクスポート)

Example:

// インポート
S3MeshLoaderJSON.input(sys, mesh, '{"Vertices":[[0,0,0]],"Indexes":{"mat1":[[0,0,0]]}}');
// エクスポート
const json = S3MeshLoaderJSON.output(mesh);

public S3MeshLoaderMQO: {"name": string, "input": *, "output": *} source

import S3MeshLoaderMQO from 's3js/src/loader/S3MeshLoaderMQO.js'

Metasequoia(MQO)形式による3DCGメッシュデータの入出力ユーティリティ

  • S3MeshLoader.TYPE.MQO として S3MeshLoader から利用されます。
  • メタセコイア(*.mqo)フォーマットのテキストをS3Meshに変換(インポート)、またはS3Meshからテキスト出力(エクスポート)します。
  • 標準的なMQOの構文に加え、一部簡易パース(手動修正を要する場合もあり)。

※ テクスチャやUV、マテリアルの色・強度なども一部対応しています。

public S3MeshLoaderOBJ: {"name": string, "input": *} source

import S3MeshLoaderOBJ from 's3js/src/loader/S3MeshLoaderOBJ.js'

Wavefront OBJ形式による3DCGメッシュデータの入出力ユーティリティ

  • S3MeshLoader.TYPE.OBJ として S3MeshLoader から利用されます。
  • OBJ形式のテキストをS3Meshに変換(インポート)、またはS3Meshからテキスト出力(エクスポート)する機能を提供します。
  • 頂点(v)、テクスチャ座標(vt)、法線(vn)、面(f)などの基本要素をサポート。
  • 複数マテリアルやUV座標にも対応しています。