Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

DankP3

12
Posts
5
Topics
1
Following
A member registered Oct 08, 2016

Recent community posts

A two part question, please:

1. Would it be possible to have as an option that if a clay Object partially moves out of the container it is completed along that boundary with a claxel surface rather than sliced by it? 

2. Related to above, could custom shapes (presumably primitives because of the possible complexity) be included in the container as a 'custom container' with rules as above. Eg. Just for discussion, you add a cylinder and clay Objects can only be inside it, and, if you fill it you basically render a cylinder of clayxels... Not sure of the expense of this! 

I put in a feature request on this to ensure Andrea sees it, posting a note here in case you wanted to add any thoughts/related request: https://itch.io/t/701430/isolated-generate-mesh-data-method

Hi,

Would it be possible for you to give us a method through which we can pass in a resolution and receive back a mesh, please. At the moment, without extensive scripting the method for mesh generation is extremely expensive and requires freezing and unfreezing of the clayxels. 

I believe it should be possible to leave the clayxels as they are and update a mesh as a separate operation.

I understand that such a method could still be abused, but can see many applications.

See reference posts:

https://itch.io/t/698211/exporting-meshes-at-custom-resolutions-single-frame

https://itch.io/t/698818/clayxels-plus-sticky-obifluid

https://itch.io/t/701288/liquid-test-using-64-spheres

No, that would be nice (I'd have to look into the code for that, but it should be possible). It is: reduce resolution, freeze, clone the mesh (and use as a collider + add all the Obi requirements) , reset the resolution and unfreeze, all sequentially in one frame so it is unseen. Haven't had a chance to see how far I can push it for dynamic interactions yet, but the ideal would be a method to generate the mesh clone directly at the desired resolution without tampering with the existing clayxels - just in case the dev is looking :) 

Requires generation of a Mesh Collider and addition of various Obi Fluid requirements...

Thank you for the help.

So rather than do what you said (I did try, but initializing introduces delays that i would probably need coroutines or similar to wait for), i did a 'simpler' thing:

int originalResolution = m_Clayxel.chunkSize;
m_Clayxel.chunkSize = m_Resolution; // m_Resolution being a lower resolution
m_Clayxel.generateMesh();
SaveAsset(); //this is where i extract meshes and materials as required and in this case create the collider that uses the mesh
m_Clayxel.chunkSize = originalResolution;
m_Clayxel.disableMesh();

It was pretty neat (results of resolutions 64 to 4, top to bottom). 64 is to low and the mesh parts are not joined, but interestingly 4 results in artefacts in the majority of cases. I thought worth reporting since i often see little defects in the clayxel blend (like missing pieces). Likely i will not use a collider saved at resolution 4, but it suggests something may be wrong (and different every time), unless it is purely the lack of initialization?

Now with that said, if i just use 'freeze to mesh' in the inspector, I don't see any defective polygons.


I have been playing with exporting the mesh and materials (essentially generateMesh, clone mesh and materials and then disableMesh). This seems to work fine. 

However, what I would really like to be able to do is to clone the mesh at a high resolution and then clone the mesh at a low resolution to use this as a mesh collider for the high res mesh used by the renderer. Doing this sequentially seems to be a slow process as i can't simply change the chunksize and run in a single frame as it doesn't appear to update that way. Could you perhaps advise on the best way to do this?

Also, a total aside, will you be moving your scripts into your own namespace prior to release on Unity asset store?

Oh great, thanks. Sorry if I missed that somewhere. 

(1 edit)

Hi, I reproduced this quite easily on my proper dev computer - hopefully it is clear in this screen recording: https://drive.google.com/open?id=1EYRI0QpxvuUAxi1aRnXBhJ2nD5RY_eQm - my assumption is that with any two clayObjects, if 1 has a blend they should blend...

EDIT: note at about half way through, i just delete the defective object and replace with an identical new one and it works.

Thanks

Create 2 clay objects. 

Set blend to 1 on one of them and then move them around. 

Set blend back to 0 and on the second object set its blend to 1 and move them around. 

Repeat with blend combinations of 0,0 or 1,0 or 0,1 or 1,1 and pretty soon one object stops blending. 

Now, I realise this was an old surface Pro 3 with integrated graphics! 

I am a new user, which could be my problem. This asset looks great, has huge potential.

Using Unity 2019.3.3f1....

To reproduce the issue: Create two clay objects, set one to blend =1 and move them around and they blend together. Now switch between the two objects, sometimes having both with blend set to 1 or neither or the other one etc.... soon after objects become unable to blend (unless met by a blending object that can still blend). Deleting the now non-functional object and replacing with a new identical one solves the problem,

I assume this is not intended functionality and appreciate any help.

was just starting to get into this and i walked through a wall and got stuck - level 5 walked through vertical wall at bottom middle. Just in case it's a fault you can fix. I think the player walked a bit too slow (ie. moving between moving walls was slow.