Live2D Is a Security Trainwreck
undeleted.ronsor.com
undeleted.ronsor.com
There is a superior, free, open-source alternative called Inochi2D — https://inochi2d.com/ — developed primarily by Luna the Foxgirl, and used by all of nullptr::live, including Asahi Lina (of Asahi Linux fame). It really should see more love because it’s superior in almost every way.
This what I understand Mozilla does in Firefox: https://hacks.mozilla.org/2020/02/securing-firefox-with-weba...
File formats like that, with many offsets in the file, are troublesome. There used to be more formats like that. Microsoft Word .doc is the classic example.
OpenJPEG 2000 has a similar problem. I just hit that yesterday.[1] Valgrind is finding references to un-initialized data which affect control flow, and running the JPEG decoder on valid but truncated files (which is allowed) is causing bad memory reference crashes and errors.
New formats like this are rare. People have learned. A modern exception is Unreal Engine 5's Nanite has much offset data, and there may be an attack surface there for hostile game content. Nanite is a way to store a graphics mesh with both multiple levels of detail and common submeshes. It's a hierarchy of directed acyclic graphs, flattened into a linear file with offsets. And, sure enough, there are many crash reports. At least Unreal provides a validator for the format.
(If only C/C++ had slices in the language. Most of the things for which pointer arithmetic is used can be done with slices. Slices really are pointer arithmetic, with sanity.)
I did the math a while back and they do by region, platform, etc - multiplied together (adds up quickly) and tiered by revenue.
So if you want all regions and platforms, for a company making about $100k a year revenue (whatever the tier was in Yen), they want about 50% of your revenue.
I brought it up with sales rep and he admitted it didn't sound right and conceded that's what it came out to, and that I can negotiate. Very strange stuff
However this software (Live2D) is originally targeted at the Japanese audience and only after vtubing became popular overseas did it get proper English support. So a significant bulk of the users of this software are individuals who reside in Japan. And on top of that, quite a large population of vtubers live outside the US in regions with their own copyright law. So to the degree this is enforceable will be decided entirely by where you live.
For US non-expat citizens & residents, this isn't a problem but for the rest of the world there is a lot wider variation in how enforceable these license terms are.
I have to admit I'm somewhat impressed with the quality of the 2d puppetry I've seen in gaming recently (e.g. Marvel Snap, andy of the Gachas). It's a simpler technical skill than full 3d rigging that 2d illustrators seem to be able to be able to pick up fairly quickly.
The field this tool grew out of (mobile gaming) is such a grey ethical area, and these puppet animations are a fascinating form of pulp media.
2D must be easier to comprehend more so to viewers than it is for creators.
However, I was happy to learn about imhex.
Such as..?
I find Inochi2D interesting, but, why do we keep making the same mistakes?
The codebase is written in D(!!!), using a NEW proprietary format(!!), only available on some platforms(!).
I am not up to date w/ current game development trends, but puppeteering/animating 2D assets exists in plenty of games (you see it a lot in Japanese/Korean/Chinese games, Nikke/Girl's Frontline/Arknights.) I wonder if using a format accepted by the industry, in a portable language like JavaScript, build web-first would've been a better choice.
Of course this is the lowest form of critique because I ain't gonna make it.
Live2D and Inochi2D occupy a specific niche and provide specific features in a way that can't be solved with other off-the-shelf solutions.
That's presumably because of exactly the problem mentioned in the article. Customers of the other software are forbidden from using those files with other software, which could potentially include the use of a tool to convert that to a better format, so the competing software just made up a different format.
I wonder if it would've been better to ask for that format to be open source for the community. Then 2d puppeteering artists could use they tool they prefer with a shared file format.
Multiple implementations are in the works.
Well, there are just handful that specifically don’t use Live2D…
Also, software patent is legally a thing, whether you like it or not.