Skip to content

shapeRenderer

kae.o. edited this page May 15, 2026 · 1 revision

Description

幾何学的な形状や媒介変数(数式)に基づいて,パーティクルを瞬時に描画します.標準的な円や多角形,星型に加え,数式を用いた自由な描画(カスタムシェイプ)が可能です.描画される全ての点は,キャスターの向いている方向(Yaw)を基準とした相対座標として計算され,自動的に回転調整が行われます.

Attributes

Attribute Aliases Description Default
shape s 描画する形状(circle, polygon, star, custom) circle
particle p 使用するパーティクル名 REDSTONE
radius r 図形の半径 2.0
points pt 頂点の数(polygon, star で使用) 5
density d パーティクルの描画密度(間隔) 0.2
rotation rot 図形全体の初期回転角度(度数法) 0
color c REDSTONE 使用時の色(Hex指定) #FFFFFF
expX ex custom 時の X軸(左右)の計算式 r*cos(t)
expY ey custom 時の Y軸(上下)の計算式 0
expZ ez custom 時の Z軸(前後)の計算式 r*sin(t)
tMin tmin custom 時の変数 t の開始値 0
tMax tmax custom 時の変数 t の終了値 2*pi

Calculation Details

描画される各点の座標算出には,以下の計算式が適用されます.

1. 座標の回転(Yaw同期)

計算された相対座標 $(x, y, z)$ は,キャスターの Yaw 角度 $\theta$ に基づき,以下の回転行列を用いて Minecraft の世界座標へと変換されます.これにより,ez は常にキャスターの正面方向,ex は右方向として扱われます.

$$ \begin{cases} x' = x \cdot \cos\theta - z \cdot \sin\theta \\ z' = x \cdot \sin\theta + z \cdot \cos\theta \end{cases} $$

2. 多角形・星型の補間

polygon および star では,各頂点間をベクトル $v$ で結び,density の間隔で点を補間します. $$P(i) = \text{Start} + \frac{\vec{\text{End}} - \vec{\text{Start}}}{|\vec{\text{End}} - \vec{\text{Start}}|} \cdot i$$

3. カスタム数式(exp4j)

custom では $t$ を tMin から tMax まで density 刻みで変化させながら座標を算出します.数式内では以下の変数が利用可能です.

  • t: パラメータ(rotation によるオフセットが自動付与されます)
  • r: 設定された radius の値
  • pi: 円周率 ($\pi$)

Examples

半径 3 の円を描画します.

円形描画サンプル:
  Skills:
  - lShape{s=circle;r=3;c=#0000FF} @selfLocation

∞の形を描画します.

∞サンプル:
  Skills:
  - lShape{
      s=custom; r=4; d=0.05;
      ex="r*cos(t)/(1+sin(t)^2)";
      ez="r*sin(t)*cos(t)/(1+sin(t)^2)";
      p=REDSTONE; c=#00FFFF
    } @selfLocation

Aliases

  • lShape

Clone this wiki locally