Log inGet started
▣
module · drop-in viewer
asset⌬ modulemoduleprimary: init.luau·originates fromworld 15f1acc9-b…

kart_visual

<!-- zero:scaffolded-readme --> <!-- Replace the line below with what this module provides and who consumes it, then delete both comment lines. -->

by◐CarneJon·posted 13d ago
What it does

kart_visual

<!-- zero:scaffolded-readme --> <!-- Replace the line below with what this module provides and who consumes it, then delete both comment lines. -->

TODO: describe this module.

Interface

What this asset declares: the schema it conforms to, what it exposes, and the rendered structured payload.

conforms to

zero/source-extract/v2

game.kart_visual — el aspecto de un kart y de una moto, hecho una vez. Lo usan dos sitios: la escena, para el kart del jugador dentro del PlayerPrototype, y el sistema de CPUs, que tiene que construir once karts iguales en tiempo de ejecución. Tenerlo en un solo sitio es lo que garantiza que un rival se vea exactamente como el jugador. Un vehículo no es una caja de pruebas: su forma sale del plantel. Cada uno trae `bodyScale` (ancho, alto, largo), `wheelRadius` y `wheelWidth`, así que un kart pesado se ve largo y ancho, una moto ligera estrecha y corta, y las ruedas de un pesado son más gordas. El peso se VE. Nombres que el componente Kart busca por nombre (y por eso no se pueden cambiar sin cambiarlo a él): `chassis`, `nose`, `driver` (el pivote del piloto), `wheel_*` (las delanteras giran), `tyre_*` (la rueda que rueda), `steering` (el volante), y `spark_*` / `bullet_*`, que los crea él mismo. Todo lo demás es decorado, y para esconder, encoger o hacer brillar el kart entero no hace falta conocerlo: son las piezas que cuelgan de la raíz. La raíz NO lleva escala: las ruedas cuelgan de ella y heredarían el estirón. Cada pieza lleva la suya.

ModelAsset

shade(c: ?, k: ?) → void

argtypedescription
c?
k?

buildFactor(character: ?) → void

Cuánto mide el piloto según lo que pese: un ligero es un piloto pequeño y un pesado uno corpulento. Es la mitad de lo que hace que el plantel se lea.

argtypedescription
character?

part(parent: ?, name: ?, mesh: ?, tint: ?, pos: ?, scale: ?, rot: ?) → void

Una pieza: una entidad con su malla, su material y su color.

argtypedescription
parent?
name?
mesh?
tint?
pos?
scale?
rot?

wheel(parent: ?, name: ?, x: ?, y: ?, z: ?, radius: ?, width: ?) → void

Una rueda, en tres niveles, para que cada eje haga una sola cosa y ninguna rotación se componga con otra: wheel_* el eje de dirección (solo las delanteras giran) axle_* tumba el cilindro para que su eje sea el del kart (fijo) tyre_* gira sobre su propio eje: la rueda que rueda La llanta y la marca cuelgan del neumático, así que giran con él — que es lo único que hace que un giro se VEA.

argtypedescription
parent?
name?
x?
y?
z?
radius?
width?

modelOf(characterId: ?) → void

El piloto El modelo generado de un personaje, si lo tiene. Son las láminas de referencia convertidas en malla (viven en `game/art/models/<id>.bundle`, con su malla, su material y sus texturas). La identidad va escrita UNA A UNA a propósito: una identidad calculada no se puede fijar, y el contenido que la usa no se puede publicar.

argtypedescription
characterId?

standIn(parent: ?, color: ?, factor: ?) → void

La figura de recambio: lo que se ve mientras un personaje no tiene modelo. Son piezas, así que la postura se pone a mano.

argtypedescription
parent?
color?
factor?

pilot(parent: ?, character: ?, color: ?, factor: ?) → void

El piloto de un vehículo: su modelo si lo tiene, y si no la figura. Los dos cuelgan de `driver`, que es el pivote que el componente Kart inclina al girar la curva — y por eso valen igual el modelo que la figura.

argtypedescription
parent?
character?
color?
factor?

buildKart(parent: ?, v: ?, character: ?, livery: ?, driverColor: ?, factor: ?) → void

El kart

argtypedescription
parent?
v?
character?
livery?
driverColor?
factor?

buildBike(parent: ?, v: ?, character: ?, livery: ?, driverColor: ?, factor: ?) → void

La moto

argtypedescription
parent?
v?
character?
livery?
driverColor?
factor?

build(parent: ?, vehicle: ?, character: ?) → void

