@Alligator Blender should be able to handle something like this.