Oi lzanlorenzi11, tudo bem?
Não é uma pergunta muito simples, pois envolve Animation Blueprint, Skeletal Mesh, Actor Blueprint e Spline Component, então fica difícil explicar em detalhes aqui com textos e imagens.
Se você for aluno do curso de Unreal, eu explico em detalhes como fazer isso nos vídeos 8 e 9 do capítulo 12.
Porém, eu ensino a animar um objeto pela Spline e para animar uma pessoa depende ainda do Animation Blueprint como comentei, mas eu expliquei como transformar esse Blueprint de objeto para animar pessoas no vídeo 2 do capítulo 18.
Se você não for aluno do curso e tiver alguma base em Blueprint, eu posso ir te ajudando a fazer aos poucos com mensagens aqui no fórum, pois precisará de várias.
Se você não tiver nenhuma base em Blueprint vai ser muito difícil ensinar tudo aqui.
A primeira coisa a fazer é configurar um Animation Blueprint com o Skeletal Mesh da pessoa andando no mesmo ponto sem sair do lugar, ou seja, sem Root Motion.
OBS: Se a pessoa vai iniciar parada e depois andar ou vai parar no final e ficar fazendo apenas pequenos movimentos no mesmo lugar, precisa configurar um Blend Space para poder controlar essa transição.
Depois, você precisa criar um Actor Blueprint, adicionar o Skeletal Mesh com o Animation Blueprint, criar um Spline Component e calcular a posição de um ponto no início da linha, assim, se evoluir essa posição ao longo do tempo, vai mover a pessoa pelo caminho da linha.
O cálculo dessa posição é feito com o Get Location At Distance Along Spline ligado no Location do Make Transform, o resultado disso deve ser conectado no Set World Transform do Skeletal Mesh para mover ele pela linha.
O Get Location At Distance Along Spline pede o valor da distância como um Scalar, então, você precisa pegar o Get Spline Lenght para saber o tamanho da Spline e multiplicar por uma variável Float, assim, quando a variável for 0 vai estar no início da linha e quando a variável for 1 estará no final da linha.
Portanto, se você conectar o resultado dessa multiplicação no Distance do Get Location At Distance Along Spline e evoluir o valor da variável Float de 0 até 1, a animação vai acontecer.
Você pode evoluir a variável de diversas formas diferentes, a mais fácil e prática é com o Node Timeline, apesar de não ser o mais leve e o mais eficiente.
No caso de usar o Timeline, é só criar uma curva nele de 0 até 1 com duração de 1 segundo ou o quanto quiser, é bom que seja valores cheios como 10, 100 e tal.
No final você dá Play nessa Timeline com algum Custom Event ou no Beging Play e conecta o resultado dela na variável Float que multiplicou pelo Spline Lenght para a animação acontecer.
A imagem em anexo mostra o cálculo da posição do ponto na Spline.
Note que eu somei a altura em Z antes de conectar no Location do Make Transform para poder controlar a altura e não deixar os pés entrar no chão.
OBS: Veja que além do Location eu também usei o Get Rotation At Distance Along Spline para fazer a pessoa ou objeto acompanhar as curvas da linha, caso contrário, ele ficará sempre na mesma direção.
Basta conectar o resultado dele no Rotation do Make Transform, mas eu usei o Combine Rotators junto com uma variável de rotação para poder controlar a direção da forma que desejar.
Se tiver qualquer dúvida é só falar que eu explico melhor o ponto.
OBS2: Essa é a melhor forma de fazer porque pode desenhar o caminho como quiser, porém, dá para fazer mais fácil sem a Spline se quiser apenas mover em linha reta entre dois pontos, dai é só subtrair o vetor inicial do final para ter a distância e a direção, depois, usar o FInterp To para interpolar o deslocamento entre os dois, além do RInterp To se quiser também controlar a rotação.
Abração e tudo de bom.
André Vieira