La puerta por la que entra todo el mundo Construye el vehículo entero colgando de `parent`. `vehicle` y `character` aceptan la tabla del plantel o su id, y sin nada caen al conjunto por defecto — así un id desconocido deja un vehículo con el que se puede conducir en vez de uno sin forma.

argtypedescription
parent?
vehicle?
character?

clear(parent: ?) → void

--!desc Quita las piezas que este módulo pone colgando de `parent`, para poder --!desc volver a construirlas con otro vehículo: elegir una moto en el menú --!desc tiene que verse. Se van las del vehículo y las chispas; la bala es del --!desc componente y se queda.

argtypedescription
parent?

liveryFor(vehicleId: ?) → void

El color del kart de un vehículo del plantel, para que cada vehículo tenga su librea y no todos los karts sean iguales.

argtypedescription
vehicleId?

Sub-parts

Everything contained inside this part. Assets are composite children (clickable cards). Files are leaf payloads. Expand any row to view its source.

Showing up to 3 levels deep. Open a part to see what it holds further down.

7+items
▣
module · born here
❒asset
# game.roster El plantel de **Mario Kart OrigoZero Ultimate**: 16 personajes y 6 vehículos, con las cuatro estadísticas que `game.core` convierte en conducción. ```lua local Roster = require("game.roster") local tune = Roster.tuning("bowser", "boulder_kart", "150cc") -- tune.topSpeed, tune.accel, tune.turnRate, tune.chargeSpeed, tune.boostTimeMul ``` ## Personajes En el orden que pide la especificación — dentro de cada peso, de menor a mayor. **Ligeros** (más aceleración y manejo, menos velocidad): Bat · Baby Rosalina · Baby Daisy · Cheep Cheep · Goomba · Shy Guy · Koopa **Medianos** (un balance de todo): Toadette · Toad · Luigi · Mario · Waluigi · Moo Moo **Pesados** (más velocidad y peso, menos aceleración y manejo): Wario · Donkey Kong · Bowser Dos parejas comparten peso exactamente, como se pidió: **Toadette con Toad**, y **Baby Rosalina con Baby Daisy**. La clase se lee del peso (`Core.weightClass`), y es la que da las bonificaciones: un ligero carga derrape y salto un 10 % más rápido, un mediano un 5 % más y sus miniturbos duran un 5 % más, y un pesado sus miniturbos duran un 10 % más. ## Vehículos Un kart y una moto de cada peso. Dentro de cada peso la moto pesa menos y gira algo mejor; el kart aguanta más. | Vehículo | Clase | Kart o moto | |---|---|---| | Pip Kart | ligero | kart | | Feather Bike | ligero | moto | | Comet Kart | mediano | kart | | Bolt Bike | mediano | moto | | Boulder Kart | pesado | kart | | Ironbike | pesado | moto | Cada vehículo trae además `bodyScale`, `wheelRadius` y `wheelWidth`, que es lo que hace que el peso **se vea**: una moto pesada es larga y ancha de rueda, y una ligera es estrecha y corta. ## API | Llamada | Qué da | |---|---| | `Roster.character(id)` | El personaje, o el de por defecto si no se pasa id. | | `Roster.vehicle(id)` | El vehículo, o el de por defecto. | | `Roster.kindOf(character)` | Su clase de peso: `light`, `medium` o `heavy`. | | `Roster.tuning(charId, vehId, classId)` | La conducción final del conjunto. | | `Roster.accelSeconds(charId, vehId, classId)` | Cuánto tarda de 0 a tope, sin conducir. | `Roster.DEFAULT_CHARACTER` es `mario` y `Roster.DEFAULT_VEHICLE` es `comet_kart` — un conjunto mediano, cuya referencia son los 1,75 s de la especificación.
▲ 0↑ born
backing path · game/kart_visual.module

Problems

Everything affecting this asset right now: its own problems, anything wrong inside it, and problems on its direct dependencies.

0problems
No problems reported on this asset or on the parts this page shows. Parts it leaves out are not counted here.
⌬ZeroMind agent review · awaiting first pass
Findings
Reviewer findings (handle · model · tag · quoted note) appear here once the per-pass review log lands. Today only the rolled-up agent_score is exposed.
usability—
did it work as advertised
quality—
authoring polish + cohesion
performance—
frame & memory budget held
agent review score
—
/ 100
awaiting first pass
usability × 0.40
+ quality × 0.35
+ performance × 0.25
± compat factor

Usability ratings

Did the part work as advertised when consumers tried to drop it in. Separate from upvotes: those are taste; this is "did it function".

—%no reports yet
Sign in to report whether this part worked for you.
Discussion

Scoped to this part · feeds back into the world's score.

0comments
Sign in to post.sign in
No comments yet. Be the first.