Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 01:12
    shao200 commented #1666
  • Oct 22 20:58
    holance labeled #1666
  • Oct 22 20:58
    holance labeled #1666
  • Oct 22 20:57
    holance commented #1666
  • Oct 22 14:14
    shao200 commented #1666
  • Oct 22 10:16
    shao200 commented #1666
  • Oct 22 10:05
    shao200 commented #1666
  • Oct 22 09:55
    shao200 opened #1666
  • Oct 21 07:44
    AMT-Cheif commented #1658
  • Oct 21 00:55

    holance on 2.20.0

    (compare)

  • Oct 21 00:51

    holance on develop

    Update CHANGELOG.md (compare)

  • Oct 20 19:55
    holance closed #1610
  • Oct 20 19:55

    holance on develop

    Supports software rendering as … Merge pull request #1665 from h… (compare)

  • Oct 20 19:55
    holance closed #1665
  • Oct 20 19:28
    holance opened #1665
  • Oct 20 19:25
    holance closed #1664
  • Oct 20 19:20
    holance synchronize #1664
  • Oct 20 19:09
    holance opened #1664
  • Oct 20 05:21
    holance commented #1663
  • Oct 20 05:21
    holance commented #1663
Tai Le
@atlesg

Hi, how can we longer the arrow length of the CombinedManipulator? I can only make the diameter bigger. Thank you!

image.png

Shreyasj96
@Shreyasj96
@holance Thanks. I checked it out. It's awesome..
Shreyasj96
@Shreyasj96
@holance But the code is bit complicated for beginners to understand. I didnt understand how all the values of NodeAnimations were populated. Was it done using an external software like 3DS Max or something similar?
Lunci
@holance
@Shreyasj96 Yes, it's done by other software. Helix toolkit only reads animation from model files.
Shreyasj96
@Shreyasj96
@holance Hmm..Perhaps, it would be better if there was a tutorial on how to make it step by step and even better if there was like a HelixToolKit Start to Finish Udemy course. Definitely would pay to learn the tricks.
Tai Le
@atlesg
There is no way to scale up the combined manipulator :( I'm giving up
Lunci
@holance
You can copy the manipulator source code and modify yourself. @atlesg
Tai Le
@atlesg

Hello, how can we serialize our nested objects that include WPF 3D components inside (ModelVisual3D, Model3D...). I tried Json Newtonsoft but every time I serialize, I got a StackOverFlow error.
Is Json the correct path to go? Or I need to seek for something else? My goal is to:

1- Save a scene, with lists of objects inside, so next time I start the app I can import back the scene with my objects (they are declared globally).
Thank you!
2- Save a list of objects, so I can later import into a parent object.

Federico Rossi
@artipo

@artipo I implemented the hit test for billboard in screen space group. Also supports group model inside screen space group. Please try latest nightly build.

Hi! I've notice only now your message!
THANK YOU VERY MUCH! I wasn't expecting some work from you!
After the holidays I was even thinking of asking help to contribute myself to fix these problems.
Anyway I'll try to give you feedback as soon as I can.

I'm trying to test your fixes, sadly I don't know how to get the compiled dlls.
I've tried to retrieve the nightly build from the "Nightly build" link in the Readme.md but it appears to be broken.
I've also tried to clone the code and compile it myself, but I get lot of dependencie missing errors, althought I didn't tried to much.
Lunci
@holance
@artipo add the nightly build Link as an nuget source in your visual studio.
Chris Hill
@robotron2084
Hey all, I've been working alongside Nordaj to implement morph target animation for Helix. He's just submitted a PR. This PR allows for morph targets (aka blend shapes). And models that contain blend shapes no longer crash helix (woo!). The pr is up.
Lunci
@holance
@robotron2084 I tried the demo, seems like the morph from the model is not obvious enough to verify the result. I can't tell where the morph is happening during animation. I disable the morph and the demo is running exactly the same using only skeleton animation.
Åse Maj Håkonsbakken
@bugbiter
SharpDX WPF:
I am looking for the best way to toggle between one finger rotate and one finger pan. The method can not use additional keys. Something like a conditional ManipulationBinding?
Lunci
@holance
@bugbiter Currently the touch behaviors are hard coded in camera controller class. They do not support manipulation binding.
Chris Hill
@robotron2084
@holance that is odd. The demo should show the model talking. Are you not seeing that?
Lunci
@holance
@robotron2084 I am not seeing the model talking. Only open the mouth a bit
Are you seeing differently on your side?
Chris Hill
@robotron2084
Here's a video of what it should look like. https://www.youtube.com/watch?v=32m4Sry3NaU
Keep in mind that this is using the branch the PR is based off of. Not sure if perhaps there might be an issue that crept in there.
Lunci
@holance
@robotron2084 Interesting, I am not seeing the same thing. Will check on tomorrow.
Lunci
@holance
@robotron2084 Are you sure the model in the PR is the correct one? I use AutoDesk FBX viewer to open the model, getting same result. Not able to see the morph animation in the video you provided.
Jordan Chapman
@Nordaj
i pulled everything from current develop branch and am seeing it animated as a bronze character correctly
Are you seeing a static mesh? Is it doing skeletal animation correctly? But nothing with morph target?
Jordan Chapman
@Nordaj
When importing to blender im seeing the same thing (animated bones and morph)
im setting up a new clone to ensure ive got absolutely no differences that git might not be tracking
Jordan Chapman
@Nordaj
It is working on a clean clone as well
Maybe its a visual studio version difference or you may have some local /untracked changes. im using visual studio community 2019 16.8.2
Lunci
@holance
@Nordaj I am seeing skeletal animation, but no morph
Lunci
@holance
ok, I find the issue. The HLSL is only supported by discreet graphics card, if I run it using intel integrated graphics card, morph will not work.
I will push out a fix for it.
Shreyasj96
@Shreyasj96
@holance Hi. I have a fbx file which contains animation of multiple objects. But when I load it, its not showing any animation, sometimes even the model is not displayed. PS: I tested it by editing the path of importer.Load in MainViewModel of BoneSkinDemo.
Chris Hill
@robotron2084
@holance Did you get that fixed? We are looking into testing this on integrated gpus, which apparently might need some love.
Chris Hill
@robotron2084
@Shreyasj96 Are any exceptions being thrown?
Lunci
@holance
@robotron2084 The fix has been merged
Chris Hill
@robotron2084
oh great! thank you @holance
Shreyasj96
@Shreyasj96
@robotron2084 No Exceptions were thrown. It looks like some build issue. It seems to be working now. Thank you
Shreyasj96
@Shreyasj96
@holance The animations of .glb files are rendered slower(Even if the original animation while the time of creation is running at normal speed). Do we need to change any property to adjust the animation speed?. I don't see this issue with .fbx files tho.
Lunci
@holance
@Shreyasj96 Could you provide same sample model for us to debug?
Shreyasj96
@Shreyasj96
@holance Hi..Do you have 3D Viewer installed on your PC?. If yes, on opening you will see a Bee.glb (the default file). You can also test for an existing .fbx file by converting it into .glb and then loading it.
Shreyasj96
@Shreyasj96
Link: https://free3d.com/3d-model/wolf-rigged-and-game-ready-42808.html
I downloaded the gltf zip file for testing.
Tai Le
@atlesg

Hi!

Assume I have a model like this in Viewport3D. Now I want to have a Line or a Ray from the up high to bottom plane (Z = infinity → Z = 0). I want to return the intersection point of the ray/line and the the first facet it touches (probably the facet on top of the model)
How can I do that as I probably search around google but no solution so far.

I did try:

        for (int i = 0; i < myPaintModelMeshGeometry3D.TriangleIndices.Count; i = i + 3)
        {
            int index1 = myPaintModelMeshGeometry3D.TriangleIndices[i];
            int index2 = myPaintModelMeshGeometry3D.TriangleIndices[i + 1];
            int index3 = myPaintModelMeshGeometry3D.TriangleIndices[i + 2];

            Point3D point1 = myPaintModelMeshGeometry3D.Positions[index1];
            Point3D point2 = myPaintModelMeshGeometry3D.Positions[index2];
            Point3D point3 = myPaintModelMeshGeometry3D.Positions[index3];
            Vector3D vectorA = point2 - point1;
            Vector3D vectorB = point3 - point1;

            Vector3D normal = Vector3D.CrossProduct(vectorA, vectorB);
            normal.Normalize();

            Plane3D facet = new Plane3D();
            facet.Normal = normal;
            facet.Position = point1;

            Ray3D ray3D = new Ray3D();
            ray3D.Direction = new Vector3D(0, 0, 1);
            ray3D.Origin = new Point3D(250, 0, 0);

            Point3D? IsIntersection = facet.LineIntersection(ray3D.Origin, ray3D.Origin + ray3D.Direction * myPaintModelBoundingBox.SizeZ);
          }

But the result is a lots of "intersection" points since the Plane3D spreads to infinity, so each iteration of the facet cut the ray at one point....
image.png

Lunci
@holance
@atlesg You need to use ray intersect with triangle instead of plane. Collision.RayIntersectsTriangle
Tai Le
@atlesg

@atlesg You need to use ray intersect with triangle instead of plane. Collision.RayIntersectsTriangle

Thank you! I will take a try!

Edit: is that method only usuable in SharpDX? I'm not using SharpDX so I can't generate the code for that :(

Lunci
@holance
@Shreyasj96 It is a bug from assimp itself. assimp/assimp#3162
Lunci
@holance
If I load the wolf fbx file, the animation speed is correct. Seems like the Assimp version used by the Assimp.Net is having issue with gltf or glb.
Gravemind2401
@Gravemind2401
in TransformManipulator.cs under private void OnTargetChanged(Element3D target) is there a particular reason the event subscribe for SceneNode.TransformChanged is commented out? will it cause problems if I enable it again in my custom manipulator?
i have the target object's transform bound to my model so it can get changed by both the manipulator and by textboxes with coordinates in them but by default the manipulator doesn't move when the transform gets changed by another source
Gravemind2401
@Gravemind2401
nevermind i found out why. moving the manipulator sets off the transform changed event which makes everything get called twice
Gravemind2401
@Gravemind2401
i just put a if (isCaptured) return; in the event handler so it only gets run if some other function changes the transform and that seems to do the trick