【问题标题】:How to programmatically set the pose of a 3d humanoid model?如何以编程方式设置 3d 人形模型的姿势?
【发布时间】:2019-09-24 10:56:18
【问题描述】:

我是一名经验丰富的程序员,但对使用 3d 模型很陌生。

我有一些关于各种骨骼(手臂、腿、头、脊椎等)的方向(俯仰、滚动、偏航)的数据。

我想制作一个 3D 人形模型(可能看起来像骨架),并通过设置每个骨骼的方向以编程方式摆出它的姿势。

有人能指出我正确的方向吗?对于知道如何操作的人来说,这似乎是非常简单和基本的事情。

我同时使用 iOS 和 Android

编辑:我只是希望能够看到模型摆姿势时的样子。这不是视频游戏或动画图片或任何东西。只是为了动作捕捉。

【问题讨论】:

    标签: android ios react-native


    【解决方案1】:

    我认为这取决于您的 3d 引擎。例如在 jpct_ae 它看起来像

    Object3D cube = loadModel("",  (float) 1);
                cube.build();
                world.addObject(cube);
    
                cube.setOrigin(new SimpleVector(0, 0, 10));
    

    其中 0,0,10 是 x,y,z。在opengl中它类似但向左转一圈。 或尝试将原点设置为中心。 另一种方法是获取屏幕宽度和高度,然后设置为中心 例子

    public int getScreenWidth() {
            int columnWidth;
            WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
            Display display = wm.getDefaultDisplay();
    
            DisplayMetrics displaymetrics = new DisplayMetrics();
            this.getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
            int screenWidth = displaymetrics.widthPixels;
            int screenHeight = displaymetrics.heightPixels;
    
            final Point point = new Point();
            try {
                display.getSize(point);
            } catch (NoSuchMethodError ignore) {
                point.x = screenWidth;
                point.y = screenHeight;
            }
            columnWidth = point.x;
            return columnWidth;
        }
    

    但第一种方法是最好的,因为在渲染器中最简单,您可以设置任何您想要的位置。

    【讨论】:

    • 在您的示例中,您设置了对象的位置,但没有提及为人形模型的各个肢体设置姿势。您能否指出我正确的方向,或者建议一些容易做到的跨平台引擎? (我需要一个例子)
    • 我使用搅拌机。将对象粘贴到您想要的位置,然后选择第一个和第二个(在对象模式下)和 Ctrl+J 将它们组合到一个对象。在此导出 obj、3ds 或其他之后。
    • 我的目标是移动设备,那么您有没有针对移动设备推荐的引擎?
    • 是的。首先,您需要创建 3d 模型(或下载并更改)。您可以在搅拌机、3dMax、Maya 等中创建/更改它。此外,在搅拌机中,您可以为每个骨骼设置运动/位置(查看搅拌机模型装配/动画)。当模型准备好时,将其导出为 fbx 或 dae。在这之后,您需要使用任何 3d 引擎在您的应用程序中渲染它,例如 open_gl、jpct_ae、rajawali、jbones 或其他。在 android 应用程序中,我使用 jpct_ae 和 rajawali。
    • 现在我正在处理这个问题。我在搅拌机中创建模型、索具和动画。问题是在 md5anim/md5mesh 中导出它。 python 3.7上需要2.8版本的blender插件
    猜你喜欢
    • 2023-03-29
    • 1970-01-01
    • 2016-03-01
    • 1970-01-01
    • 2017-10-30
    • 2016-06-26
    • 2017-09-26
    • 2023-04-02
    • 1970-01-01
    相关资源
    最近更新 更多