Search Unity

Engine 4 - Four dimensional gameplay in Unity

Discussion in 'Assets and Asset Store' started by WillNode, Apr 21, 2015.

  1. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    Last edited: Oct 12, 2017
    Mauri and boysenberry like this.
  2. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    Version 1.1 will be out soon, check it at our website
     
  3. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    Version 1.1 has out on asset Store, here's what changed :

    • Unity 4.6 Support.
    • Faster Baking Time.
    • Faster Calculation.
    • Fix Morph update at runtime.
    • Better Asset Management
    • Added Additive RGB Shader (Particles/RGB Cube).
     
  4. MD_Reptile

    MD_Reptile

    Joined:
    Jan 19, 2012
    Posts:
    2,664
    Erm... I totally don't get it haha. Like - what exactly is the fourth dimension? We only perceive three dimensions (well two actually, and our brain creates the distinction of the third with depth?) don't we? Like I can't see how width, height, and depth... can have another dimension? Can you elaborate on that?

    Edit - I read the documentation but I guess I'm asking how would you describe the fourth dimension to somebody who's never looked at a 4d object lol.
     
  5. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    well, there are many theories about 4th dimension in our world. But for quick understanding, take a look at 3D Cube, it actually connects between two flat 2D Plane on each vertices and you can see how it rotates in our 3D world.
     
  6. JohnRossitter

    JohnRossitter

    Joined:
    Dec 18, 2013
    Posts:
    1,027
    It all makes sense to me.
    I have a low poly game this may be perfect for.
    Any idea as to how the performance would be in Mobile in terms of the meshes you generate (ie vertex count and shader performance) ?
     
  7. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    for Performance reasons it depends on how much vertices you have when you put that mesh to this component.
    I've tested this on 1k meshes and it has no noticeable performance hit, on 3k meshes the CPU main thread just increases about 5 ms, so I'm believe this would be generally fast on mobile devices.

    for shaders performance I believe also have no noticeable performance hit since it would not change any vertex data, only it's position.

    I'm still developing this asset so it will more optimized, faster and useful soon.
     
    Last edited: Apr 28, 2015
  8. paulojsam

    paulojsam

    Joined:
    Jul 2, 2012
    Posts:
    575
    can this be applied to morph terrain in real time
     
  9. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    unfortunately no, currently only meshes can be used.
     
  10. paulojsam

    paulojsam

    Joined:
    Jul 2, 2012
    Posts:
    575
    but if its a mesh it works, i mean if the terrains are meshes, its viable
     
  11. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    if your terrain are meshes, the answer is yes, you can.
    take a look at our documentation to see if it fits your need.
     
  12. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    Hi Guys, have been few weeks I'm not updating this thread.
    we're still working focus on this asset, and soon this package will get very much changes.
    I'm taking with the new 4D Engine, from bunch of many references (mostly wikipedia), with better 4D Mesh generation.
    keep in touch for few weeks.

    Untitled.png
     
    Last edited: May 11, 2015
    pixelsteam likes this.
  13. IanStanbridge

    IanStanbridge

    Joined:
    Aug 26, 2013
    Posts:
    334
    Hi it looks like this has been removed from the asset store. Can I ask why ? I purchased it and it works pretty well for morphing meshes especially when combined with the mesh maker asset.
     
  14. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    Hi, Sorry for the inconvenience.

    well, it's not permanently removed, it just disabled from asset store list.
    I will re-enable it back when this package got much change (just how I stated above).
     
  15. Bentoon

    Bentoon

    Joined:
    Apr 26, 2013
    Posts:
    98
    Looks interesting ... How does this deal with textures applied to a mesh?
    Thanks
    ~be
     
  16. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    Hi Bentoon, in this package we can interpolate between two different mesh, as default, the morpher merge every material (submeshes) to single submesh, however, we can preserve the submeshes by checking "separateSubMeshes" (in debug mode), and ...

    MEMorph.gif

    each mesh now has separate material ...
     
  17. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    Nice tool? Bookmarked. :cool:
     
  18. Akshara

    Akshara

    Joined:
    Apr 9, 2014
    Posts:
    100
    Hi Willnode. Is this compatible with 5.3+? And can it be used to render all six of the regular convex 4-polytopes? Thank you.
     
    Last edited: Jul 11, 2016
  19. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    First, yes, it's still compatible within 5.3+. Second, about polytopes, we're "not yet" creating a real 4d transformation, so if you are talking a "real" visualisation, so far it's not possible (still WIP). Third, all mesh calculation done internally. all you had to do is just create a base mesh. please refer to documentation for that.

    Best,
    Wildan.
     
  20. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    Wow. I got a number of users today who use this asset. Apologize that I am by right now is very rarely updating this asset, but I'm promising that it would change a lot in mean of time..

    The thing that I do right now is trying to make it live again with more proper event handling. Wait guys for the update..
     
  21. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    Ok guys. Version 1.2 of this package will be available soon. I have submit it and just waiting for review. This recent version fixes thing that broken because of me rushing to submit V1.1.1 (duh).
     
  22. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    Finally! I have real, fully working prototype 4D transformation tool.

    Real 4D In Unity [SNEAKPEAK].gif

    It is awesome, but still far from 'stable'. I'll be working on this until it's working as intended. The current released system is far less accurate than this new method. Anyone who need this system can request now by PM. Keep in mind this is still 'Alpha Stage', and I still uncertain with the 'release date'.

    Thanks for J.A. for the model, and for everyone else, keep watch the progress..
     
    pixelsteam and Akshara like this.
  23. schmieri

    schmieri

    Joined:
    May 4, 2017
    Posts:
    2

    Hey guys, thank u very much for developing this game. I dont have a rebake button, can I implement one somehow?
     
  24. schmieri

    schmieri

    Joined:
    May 4, 2017
    Posts:
    2
    Hi,

    I recently bought your Mesh 4D Engine & Morpher. So far it is working okay, however I have some problems:

    1. The rebake button is not present and I cannot hit rebake.

    2. When loading custom meshes, I select the base mesh and then the face connectors separately (I built the connectors by hand using blender as in your tutorial) and then it says "face connector is fully matched". But then in the game display the two custom meshes (scale 1 and scale 2) do not connect visually and are totally separate.

    3. Can you send me your prototype 4D transformation tool? maybe this could help me constructing custom meshes.

    Best wishes,
    schmieri
     
  25. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    Hi @schmierii,

    Thanks for that.

    I'd confused why people still want this package even I stated its clearly not use the exact 4D algorithm. I'd tried everything but its really that complicated. I'm gonna back to this asset and need to rethink about my strategy...

    1. I will take a look and fix it. Give me few days until weekends.
    2. Yes, I admit face connectors have "complicated" process and workflow behind it. I'll not touch and fix it but instead create new one from stratch.
    3. The last prototype is working but slightly complicated. The hardest challenge that I have is how we create the 4D mesh, similar like face connectors. But anyway send me your email to me and I'll let you play with it.

    ---

    Guys, I read those reviews, I still but will done upgrading my other assets in short days, so I think its worth to come back to this asset for another chance. Thanks for makes me interested again to develop this asset futher.
     
    schmieri likes this.
  26. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    Hi guys, check out the upcoming update to this asset...



    I'm working on the documentation right now. I was not believe i can do it so I'm excited to upload the update as soon as possible.
     
    Marcos-Elias likes this.
  27. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    Yes! the documentation is just finished. Everything is ready and I'm gonna submit V2.0 now. Thank guys, keep watch the update!
     
  28. paul_h

    paul_h

    Joined:
    Sep 13, 2014
    Posts:
    29
    Uh! I am very curious to see what's going to come out with this release. Currently I am trying to convince v1.2 to behave the right way but it just won't, have you got a timeframe for the release on the asset store?
    I am trying to finish a job for a conference and perhaps v2.0 could help me a lot!
     
  29. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    @paul_h the timeframe is now. In fact V2.0 has been submitted, but still holds up in review queue.

    It sometimes can be faster or slower so be patient for that :)
     
  30. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    Ha! V2.0 has been accepted in asset store!

    Screenshot (425).jpg

    So what's changed?
    - Say bye to Legacy code and welcome to the new system (worth +5000 lines of code :cool: )
    - Documentation, screenshots, video are recreated again from stratch
    - Uplifting the minimum unity version to 5.6.0

    The asset is in active development. I can say a lot of things will happen as this asset get serious development in upcoming versions. And yes, the legacy code are still maintained in the asset but its likely to be ignored (as not getting updated) in the long run.

    For those who have existing project using the legacy code, I suggest to not upgrade as this update is mean to introduce new system so I recommend to playing this asset in isolated/new project.

    As more development with this asset going on, I will create more playable examples to see if this asset really can bring 4D games into real development. My journey with this asset just get started here :)
     
  31. paul_h

    paul_h

    Joined:
    Sep 13, 2014
    Posts:
    29
    YEP! got it! Thanks so much!
    And at least at a first glance 3D rotations are more convincing than in 1.x
    Now I must integrate this new version in my job :)
     
    WillNode likes this.
  32. paul_h

    paul_h

    Joined:
    Sep 13, 2014
    Posts:
    29
    Hi Willnode, I am very satisfied with this new release! However I am using it also for a didactic video on 4D solids.
    and.. to be able to explain how things work I need to assign each face to a different color, so people can track visually what's going on when rotating the object on the w axis. Do you think it would be possible to do this from the script where you generate the geometry? Perhaps assign a different material ID to each (quad) face?
    The coolest thing could be to unwrap the UVs and save a template that could be processed elsewhere, but I believe this method could be very tough.
     
  33. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    Wow, sorry I didn't see your question for a long time.

    Multiple colors can be done easily by using separate objects per material. For example a Tesseract is based on 8 cubes, so you can differentiante each cube color by separating the objects. In M4 this can be done easily by uploading a cube mesh to Constant Uploader one for each object.
     
  34. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    Just submitted version 2.2 today. And here's the new feature spotlight:

    Screenshot (527).png

    Yes! Here are 24-cell, 120-cell and 600-cell. All released in the next version.

    The good news doesn't stop there because, from V2.2, you can upload a mesh to S4, and it'll be treated as a prism in the fourth dimension.

    4d.gif
     
    Akshara likes this.
  35. The_Winter_Eagle

    The_Winter_Eagle

    Joined:
    Sep 17, 2015
    Posts:
    2
    Hey there, I'm having trouble creating my one S4 Uploader. I'd like to be able to add n number of meshes to the uploader and have it render all of them as one single 4 Dimensional object.
    So I could have a cube at w = 0 that gradually mutates till it reaches, say, w = 5 and becomes a gear or any mesh I give it.

    I based my code on the S4Cylindrical uploader and tried to render two meshes, this is what I came up with:
    Code (CSharp):
    1. public override void UploadBuffer(S4Buffer buffer)
    2.         {
    3.             print("new");
    4.             List<List<Vector3>> vertices = new List<List<Vector3>>();
    5.             List<List<int>> triangles = new List<List<int>>();
    6.  
    7.             foreach (Mesh mesh in meshes)
    8.             {
    9.                 if (!mesh || !mesh.isReadable)
    10.                 {
    11.                     print("Error, bad mesh");
    12.                     return;
    13.                 }
    14.  
    15.                 var v_temp = ListPool<Vector3>.Get();
    16.                 mesh.GetVertices(v_temp);
    17.  
    18.                 var t_temp = ListPool<int>.Get();
    19.                 mesh.GetTriangles(t_temp, 0);
    20.  
    21.                 //print("1: " + v_temp.Count + ", " + t_temp.Count);
    22.  
    23.                 vertices.Add(v_temp);
    24.                 triangles.Add(t_temp);
    25.             }
    26.  
    27.             print("2: " + vertices[0].Count + ", " + vertices[1].Count + "  -- -- " + triangles[0].Count + ", " + triangles[1].Count);
    28.  
    29.             for (int i = 0; i < vertices.Count; i++) {
    30.                 var v = vertices[i];
    31.                 for (int j = 0; j < v.Count; j++)
    32.                 {
    33.                     Vector4 vec = (v[j] * radius).SetW(-height * 0.5f + i);
    34.                     //vec.Set(vec.x, vec.y, vec.z + i, vec.w);
    35.  
    36.                    
    37.                     buffer.AddVert(vec);
    38.                 }
    39.             }
    40.  
    41.             for (int i = 0; i < vertices.Count; i++)
    42.             {
    43.                 var v = vertices[i];
    44.                 print("i: " + i);
    45.  
    46.                 for (int j = 0; j < v.Count; j++)
    47.                 {
    48.                     Vector4 vec = (v[j] * radius).SetW(height * 0.5f + i);
    49.                     //vec.Set(vec.x, vec.y, vec.z + i, vec.w);
    50.  
    51.                     print("pos: " + vec);
    52.  
    53.                     buffer.AddVert(vec);
    54.                 }
    55.             }
    56.  
    57.             for (int i = 0; i < triangles.Count; i++)
    58.             {
    59.                 var t = triangles[i];
    60.                 for (int j = 0; j < t.Count; j += 3)
    61.                 {
    62.                     int a = t[j], b = t[j + 1], c = t[j + 2], o = vertices[i].Count;
    63.  
    64.                     // Surfaces
    65.                     buffer.AddTrimid(0, a, b, c);
    66.                     buffer.AddTrimid(o, a + o, b + o, c + o);
    67.                     buffer.AddPrism(a, b, c, a + o, b + o, c + o);
    68.                 }
    69.             }
    70.  
    71.         }
    It almost works but I can't seem to understand what I should be doing with these last lines of code:
    Code (CSharp):
    1. for (int i = 0; i < triangles.Count; i++)
    2.             {
    3.                 var t = triangles[i];
    4.                 for (int j = 0; j < t.Count; j += 3)
    5.                 {
    6.                     int a = t[j], b = t[j + 1], c = t[j + 2], o = vertices[i].Count;
    7.  
    8.                     // Surfaces
    9.                     buffer.AddTrimid(0, a, b, c);
    10.                     buffer.AddTrimid(o, a + o, b + o, c + o);
    11.                     buffer.AddPrism(a, b, c, a + o, b + o, c + o);
    12.                 }
    13.             }
    I couldn't really find a detailed explanation in the documentation or in the code its self, so I'd really appreciate it if you helped me out.
    Thanx,
    Alex
     
  36. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    @The_Winter_Eagle the last part of the code simply creates a bunch of cells (top and bottom, and cylinder cells between two mesh (aka. the cylinder cells). Same thing as creating a bunch of mesh's triangles.

    4DCylinder.png

    This is part the corrected code. It should work for you.

    Code (CSharp):
    1.  
    2. int offset = 0;
    3. for (int i = 0; i < vertices.Count; i++) {
    4.    
    5.     var v = vertices[i];
    6.     var t = triangles[i];
    7.    
    8.     // Bottom cell verts
    9.     for (int j = 0; j < v.Count; j++)
    10.     {
    11.         Vector4 vec = (v[j] * radius).SetW(-height * 0.5f + i);
    12.         buffer.AddVert(vec);
    13.     }
    14.    
    15.     // Top cell verts
    16.     for (int j = 0; j < v.Count; j++)
    17.     {
    18.         Vector4 vec = (v[j] * radius).SetW(height * 0.5f + i);
    19.         buffer.AddVert(vec);
    20.     }
    21.    
    22.     // Connect with cells
    23.     for (int j = 0; j < t.Count; j += 3)
    24.     {
    25.         // Index of vertices above
    26.         int a = t[j], b = t[j + 1], c = t[j + 2];
    27.         int ob = offset, ot = offset + v.Count;
    28.  
    29.         // Add Surfaces with Simple N-Gon trick
    30.         buffer.AddTrimid(ob, a + ob, b + ob, c + ob);
    31.         buffer.AddTrimid(ot, a + ot, b + ot, c + ot);
    32.         buffer.AddPrism(a + ob, b + ob, c + ob, a + ot, b + ot, c + ot);
    33.     }
    34.    
    35.     // Shift and move
    36.     offset += v.Count * 2;
    37. }
    38.  
     
  37. The_Winter_Eagle

    The_Winter_Eagle

    Joined:
    Sep 17, 2015
    Posts:
    2
    @WillNode Thanks for the quick response, it really is awesome to see such a caring developer. 5 star review incoming...
     
    WillNode likes this.
  38. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    OK, it's been awhile I don't update the asset so I give it a go today.... for V3.0!

    For the last of the month, I've been thinking about the current asset workflow have been somewhat crude so I better to rewrite the asset from scratch, again :(

    But this version just gets a lot better. I hypothesize, experiments, play, repeat. The latest asset now has over 15k lines of code with tons of new features* and even got a better documentation: https://willnode.github.io/engine4-doc/index.html

    This update is a big jump such that I have a plan to release the update under beta version so I can get feedbacks and (hopefully) no ever need to write from scratch again ;)

    * New features include the brand new physics engine, rendering system, editor gizmo, modeler, modifier, frustum culling, and a lot more. check the doc above!

    4dfrustum2.gif
    This new update is almost finished. I truly can't wait to push the submit button right now :D

    Unfornatunely I'm expecting you to start a new project to use this beta because, by my design intent, you can't upgrade 2.x to 3.x. I don't have a plan to make it possible.
     
    Akshara likes this.
  39. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    Wow, the v3.0 beta update has been available in the store! I can't believe it could be that fast.

    Anyway, feel free to try the update yourself and remember the documentation is available online as it is may be updated on daily basis. Enjoy!
     
  40. IanStanbridge

    IanStanbridge

    Joined:
    Aug 26, 2013
    Posts:
    334
    Hi just to let you know the new beta works in the editor but gets loads of errors if you try to use it in a build. It is complaining that indicegizmo and UnityEditor don't exist in the current context with several of the files.
     
    WillNode likes this.
  41. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    Ahh, yes. Thanks for the info. I'll fix it soon. Didn't thought about it before.
     
  42. m1studio

    m1studio

    Joined:
    Nov 1, 2015
    Posts:
    2
    I am getting errors when I load example scenes (NullReferenceException: Object reference not set to an instance of an object) and can't get this asset to work at all in Unity 2017.3.0f3 (see screenshot).
     

    Attached Files:

    Last edited: Jan 16, 2018
  43. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    I've spotted the error few days ago. It happens because AddComponent in OnValidate emits error when editor begins. Frankly this is not happening in 5.6.0 and does not affecting builds.

    Notetheless, I'll try to fix that. FWIW it could be a bug on unity side though.
     
  44. m1studio

    m1studio

    Joined:
    Nov 1, 2015
    Posts:
    2
    Interesting asset. Looking forward to trying it when it is fixed.
     
    WillNode likes this.
  45. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    Hi guys,

    The upcoming Unity 2018.1 have new job system and other decent graphics system. I've been waiting for this. The current version uses 5.6 and many hacks seems doesn't work anymore with recent unity version (I have patches but it'll likely not to be released soon).

    Seriously I've been investing too much on this asset so I'll give this another shot. I just hope you guys (the customer) can give me some time for a while. Cheers!
     
  46. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
  47. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    In case anybody wondering what's up today...

    Screenshot (143) - Copy.png

    I'm currently learning to create native plugins in Unity!

    Engine4 does a lot array and structs computations so it's makes sense if I have to convert the whole library into C++, instead of figuring performance hacks around C# limitations....

    I understand this would be another breaking change, but I promes all custom extensions (Modifier, Modeler, Visualizer) will stays the same.

    I'm starting with Rendering engine. The physics engine will stays in C# until mature enough. I'll post more soon.....
     
    MD_Reptile and Akshara like this.
  48. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    It's been two weeks of ongoing developments, and I have to say I'm really impressed....

    (*Go grab some coffee now*)

    Engine4_Managed_Native.png

    We measured the performance between using the library as managed C# vs. using low-level C++, and the difference is staggering: C++ version is around 500% more efficient. Both library has same exact functionality at the time I write here.

    This is mind boggling to me, I think I should do these more to my other projects. Really worth the effort.

    Bleeding Edge Code

    The project code is now hosted in GitLab (both managed and native). Get the access from here. The managed repo does not contains precompiled native library, so you have to compile it by yourself from native repo.

    The Roadmap to C++

    I don't have any plan to push the release anytime soon, because at this point I only tested the C++ library in Windows, so more platform coverage is being worked on. If you have some trouble when compiling the native library, you can ask some help here.

    The library is compiled using MSVC (Visual Studio 2017). After windows, I'll try to get it working on WebGL, Linux, then Android. Mac and iOS comes later after I bought some mac devices (I don't have one, really :oops:)

    As eager as I am to push C++ sooner, I still won't deprecate the managed C# rendering code. C++ requires some work to get it working, and by default it stick to C# engine. In order to switch to C++, you have to add
    ENGINE4_NATIVE
    compiler directive with
    unsafe
    compilation.

    I'll cover more topic on these compilation later in native repo README. If you interested to get into these experiments, getting the access is the first thing to do ;)
     
    Last edited: Jun 9, 2018
  49. WillNode

    WillNode

    Joined:
    Nov 28, 2013
    Posts:
    423
    Oh and one more thing is that having fast rendering code is not only the goal. I'm planning to revise the editor navigation, so it is not just simple XYZW buttons (those are equivalent of 'gizmo' in scene editor, btw), but also some mouse and keyboard interaction too. I don't what it will gonna be, but just say that I'm excited to get work on it now ;)
     
  50. Chunkboi

    Chunkboi

    Joined:
    Jun 11, 2018
    Posts:
    3
    I'm doing some experiments trying to build a 4d first person shooter, and in the process I'm running into some issues, so I wonder if these could be addressed in an upcoming update:

    • Sometimes the Viewer4 system gets a little flaky in cross sectional views. Moving the w slice while still in XYZ space doesn't produce the 4d "cutoff" effect I've seen in other 4d games like 4d toys, or the hyperspheres shrinking and regrowing.
    • Is it possible to maybe have multiple Viewers? Say I wanted to use a different axis to create a kind of "map" or "scanner" for 4d navigation, so the player can know where to walk when they shift along the 4th dimension.
    • I used a first person shooter script for the player entity, but when I move the player, it seems to leave its collider4 behind in any 4d orientation. The collider stays put. I'm trying to customize the first person movement script so that the control input goes to transform4 instead of transform. Here's the original script for a conventional 3d motion system:
      GetComponent<Rigidbody>().MovePosition(GetComponent<Rigidbody>().position + (transform.right * h) * speed * Time.deltaTime); // Move player based on the horizontal input
      GetComponent<Rigidbody>().MovePosition(GetComponent<Rigidbody>().position + (transform.forward * v) * speed * Time.deltaTime); // Move player based on the vertical input
    • Is there any part of the engine which will let me convert the mesh to 4d directly?
    Thanks!