Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Extending Curvy to make a Hallway editor.
#1
Brick 
Hello! I'm looking to make a hallway creation tool. 

I want to create as many hallways with branching paths as I want, and populate them with props and features.


I'm extruding along the splines, and flipping the triangles which forms functional hallways.

From here I'd like to have the meshes open up when intersecting, allowing me to create branching paths. (I'm connecting the CP's at the branch points)


Would you recommend making a custom node for this, or extending the core Mesh building functionality?



Pic related, I'd like the red tri's of the mesh to be gone, and a seam to be calculated between the two, and ideally rearrange the vertices to make a good hole.


Attached Files Thumbnail(s)
       
Reply
#2
Hi
What you are trying to achieve is something I would like to implement in Curvy Splines, but haven't done so so far. I didn't take the time to think about how to do it properly, but to answer your question, I would probably make a new module, that takes two volume meshes as input, and then do a boolean geometry subtraction between the two of them, and then outputs the modified meshes. I hope that there is an easy to use library to do such operations that could be included easily in a Unity's project.
Please keep me updated, privately or publicly as you prefer, about your progress. I might be interested in the results.
I hope I was helpful enough.
Please consider leaving a review for Curvy. This will help a lot keeping Curvy relevant in the eyes of the Asset Store algorithm.
Reply
#3
(10-13-2021, 11:56 AM)_Aka_ Wrote: Hi
What you are trying to achieve is something I would like to implement in Curvy Splines, but haven't done so so far. I didn't take the time to think about how to do it properly, but to answer your question, I would probably make a new module, that takes two volume meshes as input, and then do a boolean geometry subtraction between the two of them, and then outputs the modified meshes. I hope that there is an easy to use library to do such operations that could be included easily in a Unity's project.
Please keep me updated, privately or publicly as you prefer, about your progress. I might be interested in the results.
I hope I was helpful enough.

Yeah! It gives me a direction to try. 

Do you have any advice, guides or gotchas on making custom modules?
Reply
#4
There is something about custom modules that will be fixed in version 8: The module template created via Project's window→Create→Curvy→CG Module does not call base.Refresh() in the Refresh method's override.

Other than that, there is no specific guide for this task. In addition to the comments in the class template, and the general tips found here: https://curvyeditor.com/documentation/extend/start , I would add the following:

Your inputs and outputs should be of type CGVolume. A module with such input type, to take as an example if needed, is the BuildVolumeMesh class. In its Refresh method, you can see how the input data is retrieved. The CGVolume class by itself is nothing crazy. Then at the end of the Refresh method, set the output data. That's basically it.

Let me know if you have more questions.
Have a nice day
Please consider leaving a review for Curvy. This will help a lot keeping Curvy relevant in the eyes of the Asset Store algorithm.
Reply
#5
Hello! It's two years later and I'm finally revisiting this in Curvy 8! I'll let you know if I make any progress Big Grin

If there are any new things I should be aware of that would help in the latest version let me know!
Reply
#6
Hi

(02-12-2023, 04:19 AM)ArachnidJacob Wrote: If there are any new things I should be aware of that would help in the latest version let me know!

Nothing crucial. Now there are additions to the API to help you reduce garbage collection, but this isn't crucial and can be ignored for non criticial scenarios. If you want to know more about this: basically, the CGModuleSlot has new GetData methods that have an out parameter: bool isDataDisposable
If the returned value is true, then it is better to call yourData.Dispose() once you are done with it.

I hope this helped
Have a nice day
Please consider leaving a review for Curvy. This will help a lot keeping Curvy relevant in the eyes of the Asset Store algorithm.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
Exclamation Extending Curvy Generator for Advanced Lofting - Feasibility Check amutp 2 4 Yesterday, 07:25 AM
Last Post: amutp
  8.8.0 is live, and it improves Curvy Generator greatly _Aka_ 0 5 Yesterday, 03:23 AM
Last Post: _Aka_
  Using Unity's SplineContainer in Curvy Splines dlees9191 3 14 02-26-2024, 09:49 AM
Last Post: _Aka_
  Curvy in Unreal Engine SAMYTHEBIGJUICY 4 8 02-02-2024, 12:12 PM
Last Post: _Aka_

Forum Jump: