Posts

Thesis Progress - Noise Map

Image
 In another around of research, I found a toolkit and try to use it for my project.  Resource:  https://github.com/mtwoodard/TextureGenerator It's a 3D texture generator designed for raymarching clouds. As we know, the process of my project includes the steps of asset shape then blurred by noise map. Both of them are based on 3D texture. The initial idea was to apply perlin and worely noise, cuz that's the method introduced by many paper. But now, I got this tool which makes it easier.  From last blog, I already had a framework that can drive the 3D texture for some extent. And the noise map makes it pretty close to the final result. Here's what it looks like and it makes me HAPPY. There's an example in the toolkit , I applied it with my 3D texture script. It's not that clear now, then I juggled with some parameters on Blur Material.  Transparency: 0.4 OpacityCorrection: 2.4 Then the outcome shows some really nice work. And each of those plane is attached to texture

Thesis Progress - Raymarching Environment Building 2.0

Image
In terms of the other example, I haven't really looked into it, I think it's more relevant to my second method that modify the shape with raymarching function. I firstly tried another shape with the same 3Dtexture on the cube. It shows like It only covers certain range, which proves my thought. So let's get in codes. 

Thesis Progress - Raymarching Environment Building 1.0

Image
      Besides 3D texture, I'm thinking about what kind of raymarching could best apply the texture to generate purposeful clouds. The experiment here is through postprocessing effect which makes a global volumetric rendering.  The postprocessing framework is here, it's passing some numbers to shader, but the _boundMin and _boundMax are not working, it may due to the CloudTransform condition, and it causes the picture showed firstly that there's no way to control the rendering area. According to some examples showed online, they all made a frame box in the scene first.(Gizmo.DrawXXX)  I feel bothering so I skipped the step, but now I doubt if it's really unnecessary. As to the shader used here,  the 'for' loop is for interacting with other objects to realize light covering, not the most important part here. What I'm confused is, when I add the raymarch function and boxDist function, I'm not sure if the return value should still be the same. I tried color*

Thesis Progress - A general way of slicing model 1.0

Image
  The step of illustration, used VFACE to seperate front and back faces of object. Will update the test of slices soon. 2/18 Updates: The VFACE shader here solve the differentiation of front and back faces, but not helpful to slicing function. After a few arounds of attempts, there could be more issues in terms of other scripts.  Function is from the forum, but the author didn't give full codes, so I tried to write a new script to apply the those functions. In the main script, the function here creates the array to store 2D textures, the variable sliceCount defines the resolution. The problem I met is when I tried to assign numbers for value RampValue, I was confused with the new value range and the syntax of array usage. Now it's corrected with the help of Professor, RampValue(i,0,sliceCount,-0.5f,0.5f); Also, I assumed the Blur in if condition could be put behind, so I didn't use it at all, but now 'blurmaterial' has been turned into public for assigning blur outs

Thesis Progress - Schedule Check

Image
According to the timetable, the goal of this quarter is to finish the first two parts which are the function experiment for thesis project. So far,  the first method I came up with is going through 40% around, still need some more learning on coding to realize modification. At the same time, I'm still trying to find the other ways that might be better or easier, which could replace the current method. The way I make it should be covered by my capability as much as possible.  Other than that, I'm also considering whether I should have a comparsion between my method and traditional way of making 3D texture. It's mostly from the thesis perspective that I need to show the advantage or benefit of my own method. That requires more specific arrangement on timeline. 

Thesis Progress - Procedural 3D texture

Image
 According to tutorials, there's some outcome. The function realized plane creating, which would be saved later for my further using.  The problem so far is that the sphere generating function is way too complicate to modify myself, and it closely related to the planes, so it might cost more time on learning.  There's another easier example, what I can understand is the switch from object to worldspace. Once the cube is out of range, the texture could not sample on the object accurately. But not sure if I would use this later, but good to know what's going on in codes.  Resources archive:  https://www.youtube.com/watch?v=FUpsRzricPA&t=3s            The second example is from unity documentation that introduces the usage of 3D texture, this part could be as the framework of raymarching that allows to modify the shape possibily. This part will be put behind currently.  Resources archive:  https://docs.unity3d.com/Manual/class-Texture3D.html

Thesis Topic

Image