Olá!
Eu conheço o sliding, mas nunca usei, acho ele mais para coisas mecanicas....Vai depende do seu setup, mas existe varias formas de se fazer um stretch, abaixo a mais simples apenas usando look at na rotação e um position constraint. Cada bone tendo como target position o helper acima dele e como look at o helper abaixo. Simples!
Um pouco mais complexo, usando o float script na posição X, é nesta posição que controlará o stretch.
Basta usar estas espressões, onde OP é a posição X original do bone, DI ira guardar a distancia entre o primeiro bone "coxa" ate o IK, ST é a diferença da distancia atual e a nova distancia, 188.523 foi achado atraves da expressão anterior distance $IK_Chain01.pos $coxa.pos, um teste "IF" caso a nova posição não seja maior ele não deixa o stretch agir resultando a variavel ST em 0, por ultimo ele estica, pegando o OP + ST/2, caso não passe no teste acima resultando em 0 o stretch não ira agir pois 0/por_qualquer_coisa = 0 :D.
Mas isso não é atualizado a cada movimento, teria que a cada posição achar a distancia e mudar, para isso tem 2 variaveis atribuidas (coxa_dependsOn e IK_dependsOn) uma para cada controller position, que ira fazer a atualização do script. Isso para o max 8 onde não aceita mais colocar a expressção dependsOn dentro de controllers scripts, mas para vesões anteriores, não precisa dessas variaveis basta declarar a dependeica de cada controller assim: dependsOn $IK_Chain01.position.controller $coxa.position.controller
Pronto, um pouco mais complexo que tambem funciona.....para não perder os controllers feitos ou deseja adicionar novos controllers e alternar entre eles na hora que precisar basta utilizar um <controller> List!
Abraços