生成的网格统一旋转两次

问题描述 投票:0回答:1

我正在开发一个项目,创建你自己的复杂3D模型(像probuilder,但像一个应用程序),但是当我尝试通过说

90°
旋转我生成的网格时,它实际上旋转了
180°
。 我似乎不明白为什么?

enter image description here

90° enter image description here

我想让它旋转90度,但实际上它旋转了180度

当我用任何其他预定义的网格(立方体或圆柱体)替换网格时,它工作正常。所以我认为问题出在我创建网格时。 编辑:-我已经指出了这段代码中的问题。这段代码根据游戏对象顶点修改网格顶点,以便我在移动顶点时可以使面变形

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DeformFace : MonoBehaviour
{
    public Face face;
    public List<Vertex> sharedVertices=new List<Vertex>();
    Mesh mesh;
    public List<Vector3> meshVertices=new List<Vector3>();
    private void Start()
    {
        sharedVertices=face.sharedVertices;
        for (int i = 0; i < sharedVertices.Count; i++)
        {
            meshVertices.Add(sharedVertices[i].transform.position);
        }
        mesh =GetComponent<MeshFilter>().mesh;
    }

    private void Update()
    {
        DeformingFace();
    }

    public void DeformingFace()
    {
        for (int i = 0; i < sharedVertices.Count; i++)
        {
            meshVertices[i] = sharedVertices[i].transform.position-transform.position;
        }
        mesh.vertices = meshVertices.ToArray();
    }
}
unity-game-engine virtual-reality
1个回答
0
投票

所有类型的网格都可以这样做吗? (三角形、正方形、立方体……)

我唯一能想到的是你多次使相同的顶点变形。

© www.soinside.com 2019 - 2024. All rights reserved.