To rotate a head following a target

Hi, guys:

I’ve been hours trying to accomplish something easy (or it looked like). I have a character model with an animation imorted into unity. It works good. Now I want the head looks in the direction of a target, even if the model is being animated. The animations make the character turns left or right by 60 degrees. So I wrote this code:

using UnityEngine;

public class CharBehaviour : MonoBehaviour

    public Transform head;
    public Transform torax;
    public Transform target;
    private Animator anim;

    private void Start()
        anim = GetComponent<Animator>();

    void LateUpdate()
        Quaternion lookRotation = Quaternion.LookRotation(target.position - head.position);
        if (lookRotation.eulerAngles.y > 60)
        if (lookRotation.eulerAngles.y < -60)
        head.rotation = lookRotation * head.rotation;

It works nice without the animation, the head indeed follows the target. But when I play the animation (lines 19-26), the object torax (grandparent of head) gets rotated by 60 degrees and the head is turned 60 degrees from the target direction (which is expected). I tried a lot of combinations after last line but none works. The head gets rotated in odd ways. If I do:

head.rotation = torax.rotation * head.rotation;

It does not work. Using localRotation no matter where it doesn’t work either. I’m aware I don’t understand Quaternions intuitivelly, but afaik combining rotations is done by multipliying them. What am I missing? Any ideas?

point the head using code, not animation.
can’t you do head.rotation = lookRotation to make the head look at the target ?
If this works, add in a blended lerp, so the head has some acceleration and deceleration.

Ok, I found the problem and the solution. The problem was character bones were imported into unity in different axis. Model was ok, but bones were not.
So the solution is: In the FBX export menu in Blender there is a pair of options: (Primary and Secondary Bone Axis). I set them up to Primary = Z axis and Secondary = X axis. That solved the problem of bones. Then I just changed the lookRotation stuff for head.lookAt(target).
Now it works perfect.