Skip to content

Instantly share code, notes, and snippets.

@TheLouisHong
Last active July 13, 2024 05:44
Show Gist options
  • Save TheLouisHong/964294f0cd9c980947d7997c39843961 to your computer and use it in GitHub Desktop.
Save TheLouisHong/964294f0cd9c980947d7997c39843961 to your computer and use it in GitHub Desktop.
Downloads all the free Mixamo Animations

Step 1

Go to https://www.mixamo.com/store/#/search?page=1, make sure you're logged in.

Step 2

open up chrome console by pressing F12 on your keyboard on the Mixamo webpage. Click on the "Console" tab in the new window (developer console).

Step 3

Paste in "DownloadMixamoByLouisHong.js" into the console input and return. It'll starting downloading from that page and until the last page.

// Anonymous "self-invoking" function
alert("Thank you for using this script created by Louis Hong (/u/loolo78)\n\nThe download will now begin.");
(function() {
// Load the script
var script = document.createElement("SCRIPT");
script.src = 'https://code.jquery.com/jquery-latest.min.js';
script.type = 'text/javascript';
document.getElementsByTagName("head")[0].appendChild(script);
// Poll for jQuery to come into existance
var checkReady = function(callback) {
if (window.jQuery) {
callback(jQuery);
}
else {
window.setTimeout(function() {
checkReady(callback);
}, 20);
}
}
;
// Start polling...
checkReady(function($) {
$(function() {
console.log("JQuery loaded, start downloading")
start()
});
});
})();
// http://facebook.com/anders.tornblad
// [email protected]
//------
function fetchList() {
console.log("Fetch all the animation in this page, you can optimized this by setting to page to 96 per page on the upper right")
return $("#site > div > div > div > div.product-results > div.product-list.thumbnails-md")[0].childNodes
}
function nextPage() {
console.log("This page is done, loading next page.")
var lastButton = $("#site > div > div > div > div.product-results > div.pagination-holder > ul")[0].lastChild.firstChild
lastButton.click()
}
function start() {
list = fetchList()
var i = 0
var purchased = false
var newPage = false
var loadingDog = false
var downloadObserver = new MutationObserver(function(mutations) {
if ($(".spinner-dog").length != 0) {
console.log("Waiting for page to load")
loadingDog = true
return
}
if (newPage && loadingDog) {
list = fetchList()
if (list.length == 0) {
return
}
window.scrollTo(0,document.body.scrollHeight);
newPage = false
loadingDog = false
list[0].click()
}
var download = $("#site > div > div.product-preview-holder.col-sm-6.col-push-6 > div > div.editor.row.row-no-gutter > div.editor-sidebar.col-xs-4 > div.sidebar-header > button")[0]
if (i >= list.length) {
nextPage()
$("#site > div > div.product-preview-holder.col-sm-6.col-push-6 > div > div.product-nav > button")[0].click()
i = 0
purchased = false
newPage = true
return
}
if (download.childNodes[0].innerHTML === "Loading…") {
return
}
if (download.childNodes[0].data === "Adding...") {
return
}
if (download.childNodes[0].data === "View / Download") {
list[i++].click()
purchased = false
console.log("This animation has already been downloaded")
return
} else {
if (!purchased) {
console.log("Downloading new animation")
download.click()
purchased = true
}
}
}
)
downloadObserver.observe($("#site > div")[0], {
childList: true,
subtree: true,
attributes: true,
characterData: true
})
list[0].click()
}
@gnuton
Copy link

gnuton commented Nov 30, 2017

Wrote a new script to download all mixamo animations for a single character
https://www.youtube.com/watch?v=EuAjnKAehGI&t=5s

@dassoubarna
Copy link

Is there any way to download all characters from mixamo at a time?

@Membasoft
Copy link

Hi.
I have learned to use this script but it gives me the following message:

VM306: 10 Refused to load the script 'https://code.jquery.com/jquery-latest.min.js' because it violates the following Content Security Policy directive: "script-src https: //bam.nr-data .net https: //.newrelic.com https://assets.adobedtm.com https: //.cloudfront.net 'unsafe-eval' 'self' ".

What I can do?

@harrism76
Copy link

Is there a way to add the option to see if a page has the inplace check box, and only download the animations with in place selected.

@krazyjakee
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment