Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Cloth Mesh disappearing when pressing play
#11
(26-01-2021, 12:28 PM)Merch137 Wrote: I shrunk everything down to 1,1,1 and went into scene view since it could not be seen and while having the character above the ground i seen the cloth inbetween his legs, however the character jumped up in size as the rig jumped back up to 200,200,200 in scale and the cloth was jumbled between his legs, so while you might be right on scale being the issue the way you come across is very typical defamatory.

It looks like the cloth worked and fell to the ground not catching on to something so large or something after transforms got changed upon pressing play and it was still small, however when everything is all in scale this should not be happening and im going to raise the character up and take a look at him with what happens when its all scaled how it was.

You can keep the same size in the scene while keeping transform scale values at 1,1,1, by applying scale values in your 3D modeling package. If your transforms already have non-unit scale when you drag them into the scene, this is the way to fix that.

Note that you can also control the size of the assets by adjusting the "scale factor" property in Unity's mesh import settings. This won't affect transform scale values, it will just change the size at which data is imported.
Reply
#12
(26-01-2021, 01:12 PM)josemendez Wrote: You can keep the same size in the scene while keeping transform scale values at 1,1,1, by applying scale values in your 3D modeling package. If your transforms already have non-unit scale when you drag them into the scene, this is the way to fix that.

Note that you can also control the size of the assets by adjusting the "scale factor" property in Unity's mesh import settings. This won't affect transform scale values, it will just change the size at which data is imported.


I'm going to re-read the original post you made as I bring things into blender from zbrush. I've kind of been doing my scaling in blender partially. And I do like to keep everything at 1,1,1 in general. This is from doing a quick test on things, and the model was from an old file being re-decimated after t-posed since the prototype file was not t posed so it likely was not scaled like the prototype villager was scaled down to match the rest of the rts in blender while being animated.

I use zbrush and blender.
Reply
#13
(26-01-2021, 01:10 PM)Merch137 Wrote:
Quote:and this is often not easy for beginners as you need to use the inverse scale and understand transform hierarchies quite well.

Scaling something is probably going to be the least of someones worries working alone and having to learn the entirety of game design and pretty much has already accomplished it by myself self learning from nothing... coding and 3d modelling. However knowing the basics of 3d from opening things like 3ds max since I was 12 helped when it came to making 3d and having to prove myself to people trying to make not wanting to learn 3d into incompetence. 3d printing modelling things to scale, transforms being the simplest and probably one of the first things you learn in unity when using it as a game engine before even learning how to code or 3d model.

Still I don't see anything wrong with that sentence :/. I wasn't even calling you a beginner (being a beginner is nothing to be ashamed of, imho... how else do you refer to people that are starting out with something?). I was just pointing out that understanding transform hierarchies well is far from trivial, specially when scaling is involved (when composed with rotations scaling gives rise to skew, it's not always clear what the difference between transform scale vs import scale factor vs unit conversion is or what order they're applied in, etc), and that simpler solutions exist.

(26-01-2021, 01:10 PM)Merch137 Wrote: It was like making the simplest thing into something that is going to be hard to understand for an inferior mind.

That's some twisted train of thought right there, man. Transform hierarchies don't seem simple to me, there's lots of pitfalls and subtle caveats that make it hard to deal with them sometimes. Rotation order (XYZ, YXZ, etc), composition order (TRS vs RTS vs STR and all that stuff), etc. I was just trying to make your life easier by nudging you in the direction of using unit scaling, which makes things easier to work with. That's all.
Reply
#14
(26-01-2021, 01:26 PM)josemendez Wrote: Still I don't see anything wrong with that sentence :/. I wasn't even calling you a beginner (which is nothing to be ashamed of, imho). I was just pointing out that understanding transform hierarchies well is far from trivial, specially when scaling is involved (when composed with rotations scaling gives rise to skew, it's not always clear what the difference between transform scale vs import scale factor vs unit conversion is or what order they're applied in, etc), and that simpler solutions exist.


That's some twisted train of thought right there. Transform hierarchies don't seem simple to me, there's lots of pitfalls and subtle caveats that make it hard to deal with them sometimes. I was just trying to make your life easier by nudging you in the direction of using unit scaling, which is simpler. That's all.


I was not scaling the way you told me to do it in blender, In which case I'm about to go do it soon and reset it up in unity. however transforms appear to be pretty simple to me, you want to scale the unit twice the size so it goes from 1 to 2 in all three scaling parts of the model. Its not much more difficult than that, and any kind of transforming of the model no matter where its done is going to be comparable maybe even using something like a gizmo to simply scale it like in zbrush. it also has scale master which I dont really care for as a 3d printing solution as when I model something if I need a 3mm hole I dont see how thats going to be accomplished there modelling to accuracy like fusion 360, especially if I just add some holes and then just scale master the entire model it seems very subpar of a solution to me. Theres going to be very little to make it more difficult than how simple I just explained it.


Quote:- Finally, a personal observation: if you're aiming to add cloth simulation to a RTS, keep in mind that cloth simulation is expensive. Unless you have a really clear idea of what your ms/frame budget is and how much you want to spend on each specific thing (AI, pathfinding, rendering, etc), better add cloth simulation once you have all basic systems in place and you know for a fact how much extra time you can spend on eye candy.



I was thinking this as well as ive done given in to such bad meshes decimated down into nothing feels like a mobile game and its very disappointing overall, however its something I wanted to test how much it effects the game and framerates, I am also making two mmos, so thats something to keep in mind even if I end up statically animating this cloth in blender. I also read this is being done on cpu not gpu which causes concern for the performance as well. I was hoping it wasnt that expensive as its advertised as very efficient.


Plus the way this rts is setup is also already going to be a bit higher than how aom is setup in memory, since the armor is being equipped as a separate model rather than part of the human himself which should cut down poly count by the majority of it. The cloth there is 462 tris while the human is 362. While if combined as one mesh and the body of the human is no longer being used and just a robe is there, then that should cut the tris down by a lot, especially when it comes to a full robe where you only see feet and not legs, then its cutting that human down a lot.

So I should already being going a very expensive route and adding this on top so its really up to testing and seeing how things fall.


When it comes to trees ive taken them down to pathetic levels of the typical low poly look. Bought amplify imposters for them however that doesnt give the desired results even on such simple models I didnt mess with it too much however what I seen from some quick tests was not satisfying.

Also cloth simulation would likely only be on so many units so thats something to consider as well.
Reply
#15
(26-01-2021, 01:38 PM)Merch137 Wrote: I was not scaling the way you told me to do it in blender, In which case I'm about to go do it soon and reset it up in unity. however transforms appear to be pretty simple to me, you want to scale the unit twice the size so it goes from 1 to 2 in all three scaling parts of the model. Its not much more difficult than that, and any kind of transforming of the model no matter where its done is going to be comparable maybe even using something like a gizmo to simply scale it like in zbrush [...]. Theres going to be very little to make it more difficult than how simple I just explained it.

For rigid objects and uniform scaling (same scaling in all 3 axis), it's as simple as you just described. However cloth is not a rigid object, and Unity does not restrict you to uniform scaling. So things become a bit more complex:

There's several kinds of transforms: affine, rigid, perspective, etc. The transforms used in Unity (and most 3D packages) are affine transforms. This means they have translation, rotation, scale (and shear/skew). If they had only translation and rotation, they'd be rigid transforms.

Now, here's the caveat: rigid transforms preserve euclidean distance, affine transforms do not. This means that if you have a line and you rigidly transform it (rotate or translate it) its length remains the same. But if you scale it (applying an affine transform) its length changes. If scaling is uniform, you can get the new length by multiplying the unscaled length by the scale. But if scaling is not uniform, there's no quick way to recover the new length from the old one (you'd have to do the full math of subtracting both ends of the line, dot product the resulting vector with itself and take the square root to recalculate the post-scale length).

What does this have to do with cloth and deformable objects in general? well, part of the information stored by cloth to remember its rest shape is the length of all edges in the mesh. This is so that the cloth can stretch/compress/bend, but still keep its original shape and return to it. So if you scale cloth, its rest shape remains unscaled, otherwise the rest shape would need to be recalculated every frame which is very costly. Scale is applied to the object after deformation, which can result in weird spiky meshes and all sorts of visual glitches.

For this reason, when you scale a piece of cloth (or any deformable object) it won't grow/shrink like a rigid object would. Only rigid transforms can be applied to deformable objects, affine transforms cannot. So if your cloth transform in the scene has a value of 200,200,200, you need to use a scale of 1/200, 1/200, 1/200 when generating the cloth blueprint, so that they compensate each other once an affine transform is applied to it. It can also lead to floating point precision issues, since the simulation would be performed using very tiny numbers (depending on how large your scale is, 1/200 is smaller than 1/100). This is cumbersome and not immediately obvious for most people. It's also not exclusive to Obi, all deformable physics engines I've ever used or heard of precalculate and store the rest shape of objects.

There's a lot of details I left on the table, but you get the idea. This is why I think using unit scaling is much simpler than dealing with all of the above, as a scale of 1,1,1 essentially turns your affine transform into a rigid transform. If you factor in things like import scale factor and units as I mentioned before, it gets even more confusing (at least to me). Please don't get offended if you already knew about this, I'm genuinely just trying to help.
Reply
#16
(26-01-2021, 01:38 PM)Merch137 Wrote: I was hoping it wasnt that expensive as its advertised as very efficient.

Cloth is expensive enough that you should consider whether to use it or not, if it's only for visuals.

(26-01-2021, 01:38 PM)Merch137 Wrote: I also read this is being done on [/size][size=small]cpu not gpu which causes concern for the performance as well.

GPU simulations scale better with larger workloads, but they generally have a higher base cost than CPU implementations. Even a very simple cloth takes 1 ms to simulate in the GPU, but several larger cloths cost just 1.2-1.3 ms. By comparison, a simple cloth can take 0.2 ms in the CPU, and several large ones can take 20 ms. This means that if you have just a handful of units, it would be considerably faster to use the CPU.

Also, copying data from the GPU back to the CPU is a big no-no, as it's extremely slow. This is required for two-way coupling with rigidbodies, as Unity's rigidbody physics engine works in CPU. So GPU cloth means no rigidbody interaction. Copying is also required for any custom rendering that does not involve compute shaders to build the mesh or vertex/fragment shaders that take input as structured buffers, so you get less rendering flexibility too. Those are the main reasons that made me opt for a CPU implementation instead of a GPU one: I wanted inexpensive cloth for simple effects, that could interact with rigidbodies, could be easily scripted, and could be used with any custom shader/material.

We're working on a GPU backend for Obi. However it will come with many limitations, and will only make sense for games where cloth is the main feature. You can see some early work here:

https://www.youtube.com/watch?v=BQzZzQMl7x8
Reply
#17
(26-01-2021, 03:04 PM)josemendez Wrote: Cloth is expensive enough that you should consider whether to use it or not, if it's only for visuals.


GPU simulations scale better with larger workloads, but they generally have a higher base cost than CPU implementations. Even a very simple cloth takes 1 ms to simulate in the GPU, but several larger cloths cost just 1.2-1.3 ms. By comparison, a simple cloth can take 0.2 ms in the CPU, and several large ones can take 20 ms. This means that if you have just a handful of units, it would be considerably faster to use the CPU.

Also, copying data from the GPU back to the CPU is a big no-no, as it's extremely slow. This is required for two-way coupling with rigidbodies, as Unity's rigidbody physics engine works in CPU. So GPU cloth means no rigidbody interaction. Copying it's also required for any custom rendering that does not involve compute shaders to build the mesh or vertex/fragment shaders that take input as structured buffers, so you get less rendering flexibility too.

We're working on a GPU backend for Obi. However it will come with many limitations, and will only make sense for games where cloth is the main feature. You can see some early work here:

https://www.youtube.com/watch?v=BQzZzQMl7x8

All im going to say is the timing of the post was quite suspicious as it came while I had it working and was about to make a post.

[Image: sFWAN6.jpg][/quote]

When you say expensive here you really are not lieing it drops from 300 fps to 1fps with very few characters and it appears you made your post while possibly being aware that I got it working, that is all im going to say about that signifying my first post for a refund was accurate on the topic of looking like someone aware of something (and possibly being passive aggressive/defamatory for money in which case you would of gotten paid more than the refund to harass the target into incompetence and be the respectful guy giving a refund making him have loss and less to work with by the force of that payment changing truth and altering relationships to hinder the target they are targetting) something that will never be spoken only deceived over truth of it going on as tinfoil hat wearing. I'm not going to call you out as aware of the criminality, however everyone involved will be outed within time with truth being revealed.

It looks so expensive I dont know if this can even be used for an mmo. It looks almost like you would want it refunded for not being able to be used and I have rope too if this cannot be used in an mmo.

What kind of game has cloth as the main feature I dont understand what you are saying...? It almost looks like you wouldnt even want to do an mmo cape with this.
Reply
#18
(26-01-2021, 03:11 PM)Merch137 Wrote: All im going to say is the timing of the post was quite suspicious as it came while I had it working and was about to make a post.

You really have to stop thinking the world's against you.  Indeciso

I gave these example performance numbers because I wrote the damn thing. I know the timings and how it performs in typical use cases. Also, posts are ordered in chronological order, so I posted before you did.

(26-01-2021, 03:11 PM)Merch137 Wrote: When you say expensive here you really are not lieing it drops from 300 fps to 1fps with very few characters and it appears you made your post while being aware, that is all im going to say about that signifying my first post for a refund was accurate on the topic of looking like someone aware of something that will never be spoken.

This is not how it should perform. Unless you've just used a single updater component for each character, you're using a extremely small timestep, or something similar.

The "benchmark" sample scene runs at around 180 fps in my computer (2 core i5), using the intended setup and multiple cloth actors with aerodynamics, which is more complex than what you show here. If you can post a picture of your setup, and/or your profiler, I can help you determine what's consuming so much time.

(26-01-2021, 03:11 PM)Merch137 Wrote: It looks almost like you would want it refunded for not being able to be used and I have rope too if you want to take up that refund I dont know if this can be used in an mmo.

What would be the purpose of writing an asset with the sole intent of it getting refunded? Sorry but I can't understand you.
Also, MMOs do not have anything special that would make cloth or ropes unusable. If you want to sync simulation in every client it adds to the challenge, but it's not unsurmountable.
Reply
#19
(26-01-2021, 03:19 PM)josemendez Wrote: You really have to stop thinking the world's against you.  Indeciso

I gave these numbers because I wrote the damn thing. I know the timings and how it performs in typical use cases. Also, posts are ordered in chronological order, so I posted before you did.


This is not how it should perform. Unless you've just used a single updater component for each character, or something similar.


What would be the purpose of writing an asset with the sole intent of it getting refunded? Sorry but I can't understand you.
Also, MMOs do not have anything special that would make cloth or ropes unusable.

Theres a difference between the world being against you which would be clear deception over truth and commonly used than a group of people paying hundreds of thousands of dollars for everyone he comes into contact with to betray him telling him to trust noone, and then when you get that even ten thousand to fifty thousand dollars to lie on your forums you would take it and lie your ass off and put me in the wrong just like that with the deception of... you think everyone is against you and false judged paranoia by force and people being lieing trash which would conceal the truth (oof fraudulent activity which is partially where this started) and the five dollars they just used to have you betray the target has just formed a false judgement of paranoia with force to change truth into false mental illness instead of him really being attacked and deception/lies was used to make it happen. That is the exact situation im facing and tinfoil hat wearing or pinning the victim as if what hes witnessing is not happening and just thinks it all in his head is the common deception/tactic being used along with being the subtle passive aggressors that play the good people when the victim snaps back and hes now the aggressor for being transgressed on for money. While the entire group brags money is over human life and everyone is going to betray you for money which helps us force you to suicide as... if you are not suiciding then thats going to be the situation youre going to be dicked around by anyone you come into contact with and help us ruin the iamge and life entirely and if you dont suicide you face worse your entire life being trashed and mocked and hindered and everyone accepting money over your human life to help us make it happen.

Clearly everyone involved in such crime deserves a death sentence for forcing suicide for money and thats partially why they would continue to lie for life.
Reply
#20
(26-01-2021, 03:24 PM)Merch137 Wrote: Theres a difference between the world being against you which would be clear deception over truth and commonly used than a group of people paying hundreds of thousands of dollars for everyone he comes into contact with to betray him telling him to trust noone, and then when you get that even ten thousand to fifty thousand dollars to lie on your forums you would take it and lie your ass off and put me in the wrong just like that with the deception of... you think everyone is against you and false judged paranoia by force and people being lieing trash which would conceal the truth (oof fraudulent activity which is partially where this started) and the five dollars they just used to have you betray the target has just formed a false judgement of paranoia with force to change truth into false mental illness instead of him really being attacked and deception/lies was used to make it happen. That is the exact situation im facing and tinfoil hat wearing or pinning the victim as if what hes witnessing is not happening and just thinks it all in his head is the common deception/tactic being used along with being the subtle passive aggressors that play the good people when the victim snaps back and hes now the aggressor for being transgressed on for money. While the entire group brags money is over human life and everyone is going to betray you for money which helps us force you to suicide as... if you are not suiciding then thats going to be the situation youre going to be dicked around by anyone you come into contact with and help us ruin the iamge and life entirely and if you dont suicide you face worse your entire life being trashed and mocked and hindered and everyone accepting money over your human life to help us make it happen.
Clearly everyone involved in such crime deserves a death sentence for forcing suicide for money and thats partially why they would continue to lie for life.

Well, that's it. Give me your invoice number and I'll refund any asset you've bough from me. I can't waste my time with this stuff.
Reply