For everyone complaining about his language problems, try to put you in his shoes. Not your native language. Probably the first time he speaks in public. Subject is complex and it's crowded. Lack of sleep due flights. It's hard to work and speak when it's not your native lang.
@tnpcook5 жыл бұрын
While these are potential things that affected the result, them existing does not improve the presentation. Ideally, a good presenter would take steps to mitigate these problems, and if they don't or couldn't, the critique is valid. An example is the guy having visuals, which definitely helped. The information is valuable and still appreciated, but communication is important in the sharing of information. Remaining agnostic to the problems of a good presentation, does not improve the presentation.
@NeilRoy5 жыл бұрын
Agreed. I liked the presentation. He done better than I would if I had to speak any other language! ;) He presented some fascinating ideas I thought.
@NeilRoy5 жыл бұрын
@@tnpcook: I tell you what, get a refund if you didn't like it, otherwise, STFU.
@tnpcook5 жыл бұрын
@@NeilRoy being critical of a detail isn't mutually exclusive with enjoying it. It would be absurd to dismiss the good presentation for that alone, but also disingenuous to ignore.
@KimboKG144 жыл бұрын
I like these kind of speakers most, because they know about it and try to pronounce as understandable as possible. That's if you're going with it. maybe amp up the speed. But lot better for other nonnative speakers than many native speakers.
@NeilRoy5 жыл бұрын
Interesting ideas. I thought he was fairly clear in what he said, I certainly understood it. Considering English is obviously not his native language, he done better than i would. Anyhow, yeah, food for thought, great ideas here.
@wbahnassi5 жыл бұрын
"Skinning with AniTextures" from the book ShaderX4 (2006), has a full description of how to do the stuff mentioned here (including some of the "Future Work") in implementation detail with working code and HLSL shader samples.
@frajet4 жыл бұрын
Is it publicly acessible anywhere? Buying hardcover for few pages is not an ideal solution, especially when it is not available to be shipped to my country.
@wbahnassi4 жыл бұрын
@@frajet ShaderX4 hasn't been made publicly free yet unfortunately
@frajet4 жыл бұрын
@@wbahnassi I guess still the hlsl implementation is on the CD instead of written as text in the book, so it wouldn't help. I've read on twitter you wrote: "But nowadays you can also do with StructuredBuffers for more flexibility than textures.". But StructuredBuffers is a bit complicated for use, especially in UE4, so I would like to stick to textures, but need to somehow bypass the 8192 verts limit, but why is it packed to the texture so inefficiently that Y = animation frame and X = vertex position? Why the texture is not packed more tightly to occupy more space of the texture and thus allowing more than 8192 verts? Isnt it a matter of simple lookup code with module in the vertex shader? What am I missing here? Thanks.
@wbahnassi4 жыл бұрын
@@frajet That was referring to skinning. Texture size limit (8k or 16k) means you have up to 8k or 16k bones controlling the mesh, regardless of how many verts it has. I've never seen a character animated with more than a couple hundred bones in real game production.
@frajet4 жыл бұрын
@@wbahnassi Yes I understand that, but one of the motivation in this video at 14:50 was "Huge amount of vertex data.". Which is the only thing I need, without using bones. In UE4 they've 'recently' implemented this old technique storing vertex offset positions in the texture docs.unrealengine.com/en-US/Engine/Animation/Tools/VertexAnimationTool/index.html while saying 8k is the limit of the verts stored in the texture, because of the 8k tex limit, but my question is simpler than you think. Why did they not pack texture more tightly by just changing lookup a bit? It stores frames on Y axis and verts positions on X axis, but there may be max. few hundreds of frames stored, while verts may be >8k, thus it doesnt make sense and that is why I am confused here. Then I've thought there may be some better way to send verts to gpu and reference them from vertex shader - and found your tweet about StructuredBuffers, but I've found it complicated for my purpose. I only want to pack say 20k final verts offset to texture, without any bones. Is that an issue? I see that it is doable, but somewhat I am confused with UE4's implementation limitting verts to 8k because occupying one axis by the animation frame. So I am confused why did they choose this approach as there is too big space for 8k anim frames while 8k verts limit is too little.
@mehdi55755 жыл бұрын
This is amazing! Thanks so much for sharing your knowledge with us
@cupsster15 жыл бұрын
Very nice talk! I appreciate this on was true to 'developer' part of whole conference as lately there are a lot of trash talks that does not have anything related with actual development process itself and just repeat most obvious stuff we all know for ages ( eg marketing, or spending good 1/4 of talk just talking about presenter ego and life since childhood to now).. So thank you again Mario! I enjoyed talk.
@getrekt83655 жыл бұрын
THANK YOU SO MUCH Tequila Works and Mario Palmero!
@ChristopherDrum5 жыл бұрын
Presumably one could encode bone position for various linguistic phonemes, the mouth shapes required to produce those sounds, then do the color blend to morph between any two phonemes to generate a kind of on-the-fly lip-syncing? Use, a unique texture for each spoken language and maybe that could fulfill typical use-cases on many low-budget projects.
@talchyr5 жыл бұрын
can't wait to deep fry an animation
@DangerRangerous5 жыл бұрын
It's like visually encoding DNA but for animation instructions.
@wmka2 жыл бұрын
Thank you and have a great day.
4 жыл бұрын
This is for everyone expecting the world to speak native English (referring to man asking in 28:12). I was living in the UK for almost 4 years and this kind of awkward situations makes my blood boils. English language is not the belly button of the world. Did you know that in 2020 there are more Spanish native speakers than English?? And the world keeps spinning, yes it does) so you don´t have to expect everyone to speak perfectly. If you ask someone for something and he says "Sorry", it means "Could you repeat SLOWER!!!!!? I´m not native like you, DO YOU MIND?". If you come to my country (Spain) you will learn to say "Perdón, ¿puedes repetirme despacito?" and if you don´t get it either second time you will understand these kind of uncomfortable situations.
@Jlewismedia23 күн бұрын
Im a native english speaker, technical artist and a programmer of 15 years and I still get stumped all the time with technical words. Sometimes theres more than one name for everything and when you mash them together, they sometimes become a word soup. I feel bad for old mate, he looked so nervous when he wasn't sure how to answer and he must've felt a bit silly but that's obviously not the case.
@davidmurphy5632 жыл бұрын
Bet you could do the vertex texture animation to bone transform with a Discrete Fourier Transform. That way to can just process it and feed in the bones. It would be better than feeding the animation because the initial start condition would have a periodicity which exactly replays the animation from the initial wave conditions.
@ZeroZ30o5 жыл бұрын
Great stuff
@ThomasLaverne4 жыл бұрын
Very nice talk! I'm not sure any compression technique such as PCA would give good results here because 1) you would suffer from imprecision 2) the cost of applying the inverse pca ( two matrix multiplication) might be prohibitive... Anyway additional level of compression like storing floating point differences from one master bone to a child bone might help?
@adrawdesign2 жыл бұрын
incredible !!! thank you for share this
@razzraziel5 жыл бұрын
this is hardcore.
@cosmotect4 жыл бұрын
That's what I thought, but to my amazement I understood like half of it!!! I am progressing :D
@xrsxrsxrsxrs2 жыл бұрын
How they transform simulation into bone animation? ( I only hear about a solver at 15:46 but not the name of the software)
@Sh1sou5 жыл бұрын
While an animation is running (with texture), and then it surprisingly collides with something, is it possible to change the texture at runtime to make the animation fit the new situation?
@Zaft95 жыл бұрын
I can't personally think of a reason that would prevent you from doing so. In it's most complex form it shouldn't be any different than assigning data and telling the engine where to start referencing the texture from. I think this is where third party tools could really help to push the tech forward.
@Alkis053 жыл бұрын
It would be possible, but not worth it. The whole point of baking the animation into a texture is a trade off between memory and processing. The animation is already computed. If you were to change the animation dynamically you would have to calculate it on the fly and that defeats the purpose of baking it. That is why he suggested it's use to facial animation and the such.
@ParkingLotStudioGames3 жыл бұрын
Besides how would you detect collision if the animation is baked? With regular skinning you can attach your colliders to your bones for dynamic collision detection, with baked animation your can only use a capsule collider or if you come up with a way to animate them following the mesh vertex animation do let us know
@rendermanpro4 жыл бұрын
Nice, but.... so whats big outcome from baking to bones/skinning from the second part? Looks like more "when I have nothing else to do" and inventing a wheel for non really existed problem...
@ParkingLotStudioGames3 жыл бұрын
Wonder why nobody agreed with your opinion in a year+
@chadyonfire7878 Жыл бұрын
WHOAH very interessting
@mathmonium5 жыл бұрын
genius talk!
@Foxtrop135 жыл бұрын
baking animation to a texture to remove the cpu from the process, genius
@pavelnikulin82403 жыл бұрын
Why to do so when there are mesh shaders now which do pretty much the same, but do it properly?
@EveryCrime3 жыл бұрын
@@pavelnikulin8240 newbie here, are you referring to a geometry shader?
@titsbitchmcgee75023 жыл бұрын
@@EveryCrime It's more like a compute shader
@MohammedYounis-w6h3 жыл бұрын
so this is how devs are able to animate hundreds of objects on the screen without killing framerate. impressive
@filipzawadzki94243 жыл бұрын
What's the difference if it's a texture or other matrix file? That doesn't make sense why this is called texture as it isn't used to make graphics anymore but for animate objects.
@Zuriki092 жыл бұрын
It is a texture because it is literally a texture in memory.
@stenfeio4 жыл бұрын
Any folks know what methods they used to bake the animation data to texture?
@mariopalmero26064 жыл бұрын
It was a 3dmax custom made script
@ParkingLotStudioGames3 жыл бұрын
XYZ to RGB, literally took the normalized value Of XYZ and used them to compose each pixel, repeat for all needed transforms and you're done
@SevenDeMagnus3 жыл бұрын
Cool water.
@theman7050Ай бұрын
Why do such complex technical presentations are always presented by non english speakers? Defeats the whole purpose of educating and you dont understand s***
@jonny__b5 жыл бұрын
The subject matter was really interesting, but god was this speaker a pain to watch.
@giampaolomannucci82815 жыл бұрын
Agree, I can't go past 5 minutes, which sucks.
@peacku5 жыл бұрын
It's hard to be very good at something nerdy and a good public speaker at the same time, I'd rather it be this way than the other way around. (i.e. a good speaker that doesn't know their subject well)
@PacTheOne5 жыл бұрын
he is doing his best guys damn
@jonny__b5 жыл бұрын
@@peacku you're right, something is better than nothing, it just seems a shame to me that his brilliant ideas can't be articulated. I watched til the end but I fear many won't make it as far
@willhart21885 жыл бұрын
@@giampaolomannucci8281 I recommend watching from 15:20 forward if nothing else. He talked about storing animation in textures.
@mrmaniac99055 жыл бұрын
Okay I get where he's coming from, but like this is something that would've been useful in the late 2000s. now it's really not expensive AT ALL to just simply pass off your data to the vertex/fragment shader via uniforms. Unreal also offers this, so while this is cool and all, it's utterly pointless, sorry.
@Zaft95 жыл бұрын
While I'm a fledgling game designer at best and I respect your opinion, I dont think it's entirely useless. This seems like a solid optimization process that might turn out to be vastly superior if the tech is developed more. That and I can see indies benefiting from this method of development where you can rely less on engine specific optimization tools in an effective manner. I think if a third party comes out with a tool that streamlines this process we could be looking at something big.
@mrmaniac99055 жыл бұрын
@@Zaft9 Yeah I could agree with that.
@ParkingLotStudioGames3 жыл бұрын
Yeah why use the vertex shader when we all have 32 core CPUs and RTX 3090s at home, fuck mobiles/consoles and low powered hardware /s
@mashrien5 жыл бұрын
GL/HL-SL sucks ass, hate writing shader code. It's convoluted and breaks my brain. Was a fairly informative talk but painful to watch.. Also, anyone else smell burning batteries?
@ParkingLotStudioGames3 жыл бұрын
Being close syntax wise to C I guess C sucks ass as well?