What about taking an image as input like 128x128, then with one click generate the volume texture of 2048x2048 ? will be possible? Im looking something like that and this is the most close i found.
Is to be used in Unreal Engine. Seems Blender or Houdini with some SideFX node , giving a texture like 256x256, they can generate a volume texture, which outputs a 4096x4096 image with a 16x16 grid of 256x256 texture resolution, so they can be used to map any model seamless without need of triplanar mapping.
So i was looking a standalone app that picks a texture and converts/generate into a volutme texture (flipbook) ready to be used.
Now I think I understand what you're trying to achieve. So basically the texture just needs to be repeated in a grid pattern so it looks like a flipbook.
But doing this for a volume texture would just mean to extrude the texture on one axis - there would be no real "3Dness" because all the layers look the same.
I don't think I'll implement something like that since you can basically do this with some software like Gimp etc. It's just a bit tideous.
Oh not that, my question was if there will be some way to create that "3Dness" from a single texture. Not repeat the same texture X times, because as you said, then will be 2 axis just extruded.
One of the simple ideas was move/span in wrap mode the texture, one pixel left&down, in each slice/tile, to avoid that extrusion, still the result not will be as nice as a real volume texture but may works enough.
Other method will be more complex, like keep the center of the texture 254x254 , and the borders used for the other axis, change in each slice to recreate that 256x256 texture in the other sides/axis. 0 extrusion, each face will have that texture.
No idea how this ideas may work, at the end, is some method that from a single seamless texture, the tool can do the process and give you a volume texture, with no extrusion, so you can map any object seamless in any face.
It seems like a great tool ! But I when I click generate, the process is stuck in a forever loop it seems. I've let it run for half an hour on a low resolution texture to try, no luck so far.
Any idea what could cause this ?
Thanks a lot in advance !
Solved : If I change the default output path, It will be stuck in a rendering loop. Reverted back to default , it works !
Unfortunately I could not recreate this bug. There should be a Player.log file inside this folder C:\Users\<User>\AppData\LocalLow\Acetix\3D Volume Generator Maybe it contains an error message that could identify the problem.
UnauthorizedAccessException: Access to the path 'C:\Users\Vaille\Documents\My Pictures' is denied.
at FileBrowser.GetAllDirectoryNames (System.String path) [0x00057] in <70b10ceaa322400282e297cbd2661509>:0
at FileBrowserUI.BuildDirectoryView (System.String path) [0x00000] in <70b10ceaa322400282e297cbd2661509>:0
at FileBrowserUI.Show (FileBrowserMode openMode, System.String startingPath) [0x00032] in <70b10ceaa322400282e297cbd2661509>:0
at MaterialUiController.ShowFileBrowserForResultPath () [0x00024] in <70b10ceaa322400282e297cbd2661509>:0
at UnityEngine.Events.InvokableCall.Invoke () [0x00010] in <027a98498d8c4623bf0c4b0061801949>:0
at UnityEngine.Events.UnityEvent.Invoke () [0x00022] in <027a98498d8c4623bf0c4b0061801949>:0
at UnityEngine.UI.Button.Press () [0x0001c] in <4d685be77172497b9c5d885029ba77aa>:0
at UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) [0x00009] in <4d685be77172497b9c5d885029ba77aa>:0
at UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) [0x00007] in <4d685be77172497b9c5d885029ba77aa>:0
at UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) [0x00067] in <4d685be77172497b9c5d885029ba77aa>:0
Also, I cannot rechange the save location. How can I force it to reset to default ? I tried download a new version, or delete files in Local Low, when I start a new instance, he keep this "bugged" Save location in memory
There is currently no reset to default button and it keeps this settings since Unity sets this value in the registry. But I could implement something like this.
Also the error says that the program has now permissions to access the directory 'C:\Users\Vaille\Documents\My Pictures'
This is really, really good! Runs like a charm, generates nice volumes.
The UI can benefit from a few minor improvements; e.g.:
- can't type 5 digits into the resolution field, but my GPU supports 16384x16384 textures, also in Unity. :) You could clamp it to the SystemInfo.maxTextureSize ; or I guess 65536 or 32768 if your generator doesn't use the GPU to display these textures.
- add a button checkbox that just opens the persistent data path (or custom data path) in explorer after generation
- add a box around the controls group on the top left; to set it apart
- tab and cursor key navigation, can be easily done via Unity's UGUI EventSystem, just wire up auto navigation and click away the pieces you don't want
Thank you for your feedback! I'll try implementing your points. :)
Also I've set the max resolution to 4 digits since I didn't think someone would need more because the file size can really impact performance. What's your usecase for such large textures then? ^^
I use them as volumes in a space game. Usually just one of that size, though.
Ultimate plan is to build a 3D gradient and use that as a map to visualize the manetosphere of Jupiter. That could eventually be generated from spherical harmonics, but actually twirled noise looks and feels better.
great tool! But i'm encountering a few saving bugs. Anytime i try and render a texture it just hangs. And I don't think its keeping my export file paths either.
Thanks! It should actually keep the saving path but I'll look into it. And it may hang because it's using to much RAM. That's also something I want to improve but thanks for reminding!
← Return to tool
Comments
Log in with itch.io to leave a comment.
What about taking an image as input like 128x128, then with one click generate the volume texture of 2048x2048 ? will be possible? Im looking something like that and this is the most close i found.
I don't think it's possible to generate a volume texture from a single image. Maybe if you'd explain what you're trying to achieve I could help you.
Is to be used in Unreal Engine. Seems Blender or Houdini with some SideFX node , giving a texture like 256x256, they can generate a volume texture, which outputs a 4096x4096 image with a 16x16 grid of 256x256 texture resolution, so they can be used to map any model seamless without need of triplanar mapping.
So i was looking a standalone app that picks a texture and converts/generate into a volutme texture (flipbook) ready to be used.
Now I think I understand what you're trying to achieve. So basically the texture just needs to be repeated in a grid pattern so it looks like a flipbook.
But doing this for a volume texture would just mean to extrude the texture on one axis - there would be no real "3Dness" because all the layers look the same.
I don't think I'll implement something like that since you can basically do this with some software like Gimp etc. It's just a bit tideous.
Oh not that, my question was if there will be some way to create that "3Dness" from a single texture. Not repeat the same texture X times, because as you said, then will be 2 axis just extruded.
One of the simple ideas was move/span in wrap mode the texture, one pixel left&down, in each slice/tile, to avoid that extrusion, still the result not will be as nice as a real volume texture but may works enough.
Other method will be more complex, like keep the center of the texture 254x254 , and the borders used for the other axis, change in each slice to recreate that 256x256 texture in the other sides/axis. 0 extrusion, each face will have that texture.
No idea how this ideas may work, at the end, is some method that from a single seamless texture, the tool can do the process and give you a volume texture, with no extrusion, so you can map any object seamless in any face.
Hi !
Here are some features i'd love to see implemented, please consider them:
- .dds output. (Check out Texassemble), or alternatively output for individual frames
- Brightness / Contrast / Blending improvements
- Option to disable noise layers
- Option for pixel perfect noise (adjustable filtering/smoothening)
- preview options like quality, preview object size/model etc.
- unlocked min/max values on all options
These are great suggestions and I'll try implementing them! I can't say how long it will take though.
Hello !
It seems like a great tool ! But I when I click generate, the process is stuck in a forever loop it seems. I've let it run for half an hour on a low resolution texture to try, no luck so far.
Any idea what could cause this ?
Thanks a lot in advance !
Solved : If I change the default output path, It will be stuck in a rendering loop. Reverted back to default , it works !
Thank you for the info!
Unfortunately I could not recreate this bug.
There should be a Player.log file inside this folder C:\Users\<User>\AppData\LocalLow\Acetix\3D Volume Generator
Maybe it contains an error message that could identify the problem.
I have this error in the log :
UnauthorizedAccessException: Access to the path 'C:\Users\Vaille\Documents\My Pictures' is denied.
at FileBrowser.GetAllDirectoryNames (System.String path) [0x00057] in <70b10ceaa322400282e297cbd2661509>:0
at FileBrowserUI.BuildDirectoryView (System.String path) [0x00000] in <70b10ceaa322400282e297cbd2661509>:0
at FileBrowserUI.Show (FileBrowserMode openMode, System.String startingPath) [0x00032] in <70b10ceaa322400282e297cbd2661509>:0
at MaterialUiController.ShowFileBrowserForResultPath () [0x00024] in <70b10ceaa322400282e297cbd2661509>:0
at UnityEngine.Events.InvokableCall.Invoke () [0x00010] in <027a98498d8c4623bf0c4b0061801949>:0
at UnityEngine.Events.UnityEvent.Invoke () [0x00022] in <027a98498d8c4623bf0c4b0061801949>:0
at UnityEngine.UI.Button.Press () [0x0001c] in <4d685be77172497b9c5d885029ba77aa>:0
at UnityEngine.UI.Button.OnPointerClick (UnityEngine.EventSystems.PointerEventData eventData) [0x00009] in <4d685be77172497b9c5d885029ba77aa>:0
at UnityEngine.EventSystems.ExecuteEvents.Execute (UnityEngine.EventSystems.IPointerClickHandler handler, UnityEngine.EventSystems.BaseEventData eventData) [0x00007] in <4d685be77172497b9c5d885029ba77aa>:0
at UnityEngine.EventSystems.ExecuteEvents.Execute[T] (UnityEngine.GameObject target, UnityEngine.EventSystems.BaseEventData eventData, UnityEngine.EventSystems.ExecuteEvents+EventFunction`1[T1] functor) [0x00067] in <4d685be77172497b9c5d885029ba77aa>:0
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
UnityEngine.EventSystems.StandaloneInputModule:ReleaseMouse(PointerEventData, GameObject)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMousePress(MouseButtonEventData)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMouseEvent(Int32)
UnityEngine.EventSystems.StandaloneInputModule:ProcessMouseEvent()
UnityEngine.EventSystems.StandaloneInputModule:Process()
UnityEngine.EventSystems.EventSystem:Update()
Also, I cannot rechange the save location. How can I force it to reset to default ? I tried download a new version, or delete files in Local Low, when I start a new instance, he keep this "bugged" Save location in memory
There is currently no reset to default button and it keeps this settings since Unity sets this value in the registry. But I could implement something like this.
Also the error says that the program has now permissions to access the directory 'C:\Users\Vaille\Documents\My Pictures'
Found the registry , deleted, and now its "factory" reset ! Everything is working ! :D Thank you for your help !
This is really, really good! Runs like a charm, generates nice volumes.
The UI can benefit from a few minor improvements; e.g.:
- can't type 5 digits into the resolution field, but my GPU supports 16384x16384 textures, also in Unity. :) You could clamp it to the SystemInfo.maxTextureSize ; or I guess 65536 or 32768 if your generator doesn't use the GPU to display these textures.
- add a button checkbox that just opens the persistent data path (or custom data path) in explorer after generation
- add a box around the controls group on the top left; to set it apart
- tab and cursor key navigation, can be easily done via Unity's UGUI EventSystem, just wire up auto navigation and click away the pieces you don't want
Thank you for your feedback!
I'll try implementing your points. :)
Also I've set the max resolution to 4 digits since I didn't think someone would need more because the file size can really impact performance. What's your usecase for such large textures then? ^^
I use them as volumes in a space game. Usually just one of that size, though.
Ultimate plan is to build a 3D gradient and use that as a map to visualize the manetosphere of Jupiter. That could eventually be generated from spherical harmonics, but actually twirled noise looks and feels better.
great tool! But i'm encountering a few saving bugs. Anytime i try and render a texture it just hangs. And I don't think its keeping my export file paths either.
Thanks! It should actually keep the saving path but I'll look into it. And it may hang because it's using to much RAM. That's also something I want to improve but thanks for reminding!
With the Twirl property, I can make Volumetric Accretion Disk! Nice Job!!
Thank you :)