CreateSolidComment#

ExportSolidComment.CreateSolidComment(comment, options)#

設定したオプションに基づいて、ルーム内に立体コメントを生成します。

Parameters:
  • comment (string) -- 生成する文字列(最大30文字)

  • options (table) -- 立体コメントの生成オプション(省略可能)

概要#

ルーム内に立体コメントを生成するためのAPIです。 指定したテキストを1文字ずつ立体的なオブジェクトとして生成し、物理挙動を設定できます。

制限事項#

  • ルーム専用: このAPIはルームでのみ動作します

  • 生成上限: 一度のAPI呼び出しで最大30文字まで生成可能です。31文字以上の文字列が指定された場合、最初の30文字のみが生成されます

  • 同時存在上限: ルーム内に同時に存在できる立体コメントは150文字までとなります。150文字を超えると、ピン留めされていない古い文字から順に削除されます

  • 文字変換:

    • サポートされていない文字は「?」に置き換わります

    • 絵文字の使用は推奨しません:基本的に非対応であり、フォントによって予期しない表示になります

    • 制御文字(\r\n\t)は半角スペースに置き換わります

  • カラー:

    • マテリアルパラメータで設定できるカラーでは、Alpha値は使用されません。1.0(不透明)に固定されます

オプションパラメータ#

optionsテーブルは一部または全てを省略可能です。省略した場合はデフォルト値が適用されます。

基本パラメータ#

options = {
    position = Vector3,
    rotation = Quaternion,
    scale = number,
    thickness = number,
    autoDeleteSeconds = number,
    fontType = ExportSolidCommentFontType,
    mainMaterial = table,    -- マテリアルパラメータ(前面・背面)
    sideMaterial = table,    -- マテリアルパラメータ(側面)
    physics = table,         -- 物理パラメータ
    animations = table       -- アニメーションパラメータ
}

パラメータ

説明

デフォルト値

最小値

最大値

position

Vector3

生成時の位置。文字列を一つのオブジェクトとして扱った際の中心座標を指定する

モニターカメラの中心点から前方5m、上方2m

(X:-10000, Y:-100, Z:-10000)

(X:10000, Y:10000, Z:10000)

rotation

Quaternion

生成時の回転方向。文字列を一つのオブジェクトとして扱い、全文字が同じ向きを保つ

モニターカメラの中心点を向く

-

-

scale

number

スケール

0.5

0.2

10

thickness

number

厚さ

0.25

0.01

10

autoDeleteSeconds

number

自動削除までの秒数

12

1

100000

fontType

ExportSolidCommentFontType

フォントの種類

ランダム

-

-

mainMaterial

table

前面・背面のマテリアル設定(詳細は下記参照)

-

-

-

sideMaterial

table

側面のマテリアル設定(詳細は下記参照)

-

-

-

physics

table

物理挙動の設定(詳細は下記参照)

-

-

-

animations

table

アニメーション設定(詳細は下記参照)

-

-

-

マテリアルパラメータ#

mainMaterial(前面・背面)#

パラメータ

説明

デフォルト値

最小値

最大値

color

Color

フォントの色

9色からランダム※

(R:0, G:0, B:0, A:1)

(R:1, G:1, B:1, A:1)

emissionColor

Color

自己発光色。値が大きいほど強く発光

mainMaterial.color.linear*0.1

(R:0, G:0, B:0, A:1)

(R:10000, G:10000, B:10000, A:1)

metallic

number

金属性。0は非金属、1は完全な金属を表現

0.3

0

1

smoothness

number

面の滑らかさ。0は粗い表面、1は滑らかな表面を表現

0.3

0

1

※ ランダムカラー: 赤、ピンク、オレンジ、黄、緑、濃い緑、シアン、青紫、薄橙

sideMaterial(側面)#

パラメータ

説明

デフォルト値

最小値

最大値

color

Color

フォントの色

mainMaterial.color*0.7

(R:0, G:0, B:0, A:1)

(R:1, G:1, B:1, A:1)

emissionColor

Color

自己発光色。値が大きいほど強く発光

sideMaterial.color.linear*0.1

(R:0, G:0, B:0, A:1)

(R:10000, G:10000, B:10000, A:1)

metallic

number

金属性。0は非金属、1は完全な金属を表現

0

0

1

smoothness

number

面の滑らかさ。0は粗い表面、1は滑らかな表面を表現

0

0

1

物理パラメータ#

パラメータ

説明

デフォルト値

最小値

最大値

initialVelocity

Vector3

生成時の移動速度

Vector3.zero

(X:-100, Y:-100, Z:-100)

(X:100, Y:100, Z:100)

initialAngularVelocity

Vector3

生成時の回転速度

Vector3.zero

(X:-100, Y:-100, Z:-100)

(X:100, Y:100, Z:100)

gravity

Vector3

物体にかかる継続的な加速度

Vector3__new(0, -3, 0)

(X:-100, Y:-100, Z:-100)

(X:100, Y:100, Z:100)

mass

number

立体コメントの質量

0.1

0.001

1000

drag

number

空気抵抗係数。0で抵抗なし、大きいほど速度が早く減衰

9

0

1000

angularDrag

number

回転に対する空気抵抗。0で永久回転、大きいほど回転が早く止まる

1

0

1000

アニメーションパラメータ#

パラメータ

説明

デフォルト値

isSpawnAnimationEnabled

boolean

生成アニメーションを表示するか

true

サンプルコード#

基本的な使用例#

-- シンプルな立体コメント生成(optionsを省略)
vci.vc.room.solidComment.CreateSolidComment("こんにちは")

オプションをすべて指定した使用例#

-- 全てのオプションを明示的に指定
local options = {
    -- 基本パラメータ
    position = Vector3.__new(0, 5, 0),
    rotation = Quaternion.identity,
    scale = 1.0,
    thickness = 0.5,
    autoDeleteSeconds = 30,
    fontType = ExportSolidCommentFontType.Nikumaru,
    
    -- マテリアルパラメータ(前面・背面)
    mainMaterial = {
        color = Color.__new(0, 0.2, 1, 1),
        emissionColor = Color.__new(0, 0.2, 5, 1),
        metallic = 0.5,
        smoothness = 0.8
    },
    
    -- マテリアルパラメータ(側面)
    sideMaterial = {
        color = Color.__new(0, 0, 0.2, 1),
        emissionColor = Color.__new(0, 0, 2, 1),
        metallic = 0.3,
        smoothness = 0.5
    },
    
    -- 物理パラメータ
    physics = {
        initialVelocity = Vector3.__new(0, 5, 0),
        initialAngularVelocity = Vector3.__new(-10, 0, 0),
        gravity = Vector3.__new(0, -3, 0),
        mass = 0.5,
        drag = 2,
        angularDrag = 0.5
    },
    
    -- アニメーションパラメータ
    animations = {
        isSpawnAnimationEnabled = false
    }
}

vci.vc.room.solidComment.CreateSolidComment("VirtualCast", options)

一部省略した使用例#

-- 一部のオプションのみ指定(省略したオプションはデフォルト値を使用)
local options = {
    position = Vector3.__new(-5, 2, 0),
    scale = 2.0,
    mainMaterial = {
        color = Color.__new(0, 1, 0, 1)  -- 緑色を指定
    },
    physics = {
        initialVelocity = Vector3.__new(10, 10, 0),  -- 斜め上に飛ばす
        drag = 0.5  -- 空気抵抗を減らす
    }
}

vci.vc.room.solidComment.CreateSolidComment("バーチャルキャスト", options)