Rutas 2D

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

La instancia Path2D, junto con sus métodos y propiedades de API, te permite implementar splines 2D y líneas curvas 2D, útiles para efectos de interfaz de usuario como animaciones basadas en rutas y editores de gráficos.

Crear una ruta 2D

Para agregar un Path2D a la pantalla o a un objeto en la experiencia:

  1. En la ventana de Explorer, inserta una instancia de Path2D bajo un ScreenGui o SurfaceGui visible (no necesita ser un hijo directo).

    Instancia de Path2D parentada a un ScreenGui en la jerarquía del Explorer.
  2. Selecciona el nuevo Path2D para revelar el widget de herramientas en el viewport. Por defecto, la herramienta Agregar Punto está seleccionada.

    Herramienta Agregar Punto indicada en el widget del editor de rutas 2D.
  3. Comienza a hacer clic en la pantalla para agregar una serie de puntos de control para formar una ruta. La ruta inicial probablemente será imprecisa, pero puedes ajustar la posición de cualquier punto de control más tarde.

    Diagrama que ilustra un ejemplo de ruta creada utilizando la herramienta Agregar Punto para conectar una serie de puntos.
  4. Cuando termines, haz clic en el botón Listo del widget o presiona Enter.

Modificar puntos de control

Con un Path2D seleccionado en la jerarquía del Explorer, puedes modificar sus puntos de control individuales así como sus tangentes.

Mover puntos

Para mover un punto de control individual en una ruta, activa la herramienta Seleccionar (V) y luego haz clic y arrástralo a una nueva posición.

Herramienta Seleccionar indicada en el widget del editor de rutas 2D. Diagrama que ilustra cómo se mueve un punto de control de una ruta a una nueva posición haciendo clic y arrastrando con la herramienta Seleccionar habilitada.

Para posicionamiento muy específico, selecciona el punto de control y luego, en la ventana de Propiedades, establece una nueva posición para la propiedad SelectedControlPointData del punto (UDim2).

Propiedad SelectedControlPointData de una instancia de Path2D indicada en la ventana de Propiedades.

Ten en cuenta que la posición de un punto no es absoluta, sino relativa al contenedor padre de la ruta. Por ejemplo, compara un punto de control al 30% desde la izquierda y al 20% desde la parte superior para una ruta dentro de un ScreenGui, frente a una ruta idéntica colocada dentro de un Frame ubicado en la esquina superior derecha del ScreenGui.

Diagrama que ilustra cómo las posiciones de los puntos de control de la ruta son relativas a su contenedor padre.

Agregar puntos

Se pueden agregar nuevos puntos de control a un Path2D ya sea entre dos puntos existentes o desde cualquiera de los puntos finales utilizando la herramienta Agregar Punto (P).

Herramienta Agregar Punto indicada en el widget del editor de rutas 2D.
Diagrama que ilustra cómo se agrega un punto de control entre dos puntos existentes utilizando la herramienta Agregar Punto.
Pasa el mouse por cualquier parte de la ruta y haz clic para agregar un punto de control entre dos puntos existentes
Diagrama que ilustra cómo se agrega un punto de control al final de una ruta utilizando la herramienta Agregar Punto.
Haz clic en un punto final y luego haz clic nuevamente para agregar un punto de control desde ese extremo

Eliminar puntos

Para eliminar un punto de control, pasa el mouse sobre él y haz clic derecho, luego selecciona Eliminar Punto en el menú contextual emergente.

Diagrama que ilustra cómo se elimina un punto de control de la ruta haciendo clic derecho en él y seleccionando Eliminar Punto.

Tangentes de puntos de control

Las tangentes de los puntos de control te permiten crear y ajustar curvas en una ruta.

Diagrama que ilustra una ruta curva con varios puntos de control de tangente.

Agregar tangentes

Para agregar tangentes a cualquier punto de control que no tenga tangentes ya:

  1. Activa la herramienta Agregar Tangente en el widget de herramientas.

    Herramienta Agregar Tangente indicada en el widget del editor de rutas 2D.
  2. Pasa el mouse sobre el punto de control deseado, luego haz clic para agregar dos tangentes espejadas (opcionalmente arrastra después de hacer clic para ajustar las nuevas tangentes).

    Diagrama que ilustra cómo se crea un punto de control de ruta con tangentes utilizando la herramienta Agregar Tangente.

Ajustar tangentes

Para ajustar las tangentes existentes de un punto de control individual:

  1. Activa la herramienta Seleccionar (V).

    Herramienta Seleccionar indicada en el widget del editor de rutas 2D.
  2. Pasa el mouse sobre un marcador de tangente (no el punto de control), luego haz clic y arrástralo a una nueva posición. Si las tangentes están espejadas, el punto de tangente asociado se moverá simultáneamente.

    Diagrama que ilustra cómo se ajustan las tangentes de un punto de control con la herramienta Seleccionar habilitada.

