|
30135
|
fivehive by @venk | Stardance
|
venk
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: fivehive by @venk | Stardance
|
1792759969.2634113
|
1793364769.2634113
|
|
34250
|
WarioWare Game by @litten_136 | Stardance
|
litten_136
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: WarioWare Game by @litten_136 | Stardance
|
1792759970.1203778
|
1793364770.1203778
|
|
27560
|
My first slack bot! by @vidushi | Stardance
|
vidushi
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @vidushi | Stardance
|
1792759970.9659505
|
1793364770.9659505
|
|
21856
|
Error 003 Wii Unbrick by @angelcube | Stardance
|
angelcube
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Error 003 Wii Unbrick by @angelcube | Stard Title: Error 003 Wii Unbrick by @angelcube | Stardance...
|
1792759971.827344
|
1793364771.827344
|
|
6243
|
SAT Desmos Pacing Engine by @devhackerg | Stardanc SAT Desmos Pacing Engine by @devhackerg | Stardance...
|
devhackerg
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: SAT Desmos Pacing Engine by @devhackerg | S Title: SAT Desmos Pacing Engine by @devhackerg | Stardance...
|
1792759972.6639495
|
1793364772.6639495
|
|
12418
|
My first slack bot! by @HTWH | Stardance
|
HTWH
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @HTWH | Stardance
|
1792759973.7767122
|
1793364773.7767122
|
|
32938
|
Notelite by @zaelani_natura | Stardance
|
zaelani_natura
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Notelite by @zaelani_natura | Stardance
|
1792759974.6173866
|
1793364774.6173866
|
|
23837
|
Untitled by @sarahk | Stardance
|
sarahk
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @sarahk | Stardance
|
1792759975.4627109
|
1793364775.4627109
|
|
2622
|
My awesome macropad! by @Emmanuel | Stardance
|
Emmanuel
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Emmanuel | Stardan Title: My awesome macropad! by @Emmanuel | Stardance...
|
1792759976.3201447
|
1793364776.3201447
|
|
17585
|
My awesome macropad! by @anusha | Stardance
|
anusha
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @anusha | Stardance
|
1792759977.1886244
|
1793364777.1886244
|
|
7514
|
Untitled by @BlueTotem | Stardance
|
BlueTotem
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @BlueTotem | Stardance
|
1792759978.0358522
|
1793364778.0358522
|
|
22484
|
My awesome macropad! by @ghania | Stardance
|
ghania
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @ghania | Stardance
|
1792759978.8808312
|
1793364778.8808312
|
|
8082
|
custom FPV drone! by @torteno | Stardance
|
torteno
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: custom FPV drone! by @torteno | Stardance
|
1792759979.7426865
|
1793364779.7426865
|
|
29845
|
Frictionless by @VedantGawande | Stardance
|
VedantGawande
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @VedantGawande | Stardance
|
1792759980.591876
|
1793364780.591876
|
|
36749
|
Untitled project by @ishachitteti | Stardance
|
ishachitteti
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @ishachitteti | Stardan Title: Untitled project by @ishachitteti | Stardance...
|
1792759981.4499056
|
1793364781.4499056
|
|
9229
|
Automatic Printing System by @TiredTiddles | Stard Automatic Printing System by @TiredTiddles | Stardance...
|
TiredTiddles
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Automatic Printing System by @TiredTiddles Title: Automatic Printing System by @TiredTiddles | Stardance...
|
1792759982.311071
|
1793364782.311071
|
|
37812
|
idropper by @ccyaliyahh | Stardance
|
ccyaliyahh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: idropper by @ccyaliyahh | Stardance
|
1792759983.1510756
|
1793364783.1510756
|
|
58650
|
My awesome macropad! by @chriszamora9876 | Stardan My awesome macropad! by @chriszamora9876 | Stardance...
|
chriszamora9876
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @chriszamora9876 | Title: My awesome macropad! by @chriszamora9876 | Stardance...
|
1792759985.9013777
|
1793364785.9013777
|
|
36520
|
Live temperature and humidity sensor by @ashwin_ | Live temperature and humidity sensor by @ashwin_ | Stardance...
|
ashwin_
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Live temperature and humidity sensor by @as Title: Live temperature and humidity sensor by @ashwin_ | Stardance...
|
1792759986.750231
|
1793364786.750231
|
|
23828
|
Fractured Halo by @djbansalsocial | Stardance
|
djbansalsocial
|
0
|
2.41
|
0
|
[]
|
[{"post_id": 13459, "ts": "202 [{"post_id": 13459, "ts": "2026-06-22T01:12:38Z", "hours": 2.4125, "text": "Working on the center axle for revolute motion."}]...
|
Title: Fractured Halo by @djbansalsocial | Stardan Title: Fractured Halo by @djbansalsocial | Stardance
Devlogs:
Working on the center axle for revolute motion....
|
1792759987.5892196
|
1793364787.5892196
|
|
58652
|
My own site! by @aliyaansar | Stardance
|
aliyaansar
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @aliyaansar | Stardance
|
1792759988.430057
|
1793364788.430057
|
|
58653
|
WarioWare Game by @leaufy | Stardance
|
leaufy
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: WarioWare Game by @leaufy | Stardance
|
1792759989.2796755
|
1793364789.2796755
|
|
30873
|
Untitled by @periwalpratham0 | Stardance
|
periwalpratham0
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @periwalpratham0 | Stardance
|
1792759990.1345406
|
1793364790.1345406
|
|
58654
|
My awesome macropad! by @Alpja | Stardance
|
Alpja
|
0
|
6.86
|
0
|
[]
|
[{"post_id": 73045, "ts": "202 [{"post_id": 73045, "ts": "2026-09-24T08:26:30Z", "hours": 1.3597, "text": "I am entirely done with programming :D I removed the brightness encoder cause its a bit useless and i had to free out pins for the volume encoder After coding I finished the case ( i didnt record it because I dont want to suffer in camera) and uhh I will cross check all the files and submit it :D"}, {"post_id": 70169, "ts": "2026-09-18T16:48:45Z", "hours": 0.3169, "text": "Alr so I have applied color to the macropad ( I honestly dont know what else to add pls give me suggestions ) and uhh i went through 3-4 colors and i liked this one the most. I will be going with the coding tomorrow"}, {"post_id": 68736, "ts": "2026-09-15T17:24:53Z", "hours": 0.9172, "text": "ALRIGHTYYYYYY I completed the enclosure of the macropad, next step is to add some life to the enclosure by adding colors and after that I will be coding the firmware :D"}, {"post_id": 68192, "ts": "2026-09-14T17:58:12Z", "hours": 0.5003, "text": "Designed the base of the macropad and readjusted the PCB design because it did’nt fit the requirement, i also did’nt do much progress because i did late at night and i have an exam tomorrow. I will design the case and add the cutouts for the switches tomorrow"}, {"post_id": 67487, "ts": "2026-09-13T16:31:54Z", "hours": 2.4169, "text": "It took so long just to do this wiring waaa I had to restart doing the PCB 4-5 times cause i had some trouble wiring it all (I literally forgot what i had trouble with because i spent the whole day doing it). I will be doing the case next (yay)"}, {"post_id": 66703, "ts": "2026-09-12T16:09:18Z", "hours": 1.345, "text": "YAYYY I AM FINNALY DONE WITH SCHEMING I didn’t know what to wire to what so I used AI to explain how it works, and I had ALOT of difficulty with the errors cause I wired the DIN and DOUT of the RGBs and also with the footprints cause I hadn’t downloaded the resources before Next I’ll be doing the PCB of the macropad"}]...
|
Title: My awesome macropad! by @Alpja | Stardance
Title: My awesome macropad! by @Alpja | Stardance
Devlogs:
YAYYY I AM FINNALY DONE WITH SCHEMING I didn’t know what to wire to what so I used AI to explain how it works, and I had ALOT of difficulty with the errors cause I wired the DIN and DOUT of the RGBs and also with the footprints cause I hadn’t downloaded the resources before Next I’ll be doing the PCB of the macropad
It took so long just to do this wiring waaa I had to restart doing the PCB 4-5 times cause i had some trouble wiring it all (I literally forgot what i had trouble with because i spent the whole day doing it). I will be doing the case next (yay)
Designed the base of the macropad and readjusted the PCB design because it did’nt fit the requirement, i also did’nt do much progress because i did late at night and i have an exam tomorrow. I will design the case and add the cutouts for the switches tomorrow
ALRIGHTYYYYYY I completed the enclosure of the macropad, next step is to add some life to the enclosure by adding colors and after that I will be coding the firmware :D
Alr so I have applied color to the macropad ( I honestly dont know what else to add pls give me suggestions ) and uhh i went through 3-4 colors and i liked this one the most. I will be going with the coding tomorrow
I am entirely done with programming :D I removed the brightness encoder cause its a bit useless and i had to free out pins for the volume encoder After coding I finished the case ( i didnt record it because I dont want to suffer in camera) and uhh I will cross check all the files and submit it :D...
|
1792759990.965353
|
1793364790.965353
|
|
7028
|
My awesome macropad! by @zxxz999_2 | Stardance
|
zxxz999_2
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @zxxz999_2 | Starda Title: My awesome macropad! by @zxxz999_2 | Stardance...
|
1792759994.0363193
|
1793364794.0363193
|
|
21541
|
My first slack bot! by @jimmothy3 | Stardance
|
jimmothy3
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @jimmothy3 | Stardan Title: My first slack bot! by @jimmothy3 | Stardance...
|
1792759994.9524338
|
1793364794.9524338
|
|
11075
|
summer-compass by @Tanous | Stardance
|
Tanous
|
0
|
0.95
|
0
|
[]
|
[{"post_id": 18491, "ts": "202 [{"post_id": 18491, "ts": "2026-06-29T17:33:58Z", "hours": 0.9536, "text": "Hi, I’m currently preparing the basic concepts and trying things out, still learning and I’m just doing this for the stickers :) 🤪"}]...
|
Title: summer-compass by @Tanous | Stardance
Devl Title: summer-compass by @Tanous | Stardance
Devlogs:
Hi, I’m currently preparing the basic concepts and trying things out, still learning and I’m just doing this for the stickers :) 🤪...
|
1792759995.8170314
|
1793364795.8170314
|
|
2441
|
budget-friendly, no compromises sim racing shifter budget-friendly, no compromises sim racing shifter by @andrei | Stardance...
|
andrei
|
0
|
10.42
|
0
|
[]
|
[{"post_id": 24820, "ts": "202 [{"post_id": 24820, "ts": "2026-07-08T17:06:50Z", "hours": 0.3256, "text": "spent a little bit more time doing lego instructions and cleaning the github page up :)"}, {"post_id": 18328, "ts": "2026-06-29T13:09:22Z", "hours": 0.7167, "text": "took 40 mins to make a parts page for the lego instructions but its fine yk :)"}, {"post_id": 18298, "ts": "2026-06-29T12:21:21Z", "hours": 0.2739, "text": "lost like an hour of time because idk how to use lookout lmao but its fine because i have finished writing the instructions to build the product and have also uploaded all the parts to thingiverse BUT have to wait 24hrs to publish to the public - so when that is done i will finally submit to get funding! in the meantime, might make some visual lego-like instructions to make it easier to visualise the assembly!"}, {"post_id": 18263, "ts": "2026-06-29T10:50:58Z", "hours": 0.4772, "text": "made a desk clamping system with parts to be 3d printed, will finish making the instructions for the demo link and then will submit for funding :)"}, {"post_id": 10617, "ts": "2026-06-17T13:45:43Z", "hours": 1.2936, "text": "im back from exams and the full shifter is finished! added the limit switches and slots for each of them to be glued down when i build it. the pcb has also arrived, now all i need is to buy the components (hopefully can get them hardware funded) and 3d print the rest of the components (hopefully can get that funded too cause i dont have a printer)"}, {"post_id": 1329, "ts": "2026-06-03T08:30:51Z", "hours": 0.9336, "text": "exported a 3d model of the pcb from kicad and added it into the cad model with mounting hardware and mounting holes. also created a shift knob that has an m10 internal thread so it can be screwed on to the threaded rod. will be slowing down a lot over the next week and a bit because i have a full week of exams - but will come back with more updates than ever afterwards!"}, {"post_id": 1010, "ts": "2026-06-02T20:02:51Z", "hours": 0.8567, "text": "main pcb designed and routed using an atmega32u4 and through-hole slots to wire each momentary switch to the board individually :) if anyone sees mistakes in my pcb - it would be greatly appreciated to point them out for me as it is my first time making one! update: the pcb has been ordered!"}, {"post_id": 865, "ts": "2026-06-02T16:07:12Z", "hours": 1.8844, "text": "finished every mechanical mechanism for the shifter! used a roller cam-on-center mechanism to simulate the tactility from a real h-pattern. added some colour to the 3d model as well. next up is the fun - but stressful part, electronics!"}, {"post_id": 785, "ts": "2026-06-02T13:28:26Z", "hours": 1.1267, "text": "looks like i finished the first revision of the centering mechanism, using springs on each side of the y-axis movement mechanism to be completely balanced in the middle of the 2nd and 3rd gear column. now, as the actual movement is finished - now i need to add a bit of tactile feedback - probably with cams or a dedent mechanism. :)"}, {"post_id": 753, "ts": "2026-06-02T11:58:22Z", "hours": 1.4883, "text": "finished designing all of the main mechanical parts and final rotational mechanism of the h-pattern shifter using axles and bearings. now time to model some centering springs and maybe research into a dedent system for a better mechanism feel!"}, {"post_id": 448, "ts": "2026-06-01T21:35:24Z", "hours": 1.0425, "text": "started and finished the designing for my first revision of the shifter shaft and shift plate :) most of the time spent here was in obsidian taking notes and designing with excalidraw, but i think that wakatime didnt pick up all the time on obsidian - but doesnt matter cause i spent a lot of time on onshape anyway!"}]...
|
Title: budget-friendly, no compromises sim racing Title: budget-friendly, no compromises sim racing shifter by @andrei | Stardance
Devlogs:
started and finished the designing for my first revision of the shifter shaft and shift plate :) most of the time spent here was in obsidian taking notes and designing with excalidraw, but i think that wakatime didnt pick up all the time on obsidian - but doesnt matter cause i spent a lot of time on onshape anyway!
finished designing all of the main mechanical parts and final rotational mechanism of the h-pattern shifter using axles and bearings. now time to model some centering springs and maybe research into a dedent system for a better mechanism feel!
looks like i finished the first revision of the centering mechanism, using springs on each side of the y-axis movement mechanism to be completely balanced in the middle of the 2nd and 3rd gear column. now, as the actual movement is finished - now i need to add a bit of tactile feedback - probably with cams or a dedent mechanism. :)
finished every mechanical mechanism for the shifter! used a roller cam-on-center mechanism to simulate the tactility from a real h-pattern. added some colour to the 3d model as well. next up is the fun - but stressful part, electronics!
main pcb designed and routed using an atmega32u4 and through-hole slots to wire each momentary switch to the board individually :) if anyone sees mistakes in my pcb - it would be greatly appreciated to point them out for me as it is my first time making one! update: the pcb has been ordered!
exported a 3d model of the pcb from kicad and added it into the cad model with mounting hardware and mounting holes. also created a shift knob that has an m10 internal thread so it can be screwed on to the threaded rod. will be slowing down a lot over the next week and a bit because i have a full week of exams - but will come back with more updates than ever afterwards!
im back from exams and the full shifter is finished! added the limit switches and slots for each of them to be glued down when i build it. the pcb has also arrived, now all i need is to buy the components (hopefully can get them hardware funded) and 3d print the rest of the components (hopefully can get that funded too cause i dont have a printer)
made a desk clamping system with parts to be 3d printed, will finish making the instructions for the demo link and then will submit for funding :)
lost like an hour of time because idk how to use lookout lmao but its fine because i have finished writing the instructions to build the product and have also uploaded all the parts to thingiverse BUT have to wait 24hrs to publish to the public - so when that is done i will finally submit to get funding! in the meantime, might make some visual lego-like instructions to make it easier to visualise the assembly!
took 40 mins to make a parts page for the lego instructions but its fine yk :)
spent a little bit more time doing lego instructions and cleaning the github page up :)...
|
1792759996.6645343
|
1793364796.6645343
|
|
8119
|
My first website by @atharvawargantiwar22 | Starda My first website by @atharvawargantiwar22 | Stardance...
|
atharvawargantiwar22
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first website by @atharvawargantiwar22 | Title: My first website by @atharvawargantiwar22 | Stardance...
|
1792759997.8243008
|
1793364797.8243008
|
|
58656
|
OpenNotab by @Kennewoll | Stardance
|
Kennewoll
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: OpenNotab by @Kennewoll | Stardance
|
1792759998.70473
|
1793364798.70473
|
|
5039
|
Untitled by @IliasThegoat | Stardance
|
IliasThegoat
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @IliasThegoat | Stardance
|
1792759999.5426335
|
1793364799.5426335
|
|
58657
|
bio cyber deck by @ezhilarivan | Stardance
|
ezhilarivan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: bio cyber deck by @ezhilarivan | Stardance
|
1792760000.3835776
|
1793364800.3835776
|
|
19534
|
Wave Function Collapse implementation by @Square | Wave Function Collapse implementation by @Square | Stardance...
|
Square
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Wave Function Collapse implementation by @S Title: Wave Function Collapse implementation by @Square | Stardance...
|
1792760001.2349956
|
1793364801.2349956
|
|
20105
|
Untitled by @Rea | Stardance
|
Rea
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @Rea | Stardance
|
1792760002.084801
|
1793364802.084801
|
|
7967
|
Untitled project by @suharik | Stardance
|
suharik
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @suharik | Stardance
|
1792760002.935381
|
1793364802.935381
|
|
58659
|
rehabspeczz by @ajaaramanan | Stardance
|
ajaaramanan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: rehabspeczz by @ajaaramanan | Stardance
|
1792760003.7757196
|
1793364803.7757196
|
|
1172
|
Unity Motion Matching System by @NintedoAsh12 | St Unity Motion Matching System by @NintedoAsh12 | Stardance...
|
NintedoAsh12
|
0
|
140.12
|
0
|
[]
|
[{"post_id": 81951, "ts": "202 [{"post_id": 81951, "ts": "2026-10-23T04:55:45Z", "hours": 4.4681, "text": "I finished all the code comments. I know. WOW 4 HOURS OF CODE COMMENTS yeah but I was also cleaning some other parts of it up and fixing some of the indentations. anyways that’s done now only a few more things till we get to ship! but also a note to other devs like me… please comment your code while writing it because I have gotten in the habit of not doing that and as seeing here by 4 hours logged of code comments PLEASE JUST DO IT WHILE WRITING IT BECUASE THIS SUCKS"}, {"post_id": 81124, "ts": "2026-10-19T23:48:27Z", "hours": 3.2969, "text": "Not much changed I made an Itch.io for the demo. I also started adding comments to all of my code yeah its hard to remember what does what but I also got the dataset editor done or almost done. then its onto the matcher and then the trajectory maker then we are done there and then onto a tutorial of how to use it then we are done"}, {"post_id": 80294, "ts": "2026-10-17T05:11:06Z", "hours": 4.6256, "text": "OK its fixed now but first test build didn’t go so well (see video) the problem was unity wasn’t saving any of my data running in the background because it wasn’t serialized. I also organized project files plus removing unneeded scripts (I reuse code a lot and sometimes things get replaced and just left there) I also if you can’t tell from the video a dropped frame counter to show matches that where canceled because the current frame was good enough to meet the cost threshold. anyways I think now most of what I have to do it package everything up into… well a package then send it off into the world for you the hack clubbers to mess around with. EDIT: I added a demo for Windows to the github if you want to try it early"}, {"post_id": 79321, "ts": "2026-10-13T14:51:10Z", "hours": 2.2531, "text": "The demo UI has been finished and it works quite well! I have a few more things to add like a looping map so that the Character doesn’t just walk off the end of the world and die plus some more main menu stuff I think too. anyways progress has been fast so far so expect more soon!"}, {"post_id": 78971, "ts": "2026-10-12T06:56:58Z", "hours": 5.7781, "text": "LOTS OF DEBUG UI COMEING YOUR WAY! I have added lots of UI stuff to display internal values such as costs as stuff. I have also added the ability to adjust motion matching settings from in the demo so when I upload it to itch.io all of you can play with the system as much as you want and tell me how bad you broke it. to do wise its a bit more UI (some of it doesn’t work or I want it to look better) and then the data points kinda like the unity gizmo stuff I have been showing you here on star dance. anyways its like 1 AM I should have gone to bed HOURS AGO so I’mma go brush my teeth and work some more tomorrow…. my keyboard is starting to fail :-< Goodnight y’all. or good morning to the folk around the world like in Norway or something"}, {"post_id": 78190, "ts": "2026-10-09T22:29:56Z", "hours": 1.3486, "text": "I finally made a git hub repository. I also made a new unity project and moved everything into it to clean everything up for the demo I am starting to work on. I also made Bone Rotation matching but it doesn’t contribute all that match. I should be ready to ship/ Have a demo ready soon"}, {"post_id": 77746, "ts": "2026-10-08T04:44:35Z", "hours": 6.5831, "text": "OK OK IT WORKS ENOUGH OK DONT TOUCH IT I’m a fraud you guys. I couldn’t figure out the velocity thing so I…. I USED AI! I SWARE I HAVENT BEEN THIS ENTIRE TIME…. ok heres what happened I couldn’t figure it out so I had some AI going through some Motion Matching related thesis stuff and explaining it to me and then I ended up giving it a small chunk of my matcher code use to generate the cost and it pointed out my problems….. so 1. The way I was calculating local position was wrong which is funny because when I do it the other way it also breaks but then that leads into the second part. 2. I was inverting data and that was what was keeping the system working for some reason awhile back and even when I tried removing it a bit ago it broke which was really weird. anyways if you change both of them they fix each other so YAY I guess… sorry for the AI usage. it didn’t re write my code for me though I hand fixed my problem which I can proudly say all of the code is all hand typed…. (other then stuff I copy and pasted and or reused from other code I wrote… TRUST ME I NEVER WANT TO REWRITE UI SYSTEMS please unity fix the uitoolkit its bad)"}, {"post_id": 75040, "ts": "2026-09-28T23:29:30Z", "hours": 4.0911, "text": "Working on velocity matching. its kinda working now better then it was but its really weird that it slows the character down so much but its better then random snapping poses"}, {"post_id": 72963, "ts": "2026-09-24T03:42:38Z", "hours": 3.4628, "text": "HOLY CRAP IT WALKS!!! I can’t believe it. I am so FLIIPING happy ITS MOTION MATCHING! THAT IS ACTAUL REAL MOVEMENT AND NOT JUST WIGGLES!!!!! AAAAAAHHHHHH!!!!!! HECK YEAH!!!!!!! ok so in reality its still not fully working. I had to disable bone velocity matching completely to get it to work but I think I figured out why it doesn’t work. for trajectory matching I realized that the character is scaled to 1.83 instead of just 1 so that will affect the matching and I have to implement an offset (and I did it for the bone positions too but I never did it to the velocities) anyways I think I will fiddle with it till that work epeshly since STARDANCE WAS EXETENDED UNTILL OCTOBER 30TH THANK YOU HACK CLUB!!!! Video is of it working, not working and me playing with settings."}, {"post_id": 70896, "ts": "2026-09-19T23:38:42Z", "hours": 9.4997, "text": "WE HAVE HIT 100 HOURS LOGGED!!!! wow the amount of time I spent on this is CRAZY! anyways we have had little improvements on the matcher I have been trying to get it to give me a full animation but it refuses instead kinda just wiggling its arms up and down pretending to be a bird OR snapping between poses that have NOTHING to do with walking. I have spent the last few hours attempting to calibrate it to work as well as writing a better dataset debug script so then it will be easier to visualize what every frame of animation contains Data-wise so then I can attempt to manually match frames and see what the matcher ranks them vs what it normally matches so the I can maybe weight it or bias it a bit. we only have a week and bit left LET LOCK IN!!!!!!!!!!!!!!!!!!!!"}, {"post_id": 67146, "ts": "2026-09-13T06:34:17Z", "hours": 6.7892, "text": "we have done it! MOTION MATCHING FROM SCRATCH! the last week has been crazy. I have found more data from a unity demo of a long discontinued motion matching asset and I have retargeted the animation in blender and brought it into unity with proper root motion. since this was my first time using more then one animation clip with EVERYTHING I expected bugs and errors AND THAT I GOT. I had to go in and rewrite a really small chunk of how the dataset maker compiles the trajectory data. I had to make the matcher actually handle more then one clip as well as dig into a null reference error it was giving me so I had to dig into it more and learn that the dataset was still flawed and go back and do more to the editor AND THEN ONCE the data was good now the matcher scales the character to like 300% or something and I never even told it to touch scale so now I have to properly set up multi-animation unity playables since before I didn’t know that you couldn’t just set all the blend weights to one and hope for the best. now finally after all of that. it appears to match and hold onto a frame. I have a few last features to implement into it that being velocity matching so then it wont just hold a frame but understand that arms move and swing. as well as debug info for both me while testing as well as for you my dear hackclubbers so when I ship you all can see a bit into the inner workings of it. thank you for coming with me on this journey I never expected it to go this long but it feels good to have at least one person interested in what I’m working on for once and not just get shrugged off. - Ash ❤️ Video is of the matcher working photos are of the scaling issue"}, {"post_id": 63393, "ts": "2026-09-07T06:09:06Z", "hours": 5.9814, "text": "sheesh I’ve done a bit in the last week. So we have added the ability to match bones in the matcher got the matcher to handle multiple animation clips and I guess that’s it… I honestly thought I did more… on paper it doesn’t actually seem like that much.. huh. OH WELL! I also found a MASIVE collection of animation from a unreal engine demo project so I’m probably going to extract that and retarget TONS of that over the next few days because imma say it the problem with the matcher is the lack of good data at this point. Pink/Purple - Animation frame data position Red/green - predicted trajectory"}, {"post_id": 60036, "ts": "2026-09-02T04:33:58Z", "hours": 1.2344, "text": "OK OK OK IT WORKS!!!!! so we got bone positions to work. I’m done for the day. anyways I literally just had to flip my subtraction around… yes… its stupid…. anyways went from this: RootPositions[i][j] - BoneTransform.position to this: BoneTransform.position - RootPositions[i][j]. ok mic drop… I did say I would ship by the end of the month of august and clearly that didn’t happen but it will (hopefully) be this week Pink sphere is the foot pos from data set Blue is the other models foot pos not from dataset then red is root position (Also 2 devlogs in one day! I’m on fire!)"}, {"post_id": 59736, "ts": "2026-09-01T17:45:26Z", "hours": 8.6739, "text": "IM SO CLOSE!!!!!!!!! LIKE LATER TODAY (maybe can’t promise anything or the programing gods will kill me) I WILL HAVE MOTION MATCHING IN A GOOD DEMOABLE STATE FOR ME TO SHIP! I have got the bone data to work and actually spit out something useful by changing my whole approach and instead of sampling curves (which could work I just gotta deal with all the weird problems) I have created a unity scene in memory it spawns in the rig samples all the bone transform.positrons making unity do all the math and hard work before it returns me world positions of all of the bones I told it to track. the only problem I am having now is that I got to convert those world positions back into local position so that they can work anywhere (and yes I just converted them from local position to world position and this might sound counter intuitive but I need to change the parent of the local position) I remember this being easy for trajectory matching but maybe since this is WAYY more sensitive to rotation I need to try a different approach. the final stretch is approaching us dear hack clubbers. I got the rest of today then school starts tomorrow. LETS! LOCK! IN! YEAAAAAAAAAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!! btw the pink sphere is the foot potion… or what should be the foot position. Blue is the actual foot position. Red is root Position"}, {"post_id": 54275, "ts": "2026-08-25T05:45:45Z", "hours": 8.4231, "text": "Note to self… don’t freehand code… plan everything out on paper because I’m just experiencing Murphey’s law at this point :-< so…. the data that I didn’t know if it was right or not was incorrect… VERY incorrect (kinda) so that data was in local space I need it in world space but to convert it you either need to do the conversion through a transform (which requires a transform to reference) or do what I am doing (since I don’t have a easily accessible transform (unless I’m stupid and don’t know of one)) so I am going up the paths and for each object extracting their position and transforms (in local position) then adding it up until I eventually hit the root which would be in world space so now its converted (I’m doing the same for rotation too with more math) anyways my code for this entire project was never pre planned and I never normally pre plan but this is one of the times where once it works I’m going to figure out how it works (because who am I kidding I don’t really know) then I’m writing all of it down on paper and optimizing the loops and everything before jumping back into the editor to re-write the bake() function from scratch leading to MUCH BETTER READABILTY and hopefully speed because it takes a good 5 seconds from my for loops and brute force. anyways if you cant tell this is VERY BORING WORK and I really just want it to work SO BADLY because once I get everything in world position the next steps should be really easy but I shouldn’t say that because at this point if I do I might jinx myself"}, {"post_id": 46135, "ts": "2026-08-13T04:38:45Z", "hours": 3.9642, "text": "WOW JUST WOW!!! So I toured the Vicon Set-up at my local univercity and it was amazing. I loved every moment of it. they even put markers on me and captured some data (not any I can use for motion matching but still WOW THAT TECH IS COOL) In more on topic news I got the dataset maker to output bone data into the database. is it the correct data… idk but I will figure that out! (Photo of me standing forward is just a general photo with the markers. photo of me looking away from camera with hand in air is me showing off all the retroreflective markers (and EMGs) then there is a photo of the compiled dataset)"}, {"post_id": 43104, "ts": "2026-08-08T06:02:03Z", "hours": 2.9892, "text": "THERE WE GO! finally we can select what bones we want to track from a nested dropdown. now I just need to implement it into the baking logic so I can get a finished dataset out of dataset maker. perfect timing too. I have gotten a few emails back from the university and they are willing to give me a tour of the Vicon system and there may be a chance one day to capture data on it so hopefully everything works out and I can capture on the same tech that AAA game studios use which would be a dream come true and would blow my mind."}, {"post_id": 40564, "ts": "2026-08-04T06:14:32Z", "hours": 3.9083, "text": "There we go. I think I finally got it working. JEEZ UNITY NEEDS BETTER DOCUMENTATION ON THE UI TOOLKIT LIKE WOW ITS THAT BAD…. anyway I got the custom lists working now I just gotta add the actual bone selections then write in the logic to add everything to the datasets. if you look at the photo that’s roughly how it will look to use the dataset maker. not sure if I mentioned this in the last devlog but I finally messaged my local university to see if they will let me either tour or use their vicon system so I’m hoping something comes of that because that would be really cool. anyways its really late I pulled another programmer and stayed up till midnight working. see yall later."}, {"post_id": 38041, "ts": "2026-07-31T06:49:07Z", "hours": 7.1853, "text": "Pretty boring stuff happening right now. I have been working to implement bone positional and velocity tracking into the dataset builder but since I wanted to use a custom class to do it the unity UI Toolkit decided to pick a fight and be really annoying to do it in. if anyone wants to write a custom class in unity and have it show up in a list view use this: link I also am working on processing some mocap data but its not going so well right now and I am getting pretty tired with dealing with these markerless systems so we will see if my local university will let me use or even tour their 10 cam Vicon setup (cross your fingers for me) anyways I still have one mocap session to prosses so I will probably do that tomorrow since I can just let it run while I am doing other things. also I just watched these videos where this guy is building open sourced optical mocap cameras and I think I might just funnel all my hack club hours into pcb credits to build a few of them. part 1 vid: https://youtu.be/kYVqL_DqBis?si=CPKxKiLa8cxf3M1t Part 2 vid: https://youtu.be/WJ13C_1hDIA?si=hMlQ8u5ofEBf-cFS"}, {"post_id": 34122, "ts": "2026-07-24T16:47:29Z", "hours": 8.3331, "text": "#MOTION MATCHING SYSTEM V1 DEVLOG ok its been a few days and we have gotten a few things done including started work on feet and hand bone tracking (the secret sause to motion matching) I finished making the large Charuco Board so I can calibrate FreeMoCap. so its coming along… slowly but that’s ok. the hardest part of all of this is the motion capture though since my setup is really bad (I wish my city had a capture studio somewhere even if it was small)"}, {"post_id": 29976, "ts": "2026-07-17T06:02:22Z", "hours": 10.1758, "text": "sheesh its been awhile since I last posted a devlog. MOTION MATCHING SYSTEM V1 - HIP Better matching Change Log/Updates Matching changed from world space to local space started work on recording motion capture I got more consistent matching now thanks to changing how it store the data in the dataset and how it matches to it. originally the future trajectory positions where stored as world space values in the dataset and the matcher would match it to the players world space values. if you know how transform systems work in game engines or blender you might know that because of that I had to be in the EXACT same position in the world that the data was recorded (you can see this in my last devlog where I kinda wiggle around in a few areas and get flurries of matches) in which… doesn’t work very well for this because if you had to record your self walking forwards backwards and side to side for ever single value in the game world that would take you FOREVER! so I switched it to local space which is basically where you are in the world based off of something. so like instead of 0, 0, 0 being the root of the world it would be where the character is so the trajectory positions are based around the character transform… do you know what I mean? I hope so because I cant think of a better way to explain it at the moment. Right now the biggest thing holding me back is the actual motion capture data that I am feeding into this thing because the recording I downloaded… is really bad. so I have been experimenting with a free open sourced software called FreeMoCap which is a marker less triangulation based motion capture software. I will report back when I get some good results out of it (hopefully soon) TODO hand and feet position and velocity matching 6 to 8 camera motion capture data finish Charuco board for FreeMoCap camera calibration Video is of the new matching in action the red (and 1 green) points are the players future predicted trajectory the pinkish purple points are the animation fames current trajectory. they should be aligned most of the time"}, {"post_id": 19015, "ts": "2026-06-30T05:40:05Z", "hours": 2.9392, "text": "FIRST MATCH!!! WE DID IT! This past week I started working on code to compare and chose a frame to play (the actual matcher) and it works… Kind of? YES IT MACHES… Is it a good match? HECK NO!!!! BUT IT MATCHES!!!! AND THAT JUST MADE 9 MONTHS OF WORK WORTH IT AS I HYPERVENTILATE WATCHING MY MATCHER STUGGLE BADLY LAGING EVERYTHING BUT IT WORKS! now the next step is making it work… properly. the video is of it trying to match. i kinda move around a bit to get it changing data but you can tell when it finds… something because the character will lock onto a frame or start playing the animation."}, {"post_id": 15199, "ts": "2026-06-24T18:20:54Z", "hours": 10.0492, "text": "WE HAVE A WORKING DATASET! Hello hack club! Didja miss me? NO?! WELL TOO BAD!!!!! I now got my motion capture data outputting a dataset with trajectory samples and root positions which is a VERY big step forwards. so as I have mentioned in the past motion matching is literally what MOTION MATCHING is doing. Matching the motion. I have had player predicted trajectory working since before stardance even started but only recently have we started to make progress on the motion capture data that we can MATCH to the players predicted trajectory. the set up I have going on for running the motion data extraction is really cool if I do say so myself. I have a custom editor menu where I can add animation clips and tell it what times in the future I want the trajectory to sampled from then it will compile everything into a scriptable object. plus I also added cool loading bars! anyways we are getting very close to having actual motion matching made from scratch. wow. 9 months this has took so far. its been fun. well… technically not done yet so lets keep up the good work and build the matching algorithm"}, {"post_id": 8844, "ts": "2026-06-14T18:22:33Z", "hours": 7.4806, "text": "DataSet Baker V1 Alpha - HIP is in the works!!!!! Now you might be asking why it’s named HIP, and unless you are from Canada you will most likely not know who I am going to talk about, but the motion matching editor versions are going to be named after Tragically Hip album names (the first one is self titled so HIP). Anyways, in the last week I have gotten a lot done. I started work on actually figuring out the logic to get the trajectory out of the animation (and I don’t remember if I talked about this before but there were 2 ideas I had. 1 is I put the animation’s root motion through a lot more math to get a proper predicted trajectory just like how the input trajectory works. Or just sample the actual future, but then you would get problems like a 90 degree turn where the animation isn’t even anticipating it yet but the trajectory says it should be.) I actually got really confused and stuck so I emailed someone. That someone is Daniel Holden, the creator of Learned Motion Matching (and he runs the website where I learned the first input trajectory math). And WOW!!!! HE RESPONDED: Hi Asher, Sorry for the late reply, I have been travelling the last couple of days. First of all I just wanted to say that it is awesome that you are looking into advanced animation techniques like these already. (email removed for space) (i might put it in the comments if you want to read it) I hope that helps! All the best, Dan LIKE HOLY COW!!! I am talking to a LEGEND!!!! Normal motion matching works as such: you got 2 trajectories, a predicted one from the input then a true trajectory from the animation, then you load all that animation into RAM and use a matcher to play the correct frame. But what he made was use a neural network instead of the matcher and database WHICH SHRUNK RAM USAGE LIKE CRAZY (and I might have to get working on something like that sometime soon because RAM prices don’t appear to be dropping anytime soon). Anyways, in the email he said that my second idea was actually right. The idea that I thought was wrong, but he says is just a sad limitation of it and nobody has figured it out yet (yet…). So that will make life easier because I WILL BE ABLE TO FINISH THE DATASET STUFF HOPEFULLY IN A WEEK!!!!!!! And to make that dataset I started messing around with Unity’s UI Toolkit and custom editors. So now I have several custom drop downs and then you can open the MOTION MATCHING DATASET EDITOR where you can define all of your animation clips and once I write the rest, be able to press the bake button. It will process every frame and then spit out a Scriptable Object or database. Now hopefully writing the rest will be easier than writing the UI code because the UI stuff is powerful but not like normal runtime coding."}, {"post_id": 5233, "ts": "2026-06-08T22:55:23Z", "hours": 1.5761, "text": "HELLO STARDANCE!!!!!! I THINK I FIXED IT!!! Now I am not going to even mention that root motion is working this time because if you have been following along you know that the second “IT WORKS!” comes out of my mouth something breaks. So last devlog I said I thought it was working but… my character was half way in the floor. after a bit of fiddling around and some google I discovered that the problem was that I had put the root bone in the hips of the character. And apparently in unity that’s a big no no. So one hour and eight minutes of blender B.S later I Fixed it (hopefully). I ended up using a blender addon called RootMaker to create a proper root bone at the feet where unity wants it. then I used the addon to transfer all of the root motion data from the hips into the new dedicated root bone. so now hopefully unity will be happy that it has a proper root bone to work with and wont try to shove my character into the earths mantle. The crazy part of all of this is that I have been doing more of blender and fighting animation during Stardance than actually working on the motion matching so if this continues to work I can get to work on what I am supposed to be doing; working on the actual motion matching. since I am the music variety of nerd I spend most of my time coding jamming to music and I think I started measuring my programing time in albums rather then hours XD. Over the course of just this weekend I have listened front to back to: 21st Century Breakdown - Green Day American Idiot - Green Day Back in Black - AC/DC Black Holes and Revelations - Muse The Black Parade - My Chemical Romance and if you add all of the runtimes of those albums up it matches very close to the time logged in Stardance so it might work XD. anyways I am going to go stretch my legs then maybe play some of The Last of Us Part 2 (which is very appropriate since it too uses motion matching as its animation system)"}, {"post_id": 5031, "ts": "2026-06-08T18:06:54Z", "hours": 1.1372, "text": "at this point I should stop saying that I have root motion working because every time I say that I jinx it and something falls apart. so I set everything up wrong (of course) so I need to pull all of the rigs apart once more to fix some errors that I made there and how I set up the root bone (its set at the hips not at the feet). so its been a fun ride (not) plus my laptop keeps trying to update my graphics drivers and every time it crashes unity, blender, plus all of the audio drivers with it. XD. I hope after today I can start work back up on motion matching and not dealing with blender and its shenanigans."}, {"post_id": 4545, "ts": "2026-06-07T21:49:20Z", "hours": 0.8836, "text": "Ok. I may have celebrated a little bit early. but I think I finally got root motion working for real this time. the problem was a combination of blender being blender, transformation offsets, weird scaling and just the names of objects/bones being wrong. though I did get an awesome video from when I was testing and comparing two animations together and root motion sent one of them into the floor so we got a beautiful video of one guy riding the other guys head. anyways lets hope that this keeps working because I just want to get my math mathing and dataset datasetting"}, {"post_id": 4362, "ts": "2026-06-07T17:35:54Z", "hours": 1.3164, "text": "This morning I got root motion finally set up in unity. since that now works I can begin working on a data set for the motion matching. I guess I never really explained how motion matching works in any of my other devlogs so I am going to do that right now: Motion matching is a animating technique where instead of using classic state machines that go if walking play walking animation they go this is your current position, velocity, trajectory, and a lot more and try to MATCH that MOTION to a large database of motion captured animations. so what I will be working on next is building that database/dataset of animations and the code to pull the current position, velocity, trajectory out of the animations then store each frame in a dataset for the matching code to search though to find one that matches what the character is currently doing on screen. its sounds kinda easy but trust me unless you are a big math/physics person (which I am not) its quite difficult to figure out how it al l works (plus you also need to know animations and blender which SUCKSSSS!) Also the video is of root motion NOT WORKING!"}, {"post_id": 1659, "ts": "2026-06-03T19:53:43Z", "hours": 1.2667, "text": "fighting unity and blender animation systems"}, {"post_id": 335, "ts": "2026-06-01T17:11:13Z", "hours": 0.4014, "text": "I got input trajectory working. The reason it wasn’t before was that movement and the prediction where in different update types (one was in fixed update and one was in regular update) so that works really well now. Now I am setting stuff up to make a animation dataset which involve me modifying my trajectory code to make it work with PRE RECORDED animations Devlogs From flavortown: Devlog 1: Lots of research and trial and error. I have spent all this time looking for an algorithm that works to generate a predicted trajectory from an input. I think I found the right one (I haven’t tested it yet) but if not then I know that I am looking in the right place at Daniel Holden’s articles on spring dampers check it out here: https://theorangeduck.com/page/spring-roll-call#controllers Devlog 2: I got the Trajectory prediction working!!!! after all of that math, research, and pain. it works! I wish I could truly express in words how happy I am. everything is based off of the work of Daniel Holden you can find it here: https://theorangeduck.com/page/spring-roll-call#controllers Devlog 3: Fixed jittering issue by adding a lerp to desired trajectory."}]...
|
Title: Unity Motion Matching System by @NintedoAsh Title: Unity Motion Matching System by @NintedoAsh12 | Stardance
Devlogs:
I got input trajectory working. The reason it wasn’t before was that movement and the prediction where in different update types (one was in fixed update and one was in regular update) so that works really well now. Now I am setting stuff up to make a animation dataset which involve me modifying my trajectory code to make it work with PRE RECORDED animations Devlogs From flavortown: Devlog 1: Lots of research and trial and error. I have spent all this time looking for an algorithm that works to generate a predicted trajectory from an input. I think I found the right one (I haven’t tested it yet) but if not then I know that I am looking in the right place at Daniel Holden’s articles on spring dampers check it out here: https://theorangeduck.com/page/spring-roll-call#controllers Devlog 2: I got the Trajectory prediction working!!!! after all of that math, research, and pain. it works! I wish I could truly express in words how happy I am. everything is based off of the work of Daniel Holden you can find it here: https://theorangeduck.com/page/spring-roll-call#controllers Devlog 3: Fixed jittering issue by adding a lerp to desired trajectory.
fighting unity and blender animation systems
This morning I got root motion finally set up in unity. since that now works I can begin working on a data set for the motion matching. I guess I never really explained how motion matching works in any of my other devlogs so I am going to do that right now: Motion matching is a animating technique where instead of using classic state machines that go if walking play walking animation they go this is your current position, velocity, trajectory, and a lot more and try to MATCH that MOTION to a large database of motion captured animations. so what I will be working on next is building that database/dataset of animations and the code to pull the current position, velocity, trajectory out of the animations then store each frame in a dataset for the matching code to search though to find one that matches what the character is currently doing on screen. its sounds kinda easy but trust me unless you are a big math/physics person (which I am not) its quite difficult to figure out how it al l works (plus you also need to know animations and blender which SUCKSSSS!) Also the video is of root motion NOT WORKING!
Ok. I may have celebrated a little bit early. but I think I finally got root motion working for real this time. the problem was a combination of blender being blender, transformation offsets, weird scaling and just the names of objects/bones being wrong. though I did get an awesome video from when I was testing and comparing two animations together and root motion sent one of them into the floor so we got a beautiful video of one guy riding the other guys head. anyways lets hope that this keeps working because I just want to get my math mathing and dataset datasetting
at this point I should stop saying that I have root motion working because every time I say that I jinx it and something falls apart. so I set everything up wrong (of course) so I need to pull all of the rigs apart once more to fix some errors that I made there and how I set up the root bone (its set at the hips not at the feet). so its been a fun ride (not) plus my laptop keeps trying to update my graphics drivers and every time it crashes unity, blender, plus all of the audio drivers with it. XD. I hope after today I can start work back up on motion matching and not dealing with blender and its shenanigans.
HELLO STARDANCE!!!!!! I THINK I FIXED IT!!! Now I am not going to even mention that root motion is working this time because if you have been following along you know that the second “IT WORKS!” comes out of my mouth something breaks. So last devlog I said I thought it was working but… my character was half way in the floor. after a bit of fiddling around and some google I discovered that the problem was that I had put the root bone in the hips of the character. And apparently in unity that’s a big no no. So one hour and eight minutes of blender B.S later I Fixed it (hopefully). I ended up using a blender addon called RootMaker to create a proper root bone at the feet where unity wants it. then I used the addon to transfer all of the root motion data from the hips into the new dedicated root bone. so now hopefully unity will be happy that it has a proper root bone to work with and wont try to shove my character into the earths mantle. The crazy part of all of this is that I have been doing more of blender and fighting animation during Stardance than actually working on the motion matching so if this continues to work I can get to work on what I am supposed to be doing; working on the actual motion matching. since I am the music variety of nerd I spend most of my time coding jamming to music and I think I started measuring my programing time in albums rather then hours XD. Over the course of just this weekend I have listened front to back to: 21st Century Breakdown - Green Day American Idiot - Green Day Back in Black - AC/DC Black Holes and Revelations - Muse The Black Parade - My Chemical Romance and if you add all of the runtimes of those albums up it matches very close to the time logged in Stardance so it might work XD. anyways I am going to go stretch my legs then maybe play some of The Last of Us Part 2 (which is very appropriate since it too uses motion matching as its animation system)
DataSet Baker V1 Alpha - HIP is in the works!!!!! Now you might be asking why it’s named HIP, and unless you are from Canada you will most likely not know who I am going to talk about, but the motion matching editor versions are going to be named after Tragically Hip album names (the first one is self titled so HIP). Anyways, in the last week I have gotten a lot done. I started work on actually figuring out the logic to get the trajectory out of the animation (and I don’t remember if I talked about this before but there were 2 ideas I had. 1 is I put the animation’s root motion through a lot more math to get a proper predicted trajectory just like how the input trajectory works. Or just sample the actual future, but then you would get problems like a 90 degree turn where the animation isn’t even anticipating it yet but the trajectory says it should be.) I actually got really confused and stuck so I emailed someone. That someone is Daniel Holden, the creator of Learned Motion Matching (and he runs the website where I learned the first input trajectory math). And WOW!!!! HE RESPONDED: Hi Asher, Sorry for the late reply, I have been travelling the last couple of days. First of all I just wanted to say that it is awesome that you are looking into advanced animation techniques like these already. (email removed for space) (i might put it in the comments if you want to read it) I hope that helps! All the best, Dan LIKE HOLY COW!!! I am talking to a LEGEND!!!! Normal motion matching works as such: you got 2 trajectories, a predicted one from the input then a true trajectory from the animation, then you load all that animation into RAM and use a matcher to play the correct frame. But what he made was use a neural network instead of the matcher and database WHICH SHRUNK RAM USAGE LIKE CRAZY (and I might have to get working on something like that sometime soon because RAM prices don’t appear to be dropping anytime soon). Anyways, in the email he said that my second idea was actually right. The idea that I thought was wrong, but he says is just a sad limitation of it and nobody has figured it out yet (yet…). So that will make life easier because I WILL BE ABLE TO FINISH THE DATASET STUFF HOPEFULLY IN A WEEK!!!!!!! And to make that dataset I started messing around with Unity’s UI Toolkit and custom editors. So now I have several custom drop downs and then you can open the MOTION MATCHING DATASET EDITOR where you can define all of your animation clips and once I write the rest, be able to press the bake button. It will process every frame and then spit out a Scriptable Object or database. Now hopefully writing the rest will be easier than writing the UI code because the UI stuff is powerful but not like normal runtime coding.
WE HAVE A WORKING DATASET! Hello hack club! Didja miss me? NO?! WELL TOO BAD!!!!! I now got my motion capture data outputting a dataset with trajectory samples and root positions which is a VERY big step forwards. so as I have mentioned in the past motion matching is literally what MOTION MATCHING is doing. Matching the motion. I have had player predicted trajectory working since before stardance even started but only recently have we started to make progress on the motion capture data that we can MATCH to the players predicted trajectory. the set up I have going on for running the motion data extraction is really cool if I do say so myself. I have a custom editor menu where I can add animation clips and tell it what times in the future I want the trajectory to sampled from then it will compile everything into a scriptable object. plus I also added cool loading bars! anyways we are getting very close to having actual motion matching made from scratch. wow. 9 months this has took so far. its been fun. well… technically not done yet so lets keep up the good work and build the matching algorithm
FIRST MATCH!!! WE DID IT! This past week I started working on code to compare and chose a frame to play (the actual matcher) and it works… Kind of? YES IT MACHES… Is it a good match? HECK NO!!!! BUT IT MATCHES!!!! AND THAT JUST MADE 9 MONTHS OF WORK WORTH IT AS I HYPERVENTILATE WATCHING MY MATCHER STUGGLE BADLY LAGING EVERYTHING BUT IT WORKS! now the next step is making it work… properly. the video is of it trying to match. i kinda move around a bit to get it changing data but you can tell when it finds… something because the character will lock onto a frame or start playing the animation.
sheesh its been awhile since I last posted a devlog. MOTION MATCHING SYSTEM V1 - HIP Better matching Change Log/Updates Matching changed from world space to local space started work on recording motion capture I got more consistent matching now thanks to changing how it store the data in the dataset and how it matches to it. originally the future trajectory positions where stored as world space values in the dataset and the matcher would match it to the players world space values. if you know how transform systems work in game engines or blender you might know that because of that I had to be in the EXACT same position in the world that the data was recorded (you can see this in my last devlog where I kinda wiggle around in a few areas and get flurries of matches) in which… doesn’t work very well for this because if you had to record your self walking forwards backwards and side to side for ever single value in the game world that would take you FOREVER! so I switched it to local space which is basically where you are in the world based off of something. so like instead of 0, 0, 0 being the root of the world it would be where the character is so the trajectory positions are based around the character transform… do you know what I mean? I hope so because I cant think of a better way to explain it at the moment. Right now the biggest thing holding me back is the actual motion capture data that I am feeding into this thing because the recording I downloaded… is really bad. so I have been experimenting with a free open sourced software called FreeMoCap which is a marker less triangulation based motion capture software. I will report back when I get some good results out of it (hopefully soon) TODO hand and feet position and velocity matching 6 to 8 camera motion capture data finish Charuco board for FreeMoCap camera calibration Video is of the new matching in action the red (and 1 green) points are the players future predicted trajectory the pinkish purple points are the animation fames current trajectory. they should be aligned most of the time
#MOTION MATCHING SYSTEM V1 DEVLOG ok its been a few days and we have gotten a few things done including started work on feet and hand bone tracking (the secret sause to motion matching) I finished making the large Charuco Board so I can calibrate FreeMoCap. so its coming along… slowly but that’s ok. the hardest part of all of this is the motion capture though since my setup is really bad (I wish my city had a capture studio somewhere even if it was small)
Pretty boring stuff happening right now. I have been working to implement bone positional and velocity tracking into the dataset builder but since I wanted to use a custom class to do it the unity UI Toolkit decided to pick a fight and be really annoying to do it in. if anyone wants to write a custom class in unity and have it show up in a list view use this: link I also am working on processing some mocap data but its not going so well right now and I am getting pretty tired with dealing with these markerless systems so we will see if my local university will let me use or even tour their 10 cam Vicon setup (cross your fingers for me) anyways I still have one mocap session to prosses so I will probably do that tomorrow since I can just let it run while I am doing other things. also I just watched these videos where this guy is building open sourced optical mocap cameras and I think I might just funnel all my hack club hours into pcb credits to build a few of them. part 1 vid: https://youtu.be/kYVqL_DqBis?si=CPKxKiLa8cxf3M1t Part 2 vid: https://youtu.be/WJ13C_1hDIA?si=hMlQ8u5ofEBf-cFS
There we go. I think I finally got it working. JEEZ UNITY NEEDS BETTER DOCUMENTATION ON THE UI TOOLKIT LIKE WOW ITS THAT BAD…. anyway I got the custom lists working now I just gotta add the actual bone selections then write in the logic to add everything to the datasets. if you look at the photo that’s roughly how it will look to use the dataset maker. not sure if I mentioned this in the last devlog but I finally messaged my local university to see if they will let me either tour or use their vicon system so I’m hoping something comes of that because that would be really cool. anyways its really late I pulled another programmer and stayed up till midnight working. see yall later.
THERE WE GO! finally we can select what bones we want to track from a nested dropdown. now I just need to implement it into the baking logic so I can get a finished dataset out of dataset maker. perfect timing too. I have gotten a few emails back from the university and they are willing to give me a tour of the Vicon system and there may be a chance one day to capture data on it so hopefully everything works out and I can capture on the same tech that AAA game studios use which would be a dream come true and would blow my mind.
WOW JUST WOW!!! So I toured the Vicon Set-up at my local univercity and it was amazing. I loved every moment of it. they even put markers on me and captured some data (not any I can use for motion matching but still WOW THAT TECH IS COOL) In more on topic news I got the dataset maker to output bone data into the database. is it the correct data… idk but I will figure that out! (Photo of me standing forward is just a general photo with the markers. photo of me looking away from camera with hand in air is me showing off all the retroreflective markers (and EMGs) then there is a photo of the compiled dataset)
Note to self… don’t freehand code… plan everything out on paper because I’m just experiencing Murphey’s law at this point :-< so…. the data that I didn’t know if it was right or not was incorrect… VERY incorrect (kinda) so that data was in local space I need it in world space but to convert it you either need to do the conversion through a transform (which requires a transform to reference) or do what I am doing (since I don’t have a easily accessible transform (unless I’m stupid and don’t know of one)) so I am going up the paths and for each object extracting their position and transforms (in local position) then adding it up until I eventually hit the root which would be in world space so now its converted (I’m doing the same for rotation too with more math) anyways my code for this entire project was never pre planned and I never normally pre plan but this is one of the times where once it works I’m going to figure out how it works (because who am I kidding I don’t really know) then I’m writing all of it down on paper and optimizing the loops and everything before jumping back into the editor to re-write the bake() function from scratch leading to MUCH BETTER READABILTY and hopefully speed because it takes a good 5 seconds from my for loops and brute force. anyways if you cant tell this is VERY BORING WORK and I really just want it to work SO BADLY because once I get everything in world position the next steps should be really easy but I shouldn’t say that because at this point if I do I might jinx myself
IM SO CLOSE!!!!!!!!! LIKE LATER TODAY (maybe can’t promise anything or the programing gods will kill me) I WILL HAVE MOTION MATCHING IN A GOOD DEMOABLE STATE FOR ME TO SHIP! I have got the bone data to work and actually spit out something useful by changing my whole approach and instead of sampling curves (which could work I just gotta deal with all the weird problems) I have created a unity scene in memory it spawns in the rig samples all the bone transform.positrons making unity do all the math and hard work before it returns me world positions of all of the bones I told it to track. the only problem I am having now is that I got to convert those world positions back into local position so that they can work anywhere (and yes I just converted them from local position to world position and this might sound counter intuitive but I need to change the parent of the local position) I remember this being easy for trajectory matching but maybe since this is WAYY more sensitive to rotation I need to try a different approach. the final stretch is approaching us dear hack clubbers. I got the rest of today then school starts tomorrow. LETS! LOCK! IN! YEAAAAAAAAAAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!! btw the pink sphere is the foot potion… or what should be the foot position. Blue is the actual foot position. Red is root Position
OK OK OK IT WORKS!!!!! so we got bone positions to work. I’m done for the day. anyways I literally just had to flip my subtraction around… yes… its stupid…. anyways went from this: RootPositions[i][j] - BoneTransform.position to this: BoneTransform.position - RootPositions[i][j]. ok mic drop… I did say I would ship by the end of the month of august and clearly that didn’t happen but it will (hopefully) be this week Pink sphere is the foot pos from data set Blue is the other models foot pos not from dataset then red is root position (Also 2 devlogs in one day! I’m on fire!)
sheesh I’ve done a bit in the last week. So we have added the ability to match bones in the matcher got the matcher to handle multiple animation clips and I guess that’s it… I honestly thought I did more… on paper it doesn’t actually seem like that much.. huh. OH WELL! I also found a MASIVE collection of animation from a unreal engine demo project so I’m probably going to extract that and retarget TONS of that over the next few days because imma say it the problem with the matcher is the lack of good data at this point. Pink/Purple - Animation frame data position Red/green - predicted trajectory
we have done it! MOTION MATCHING FROM SCRATCH! the last week has been crazy. I have found more data from a unity demo of a long discontinued motion matching asset and I have retargeted the animation in blender and brought it into unity with proper root motion. since this was my first time using more then one animation clip with EVERYTHING I expected bugs and errors AND THAT I GOT. I had to go in and rewrite a really small chunk of how the dataset maker compiles the trajectory data. I had to make the matcher actually handle more then one clip as well as dig into a null reference error it was giving me so I had to dig into it more and learn that the dataset was still flawed and go back and do more to the editor AND THEN ONCE the data was good now the matcher scales the character to like 300% or something and I never even told it to touch scale so now I have to properly set up multi-animation unity playables since before I didn’t know that you couldn’t just set all the blend weights to one and hope for the best. now finally after all of that. it appears to match and hold onto a frame. I have a few last features to implement into it that being velocity matching so then it wont just hold a frame but understand that arms move and swing. as well as debug info for both me while testing as well as for you my dear hackclubbers so when I ship you all can see a bit into the inner workings of it. thank you for coming with me on this journey I never expected it to go this long but it feels good to have at least one person interested in what I’m working on for once and not just get shrugged off. - Ash ❤️ Video is of the matcher working photos are of the scaling issue
WE HAVE HIT 100 HOURS LOGGED!!!! wow the amount of time I spent on this is CRAZY! anyways we have had little improvements on the matcher I have been trying to get it to give me a full animation but it refuses instead kinda just wiggling its arms up and down pretending to be a bird OR snapping between poses that have NOTHING to do with walking. I have spent the last few hours attempting to calibrate it to work as well as writing a better dataset debug script so then it will be easier to visualize what every frame of animation contains Data-wise so then I can attempt to manually match frames and see what the matcher ranks them vs what it normally matches so the I can maybe weight it or bias it a bit. we only have a week and bit left LET LOCK IN!!!!!!!!!!!!!!!!!!!!
HOLY CRAP IT WALKS!!! I can’t believe it. I am so FLIIPING happy ITS MOTION MATCHING! THAT IS ACTAUL REAL MOVEMENT AND NOT JUST WIGGLES!!!!! AAAAAAHHHHHH!!!!!! HECK YEAH!!!!!!! ok so in reality its still not fully working. I had to disable bone velocity matching completely to get it to work but I think I figured out why it doesn’t work. for trajectory matching I realized that the character is scaled to 1.83 instead of just 1 so that will affect the matching and I have to implement an offset (and I did it for the bone positions too but I never did it to the velocities) anyways I think I will fiddle with it till that work epeshly since STARDANCE WAS EXETENDED UNTILL OCTOBER 30TH THANK YOU HACK CLUB!!!! Video is of it working, not working and me playing with settings.
Working on velocity matching. its kinda working now better then it was but its really weird that it slows the character down so much but its better then random snapping poses
OK OK IT WORKS ENOUGH OK DONT TOUCH IT I’m a fraud you guys. I couldn’t figure out the velocity thing so I…. I USED AI! I SWARE I HAVENT BEEN THIS ENTIRE TIME…. ok heres what happened I couldn’t figure it out so I had some AI going through some Motion Matching related thesis stuff and explaining it to me and then I ended up giving it a small chunk of my matcher code use to generate the cost and it pointed out my problems….. so 1. The way I was calculating local position was wrong which is funny because when I do it the other way it also breaks but then that leads into the second part. 2. I was inverting data and that was what was keeping the system working for some reason awhile back and even when I tried removing it a bit ago it broke which was really weird. anyways if you change both of them they fix each other so YAY I guess… sorry for the AI usage. it didn’t re write my code for me though I hand fixed my problem which I can proudly say all of the code is all hand typed…. (other then stuff I copy and pasted and or reused from other code I wrote… TRUST ME I NEVER WANT TO REWRITE UI SYSTEMS please unity fix the uitoolkit its bad)
I finally made a git hub repository. I also made a new unity project and moved everything into it to clean everything up for the demo I am starting to work on. I also made Bone Rotation matching but it doesn’t contribute all that match. I should be ready to ship/ Have a demo ready soon
LOTS OF DEBUG UI COMEING YOUR WAY! I have added lots of UI stuff to display internal values such as costs as stuff. I have also added the ability to adjust motion matching settings from in the demo so when I upload it to itch.io all of you can play with the system as much as you want and tell me how bad you broke it. to do wise its a bit more UI (some of it doesn’t work or I want it to look better) and then the data points kinda like the unity gizmo stuff I have been showing you here on star dance. anyways its like 1 AM I should have gone to bed HOURS AGO so I’mma go brush my teeth and work some more tomorrow…. my keyboard is starting to fail :-< Goodnight y’all. or good morning to the folk around the world like in Norway or something
The demo UI has been finished and it works quite well! I have a few more things to add like a looping map so that the Character doesn’t just walk off the end of the world and die plus some more main menu stuff I think too. anyways progress has been fast so far so expect more soon!
OK its fixed now but first test build didn’t go so well (see video) the problem was unity wasn’t saving any of my data running in the background because it wasn’t serialized. I also organized project files plus removing unneeded scripts (I reuse code a lot and sometimes things get replaced and just left there) I also if you can’t tell from the video a dropped frame counter to show matches that where canceled because the current frame was good enough to meet the cost threshold. anyways I think now most of what I have to do it package everything up into… well a package then send it off into the world for you the hack clubbers to mess around with. EDIT: I added a demo for Windows to the github if you want to try it early
Not much changed I made an Itch.io for the demo. I also started adding comments to all of my code yeah its hard to remember what does what but I also got the dataset editor done or almost done. then its onto the matcher and then the trajectory maker then we are done there and then onto a tutorial of how to use it then we are done
I finished all the code comments. I know. WOW 4 HOURS OF CODE COMMENTS yeah but I was also cleaning some other parts of it up and fixing some of the indentations. anyways that’s done now only a few more things till we get to ship! but also a note to other devs like me… please comment your code while writing it because I have gotten in the habit of not doing that and as seeing here by 4 hours logged of code comments PLEASE JUST DO IT WHILE WRITING IT BECUASE THIS SUCKS...
|
1792760004.6095197
|
1793364804.6095197
|
|
58660
|
My own site! by @selinaNg0907 | Stardance
|
selinaNg0907
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @selinaNg0907 | Stardance
|
1792760005.884247
|
1793364805.884247
|
|
58661
|
My Personal Website by @jabir | Stardance
|
jabir
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My Personal Website by @jabir | Stardance
|
1792760006.7302716
|
1793364806.7302716
|
|
58663
|
BLARE by @havishmac | Stardance
|
havishmac
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: BLARE by @havishmac | Stardance
|
1792760007.5921075
|
1793364807.5921075
|
|
33120
|
My own site! by @DADUS | Stardance
|
DADUS
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @DADUS | Stardance
|
1792760008.4413939
|
1793364808.4413939
|
|
23986
|
FlipOS by @BLURRED | Stardance
|
BLURRED
|
0
|
1.81
|
0
|
[]
|
[{"post_id": 17785, "ts": "202 [{"post_id": 17785, "ts": "2026-06-28T18:34:34Z", "hours": 0.7183, "text": "Just made the ui look a bit better and fixed some bugs, finally got tabs closing!"}, {"post_id": 16933, "ts": "2026-06-27T14:24:43Z", "hours": 0.4908, "text": "Just got the ai to make me this!, will improve tomorrow!"}, {"post_id": 16902, "ts": "2026-06-27T13:34:06Z", "hours": 0.5972, "text": "Im making the v0.1 of the flipOS, tryna find a good ai to make it, might make my proper devlog today, hope for the best!"}]...
|
Title: FlipOS by @BLURRED | Stardance
Devlogs:
Im Title: FlipOS by @BLURRED | Stardance
Devlogs:
Im making the v0.1 of the flipOS, tryna find a good ai to make it, might make my proper devlog today, hope for the best!
Just got the ai to make me this!, will improve tomorrow!
Just made the ui look a bit better and fixed some bugs, finally got tabs closing!...
|
1792760009.3023949
|
1793364809.3023949
|
|
58664
|
My very own WebOS by @Yothika_Yarnagu | Stardance
|
Yothika_Yarnagu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @Yothika_Yarnagu | Sta Title: My very own WebOS by @Yothika_Yarnagu | Stardance...
|
1792760010.1705618
|
1793364810.1705618
|
|
37066
|
JARVIS Ai From Scratch by @Mxhammad | Stardance
|
Mxhammad
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: JARVIS Ai From Scratch by @Mxhammad | Stard Title: JARVIS Ai From Scratch by @Mxhammad | Stardance...
|
1792760011.0297713
|
1793364811.0297713
|
|
58666
|
My awesome macropad! by @SakkyV | Stardance
|
SakkyV
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @SakkyV | Stardance
|
1792760012.1969454
|
1793364812.1969454
|
|
40117
|
My very own WebOS by @SachinSriram21 | Stardance
|
SachinSriram21
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @SachinSriram21 | Star Title: My very own WebOS by @SachinSriram21 | Stardance...
|
1792760013.0921767
|
1793364813.0921767
|
|
33199
|
My very own WebOS by @Farukia | Stardance
|
Farukia
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @Farukia | Stardance
|
1792760013.9613657
|
1793364813.9613657
|
|
2673
|
My awesome macropad! by @Light10115 | Stardance
|
Light10115
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Light10115 | Stard Title: My awesome macropad! by @Light10115 | Stardance...
|
1792760014.8337924
|
1793364814.8337924
|
|
17563
|
My very own WebOS by @suhritha | Stardance
|
suhritha
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @suhritha | Stardance
|
1792760015.6907558
|
1793364815.6907558
|
|
58669
|
My awesome macropad! by @Jaydennnn | Stardance
|
Jaydennnn
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Jaydennnn | Starda Title: My awesome macropad! by @Jaydennnn | Stardance...
|
1792760017.0629432
|
1793364817.0629432
|