[{"data":1,"prerenderedAt":239},["ShallowReactive",2],{"project-13390135":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":41,"post_text":44,"what":45,"said":73,"maker_in_thread":134,"shape":146,"grid":150,"attempts":196,"same_week":201,"maker_shows":42,"maker_hidden":232,"reader_version":233,"card":234},"13390135","Skeletal Animation System","a WebGL animation blender","title","Show HN: Skeletal Animation System – a WebGL animation blender","https:\u002F\u002Fchinedufn.github.io\u002Fskeletal-animation-system\u002F","chinedufn.github.io","chinedufn",1484308722,2017,120,21,354,2242,16,"notable","creative","skeletal animation","library",[24,21,25,26,27],"webgl","collada","blender","animation blending","curious",0.25,{"positive":31,"neutral":32,"mixed":33,"critical":33},2,4,0,6,{"docs":36,"execution":37,"idea":38,"design":40},{"positive":33,"critical":33},{"positive":33,"critical":33},{"positive":39,"critical":33},1,{"positive":33,"critical":33},[33,42,33,33,42,33,33,43,33,33,33,33,33,33,33,33,42,33,42,33,43],3,5,null,{"problem":46,"audience":44,"pricing":44,"motivation":44,"time_to_build":44,"stack":55,"openness":72,"stage":72,"team_size":72},{"value":47,"source":48,"evidence":49},"Playing and blending skeletal animations in WebGL from Blender exports","inferred",[50,52],{"id":51},"post",{"id":53,"by":11,"text":54},"13396456","So the process roughly boiled down to: 1. Figure out what I wanted the input and output to be for the API. Write that down. 2. Write and implement tests against that desired…",[56,61,65],{"value":57,"source":58,"evidence":59},"WebGL","maker",[60],{"id":51},{"value":62,"source":48,"evidence":63},"JavaScript",[64],{"id":53,"by":11,"text":54},{"value":66,"source":58,"evidence":67},"Collada DAE files",[68,71],{"id":69,"by":11,"text":70},"13391133","Oh interesting: So the short answer is - not in the demo, but yes in your own code --- The demo's model rendering is powered by load-collada-dae (…",{"id":53,"by":11,"text":54},"unknown",{"praise":74,"objections":94,"requests":95,"questions":110,"alternatives":118},[75,87],{"value":76,"source":77,"evidence":78},"Nice job and good work on the project","commenter",[79,83],{"id":80,"by":81,"text":82},"13394804","Hydraulix989","Nice job! About a year ago, I implemented skeletal animation in my OpenGL ES mobile game using a vertex shader and the assimp library. You can pass in everything you need…",{"id":84,"by":85,"text":86},"13390698","cdhanna","That is dope. Good work!",{"value":88,"source":77,"evidence":89},"Workflow from Blender to browser is useful and it avoids Three.js",[90],{"id":91,"by":92,"text":93},"13391080","supernumerary","Really super stuff. I like that you're building a workflow from Blender to the Browser like this. Also that it's threeJS free.",[],[96,103],{"value":97,"source":77,"evidence":98},"Write a tutorial on mesh deformation and skeletal animation",[99],{"id":100,"by":101,"text":102},"13392552","gravypod","Can you write a tutorial on mesh deformation and all of the other stuff that goes into skeleton animations?",{"value":104,"source":77,"evidence":105},"Show non-constant shading in the demo",[106],{"id":107,"by":108,"text":109},"13390971","santaclaus","Is there a way to turn on non-constant shading?",[111],{"value":112,"source":77,"evidence":113},"How the process was completed without Three.js",[114],{"id":115,"by":116,"text":117},"13395429","homanchou","Can you explain your process of completing this? How did you do this without Three.js?",[119,130],{"value":120,"source":77,"evidence":121},"Three.js AnimationMixer and animation actions",[122,126],{"id":123,"by":124,"text":125},"13391262","bhouston","Three.JS has support for pretty flexible \"animation clip\" blending via \"animation actions\" btw... https:\u002F\u002Fgithub.com\u002Fmrdoob\u002Fthree.js\u002Fblob\u002Fdev\u002Fsrc\u002Fanimation And you can export out…",{"id":127,"by":128,"text":129},"13393165","maffydub","I've used the skeletal animation API (exporting from Blender). It's very cool, but the documentation isn't great (or at least wasn't last time I checked). Key points: * if you…",{"value":131,"source":58,"evidence":132},"regl",[133],{"id":69,"by":11,"text":70},{"comments":135,"answered":32,"key":136},8,[137,140,143],{"id":138,"text":139},"13390890","Author here - happy to hear \u002F answer any questions, criticism and feedback!",{"id":141,"text":142},"13396415","Plan to :) . Feel super free to shoot me an email and I'll let you know when I write one",{"id":144,"text":145},"13396414","Oh nice vid thanks for sharing So I usually blend my successive animations CPU side before passing in my uniforms so I end up using the same number of uniforms no matter what.",{"commenters":147,"max_depth":43,"maker_replies":135,"first_comment_mins":148,"lifespan_hours":149},12,109,14,[151,153,155,158,159,161,163,167,169,172,175,178,180,182,184,185,189,191,192,193,194],[138,33,33,152,11,39],"maker\u002Fneutral\u002Fnone",[100,33,42,154,101,33],"maker\u002Fneutral\u002Fdocs",[156,33,33,157,108,33],"13393577","other\u002Fneutral\u002Fdocs",[141,33,33,154,11,39],[80,33,42,160,81,33],"project\u002Fneutral\u002Fexecution",[144,33,33,162,11,39],"maker\u002Fneutral\u002Fexecution",[164,39,33,165,166,33],"13394019","other\u002Fneutral\u002Fnone","AustinG08",[91,31,43,168,92,33],"project\u002Fpositive\u002Fidea",[170,31,33,171,11,39],"13391224","maker\u002Fneutral\u002Fidea",[173,31,33,174,124,33],"13391433","commenter\u002Fneutral\u002Fidea",[176,42,33,165,177,33],"13391111","cdevs",[179,42,33,152,11,39],"13391196",[123,42,33,181,124,33],"commenter\u002Fneutral\u002Fdocs",[183,42,33,154,11,39],"13391306",[127,42,33,181,128,33],[186,42,33,187,188,33],"13391346","commenter\u002Fneutral\u002Fnone","skocznymroczny",[107,32,42,190,108,33],"project\u002Fneutral\u002Fdesign",[69,32,33,190,11,39],[115,43,42,162,116,33],[53,43,33,162,11,39],[84,34,43,195,85,33],"project\u002Fpositive\u002Fnone",[197,200],{"id":198,"t":199,"points":42,"comments":33},"13364422",1484052367,{"id":4,"t":12,"points":14,"comments":15},[202,207,212,217,222,227],{"id":203,"name":204,"points":205,"category":206},"13423629","SkyTorrents",1183,"data",{"id":208,"name":209,"points":210,"category":211},"13406081","Crafting Interpreters",423,"learning_science",{"id":213,"name":214,"points":215,"category":216},"13412737","JSON Browse",138,"dev_tools",{"id":218,"name":219,"points":220,"category":221},"13384012","Hypergolix",130,"infrastructure",{"id":223,"name":224,"points":225,"category":226},"13421703","ChatSecure iOS v4.0",107,"productivity",{"id":228,"name":229,"points":230,"category":231},"13425089","Kur",103,"ai",false,"v2",{"id":235,"name":5,"line":6,"ai":232,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":29,"top":18,"kw":236,"maker":11,"domain":10,"tier":19,"attempts":31,"strip":237,"url":9,"mix":238,"praise":76,"objection":-1,"sub":21},13390135,[24,21,25,26,27],"030030050000000030305",[31,32,33,33],1794036551674]