Déplacement des jambes: déplacer bones

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
ReignRavel
Messages : 14
Inscription : 19 Avr 2017 13:57

Déplacement des jambes: déplacer bones

Message par ReignRavel » 19 Avr 2017 22:17

Salut,
je commence Unity, j'aimerais savoir s'il est possible de déplacer un "bone" avec le code, comme sur la vidéo ci-dessous (les jambes quand il se déplace) :

http://gamejolt.com/games/handle-with-care/217755#video-40254

Si c'était un déplacement par le code, j'ai essayé de tester en déplacant le talon du personnage, mais rien ne se passe.

Edit: en fait, l'un des bones ne marche pas, mais les autres oui... je vais essayer de régler ça. Je ne sais pas encore si la bonne solution c'est de faire bouger les jambes par le code...

Code : Tout sélectionner

void Update () {
	//...
	float h = Input.GetAxis ("Horizontal");
	leftFoot.transform.localPosition = transform.right * h * 100 * speed * Time.deltaTime;

Avatar de l’utilisateur
evereal
Messages : 109
Inscription : 06 Nov 2015 18:46

Re: Déplacement des jambes: déplacer bones

Message par evereal » 20 Avr 2017 10:33

Hello,

Pour ce genre de contrôle je pense que partirai sur du 'OnAnimatorIK'
https://docs.unity3d.com/ScriptReferenc ... torIK.html
“La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !”

ReignRavel
Messages : 14
Inscription : 19 Avr 2017 13:57

Re: Déplacement des jambes: déplacer bones

Message par ReignRavel » 20 Avr 2017 21:33

Merci, edit: je vais essayer, donc le bone de la cuisse qui suit le bone du pied... j'essaierai, merci pour la réponse.

ReignRavel
Messages : 14
Inscription : 19 Avr 2017 13:57

Re: Déplacement des jambes: déplacer bones

Message par ReignRavel » 21 Avr 2017 17:49

Je n'y arrive pas : en mode "humanoid", mon personnage ne fait pas l'animation. Dans le preview en bas à droite, l'animation se fait bien, et en "Legacy" aussi. J'ai mis mon personnage (fichier .blend) sur pasteall, quelqu'un peut-il y jeter un oeil?
Car c'est en humanoid que je peux utiliser l'Avatar, donc les IK function.
Ensuite j'ai quand même essayé d'utiliser une capsule comme target sur le LeftFoot du perso humanoid, voilà la page, mais rien ne se passe quand je déplace la capsule avec le code : en Play Mode, la capsule se déplace, mais la jambe du perso reste figée :

Code : Tout sélectionner

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class IKScript : MonoBehaviour {
	Animator anim;
	public Transform leftIKTarget;
	float ikWeight = 1;

	Vector3 v;

	// Use this for initialization
	void Start () {
		anim = GetComponent<Animator>();
	}
	
	// Update is called once per frame
	void Update () {
		v = new Vector3(Input.GetAxis("Horizontal"), 0, 0);
		leftIKTarget.transform.position += v;
	}

	void onAnimatorIK(){
		anim.SetIKPositionWeight(AvatarIKGoal.LeftFoot, ikWeight);
		anim.SetIKPosition(AvatarIKGoal.LeftFoot, leftIKTarget.position);
	}
}

Répondre

Revenir vers « Scripting »