如何以编程方式设置3d人形模型的姿态?

时间:2019-09-24 01:38:36

标签: android ios react-native

我是一位经验丰富的程序员,但是刚接触3d模型。

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

我想要一个3d人形模型(也许是一个看起来像骨架的模型),并通过设置每个骨骼的方向来以编程方式摆姿势。

有人可以指出我正确的方向吗?对于懂行的人来说,这似乎非常简单和基本。

我同时使用iOS和Android

编辑:我只想能够看到模型摆好后的样子。这不是视频游戏或动画图片,也不是任何东西。它只是用于动作捕捉。

1 个答案:

答案 0 :(得分:0)

我认为这取决于您的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;
    }

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