Para establecer manualmente una posición específica de UDim2 para una tangente:

  1. Activa la herramienta Seleccionar (V) y selecciona el punto de control. En la ventana de Propiedades, expande el campo SelectedControlPointData para exponer las propiedades LeftTangent y RightTangent.

    Propiedades LeftTangent y RightTangent de un punto de control de Path2D indicadas en la ventana de Propiedades.
  2. Establece la posición para LeftTangent y/o RightTangent. Ten en cuenta que esto romperá el comportamiento espejado de las tangentes.

Eliminar tangentes

Para eliminar ambas tangentes de un punto de control, pasa el mouse sobre él y haz clic derecho, luego selecciona Limpiar Tangentes en el menú contextual emergente.

Diagrama que ilustra cómo ambas tangentes de un punto de control se eliminan haciendo clic derecho en él y seleccionando Limpiar Tangentes.

Para eliminar solo una de las tangentes (izquierda o derecha), pasa el mouse sobre el marcador de esa tangente, luego selecciona Eliminar Tangente.

Diagrama que ilustra cómo se elimina una tangente de un punto de control haciendo clic derecho en ella y seleccionando Eliminar Tangente.

Romper y espejar

Por defecto, las tangentes se espejan entre sí. Cuando arrastras para ajustar un marcador de tangente, el punto de tangente asociado se moverá simultáneamente.

Diagrama que ilustra cómo se ajustan las tangentes de un punto de control con la herramienta Seleccionar habilitada.

Para "romper" las tangentes de manera que cada una pueda moverse independientemente de la otra, pasa el mouse sobre el punto de control asociado y selecciona Romper Tangentes en el menú contextual. Una vez roto, puedes mover cada marcador de tangente sin afectar al otro.

Diagrama que ilustra cómo se rompen las tangentes de un punto de control haciendo clic derecho en él y seleccionando Romper Tangentes.

Propiedades visuales de la ruta

Puedes personalizar la apariencia visual de un Path2D con las siguientes propiedades:

PropiedadDescripción
Color3Establece el color de la línea de la ruta.
ThicknessEstablece el grosor de la línea de la ruta, en píxeles.
VisibleHacer la ruta visible o no tanto en edición como en tiempo de ejecución.
ZIndexOrden en el que una ruta se renderiza en relación con otras GUIs.
Diagrama que ilustra una ruta con un grosor de 2 y un Color3 de (125, 125, 125).
Grosor = 2
Color3 = (125, 125, 125)
Diagrama que ilustra una ruta con un grosor de 10 y un Color3 de (225, 0, 50).
Grosor = 10
Color3 = (225, 0, 50)
Diagrama que ilustra una ruta superpuesta frente a otra utilizando la propiedad ZIndex.
Capa ZIndex

Scripting de rutas

La programación es útil para varios flujos de trabajo relacionados con la ruta. Los siguientes ejemplos utilizan métodos como GetControlPoints() que devuelve una tabla de Path2DControlPoints y GetPositionOnCurveArcLength() que devuelve la posición de UDim2 en un valor t dado a lo largo del spline.

Disponer objetos de UI a lo largo de la ruta

local parent = script.Parent
local path = parent:FindFirstChildWhichIsA("Path2D")
local function arrangeChildren()
local segmentCount = #path:GetControlPoints()
local objectsToArrange = {}
for _, child in parent:GetChildren() do
if child:IsA("GuiObject") then
table.insert(objectsToArrange, child)
end
end
for idx, child in objectsToArrange do
local t = idx / (#objectsToArrange + 1)
child.Position = path:GetPositionOnCurveArcLength(t)
end
end
-- Inicialmente dispone los objetos de UI secundarios a lo largo de la ruta
arrangeChildren()
-- Escucha la adición/remoción de hijos para ajustar la disposición
parent.ChildAdded:Connect(arrangeChildren)
parent.ChildRemoved:Connect(arrangeChildren)
Animar objeto de UI a lo largo de la ruta

local Tweenservice = game:GetService("TweenService")
local parent = script.Parent
local path = parent:FindFirstChildWhichIsA("Path2D")
local objectToAnimate = parent:FindFirstChildWhichIsA("GuiObject")
local TWEEN_DURATION = 4
local TWEEN_EASING_STYLE = Enum.EasingStyle.Cubic
local TWEEN_EASING_DIRECTION = Enum.EasingDirection.InOut
local pathSampleValue = Instance.new("NumberValue")
local tweenInfo = TweenInfo.new(TWEEN_DURATION, TWEEN_EASING_STYLE, TWEEN_EASING_DIRECTION, 0, true, 2)
local tween = Tweenservice:Create(pathSampleValue, tweenInfo, {Value = 1})
local function onSampleValueChanged()
objectToAnimate.Position = path:GetPositionOnCurveArcLength(pathSampleValue.Value)
end
pathSampleValue.Changed:Connect(onSampleValueChanged)
tween:Play()
©2026 Roblox Corporation. Roblox, el logotipo de Roblox y "Powering Imagination" son algunas de nuestras marcas registradas y no registradas en los Estados Unidos y otros países.