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 -- アニメーションパラメータ
}
パラメータ |
型 |
説明 |
デフォルト値 |
最小値 |
最大値 |
---|---|---|---|---|---|
|
生成時の位置。文字列を一つのオブジェクトとして扱った際の中心座標を指定する |
モニターカメラの中心点から前方5m、上方2m |
(X:-10000, Y:-100, Z:-10000) |
(X:10000, Y:10000, Z:10000) |
|
|
生成時の回転方向。文字列を一つのオブジェクトとして扱い、全文字が同じ向きを保つ |
モニターカメラの中心点を向く |
- |
- |
|
|
|
スケール |
0.5 |
0.2 |
10 |
|
|
厚さ |
0.25 |
0.01 |
10 |
|
|
自動削除までの秒数 |
12 |
1 |
100000 |
|
フォントの種類 |
ランダム |
- |
- |
|
|
table |
前面・背面のマテリアル設定(詳細は下記参照) |
- |
- |
- |
|
table |
側面のマテリアル設定(詳細は下記参照) |
- |
- |
- |
|
table |
物理挙動の設定(詳細は下記参照) |
- |
- |
- |
|
table |
アニメーション設定(詳細は下記参照) |
- |
- |
- |
マテリアルパラメータ#
mainMaterial(前面・背面)#
パラメータ |
型 |
説明 |
デフォルト値 |
最小値 |
最大値 |
---|---|---|---|---|---|
|
フォントの色 |
9色からランダム※ |
(R:0, G:0, B:0, A:1) |
(R:1, G:1, B:1, A:1) |
|
|
自己発光色。値が大きいほど強く発光 |
|
(R:0, G:0, B:0, A:1) |
(R:10000, G:10000, B:10000, A:1) |
|
|
|
金属性。0は非金属、1は完全な金属を表現 |
0.3 |
0 |
1 |
|
|
面の滑らかさ。0は粗い表面、1は滑らかな表面を表現 |
0.3 |
0 |
1 |
※ ランダムカラー: 赤、ピンク、オレンジ、黄、緑、濃い緑、シアン、青紫、薄橙
sideMaterial(側面)#
パラメータ |
型 |
説明 |
デフォルト値 |
最小値 |
最大値 |
---|---|---|---|---|---|
|
フォントの色 |
|
(R:0, G:0, B:0, A:1) |
(R:1, G:1, B:1, A:1) |
|
|
自己発光色。値が大きいほど強く発光 |
|
(R:0, G:0, B:0, A:1) |
(R:10000, G:10000, B:10000, A:1) |
|
|
|
金属性。0は非金属、1は完全な金属を表現 |
0 |
0 |
1 |
|
|
面の滑らかさ。0は粗い表面、1は滑らかな表面を表現 |
0 |
0 |
1 |
物理パラメータ#
パラメータ |
型 |
説明 |
デフォルト値 |
最小値 |
最大値 |
---|---|---|---|---|---|
|
生成時の移動速度 |
|
(X:-100, Y:-100, Z:-100) |
(X:100, Y:100, Z:100) |
|
|
生成時の回転速度 |
|
(X:-100, Y:-100, Z:-100) |
(X:100, Y:100, Z:100) |
|
|
物体にかかる継続的な加速度 |
|
(X:-100, Y:-100, Z:-100) |
(X:100, Y:100, Z:100) |
|
|
|
立体コメントの質量 |
0.1 |
0.001 |
1000 |
|
|
空気抵抗係数。0で抵抗なし、大きいほど速度が早く減衰 |
9 |
0 |
1000 |
|
|
回転に対する空気抵抗。0で永久回転、大きいほど回転が早く止まる |
1 |
0 |
1000 |
アニメーションパラメータ#
パラメータ |
型 |
説明 |
デフォルト値 |
---|---|---|---|
|
|
生成アニメーションを表示するか |
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)