Struct vtubestudio::data::ModelOutlineEvent
source · [−]pub struct ModelOutlineEvent {
pub model_name: String,
pub model_id: String,
pub convex_hull: Vec<Vec2>,
pub convex_hull_center: Vec2,
pub window_size: Vec2,
}
Expand description
An event that is triggered at a constant 15 FPS and sends subscribed plugins the model outline.
Specifically, it sends an approximated convex polygon based on the bounding-box center points of all (visible) ArtMeshes in the model. If no model is loaded, the event isn’t sent.
This event can be configured using ModelOutlineEventConfig
.
Fields
model_name: String
Model name. E.g., "My VTS Model Name"
.
model_id: String
Model ID. E.g., "165131471d8a4e42aae01a9738f255ef"
.
convex_hull: Vec<Vec2>
2D points describing the rough outline of the model.
This list is ordered. The x/y coordinate of each point is its position within the VTube Studio window. X or Y coordinates may be bigger than 1 or smaller than -1 if an outline point is outside of the window boundaries.
The convex_hull
list is guaranteed to have at least 3 entries. There is no
limit to how many entries it can have, but for most normal Live2D models, it
has between 5 and 25 entries. Please also keep in mind that the number of list
entries can (and will most likely) change between events you receive. Do not
implement your plugin expecting the number of outline points to remain
constant.
convex_hull_center: Vec2
The center/average of all the convex_hull
points.
window_size: Vec2
The current VTube Studio window size.
Trait Implementations
sourceimpl Clone for ModelOutlineEvent
impl Clone for ModelOutlineEvent
sourcefn clone(&self) -> ModelOutlineEvent
fn clone(&self) -> ModelOutlineEvent
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more