Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

Scientific simulation using Unity (possible use case)

Discussion in 'Getting Started' started by straku, May 22, 2015.

  1. straku

    straku

    Joined:
    May 22, 2015
    Posts:
    2
    First I would like to say hello to this community as this is my first post and my first contact with Unity engine.

    I always wanted to learn Unity for strictly game development purposes and now with opportunity to choose right technology for some scientific project (as a part of my studies) I thought that maybe it will be possible to merge this two worlds and ease the implementation of algorithm required for this project and at the same time learn the engine itself. That's where my questions starts, because I'm not sure if Unity will allow and more importantly make it easier to implement required solution. So let's talk about what I need and I hope that someone will help me with decision if Unity is the right choice.

    What I need:
    • I need to be able to work with tetrahedral meshes (is it possible to load that kind of mesh to Unity and does it support any operations on it?)
    • I need direct access to mesh vertex data, for example I need to create local regions (small volumes consisting of few tetrahedrons) out of single vertex and its neighbors, transform them and blend results. Algorithm that I'm willing to implement and modify is modification of FastLSM technique (Fast Lattice Shape Matching http://www.alecrivers.com/fastlsm/)
    • Does Unity allow to calculate that kind of operations (vertex / mesh modification) on the GPU? Does it allow to use any kind of compute shaders or something like OpenCL / CUDA?
    • If these operations are indeed possible in what language will I be able to perform them? (I know that there are two possibilites - C# or JS / UnityScript but is it possible to use both of them for these purposes?)
    Originally I started to implement my application in C# with GUI in WPF and OpenGL with OpenTK wrapper and if I will have to I will probably finish the project in these technologies but it's a little pain in the ass especially for someone who's experience with 3D graphics is not so good.

    I hope that I will get some insight from people whose experience is much higher than mine, so thanks in advance for any advice.
     
  2. proandrius

    proandrius

    Unity Technologies

    Joined:
    Dec 4, 2012
    Posts:
    544
    Possible.
    Possible.
    Possible.
    Doesn't matter.

    :)
     
    straku likes this.
  3. straku

    straku

    Joined:
    May 22, 2015
    Posts:
    2
    Thanks for reply :)

    The fact that all of these operations are possible in any language is promising. But do you believe that it will be significantly easier than writing it in technologies mentioned by me? Do you know any good resources that I could look into to start digging about these topics especially (tetrahedral meshes, vertex operations, GPU calculations)?