2012-12-14 73 views
2

过去几个星期,我一直在抨击我的头,试图找到一个算法,可以帮助我完成,首先看看Vector3's非常简单的任务。所以,我做出来的5个立方体的这一个对象(2个双方,1 顶部,1 底部,1 ,(也有可能是立方体))。现在我想这样做,当我想要Scale(2,1,1);整个对象让我们说X轴只在顶部底部立方体将得到缩放。而一面立方体应该只改变它们的位置(所以它们的尺寸保持完全相同)。问题出在后面这边。因为它不能完全覆盖背面,所以如果我是这样的话,它会在每一面留下这个我不想要的空白。所有的轴都应该遵循同样的原则。对于Y我会Scale();侧立方体,并只移动顶部和底部的立方体,并应用这种不同的规模在背面。对于ž轴我会Scale();两个双方顶部底部立方体,只有移动立方体。XNA-寻找算法

下面是一个例子对象的图片:

回到所述对象的:

http://img33.imageshack.us/img33/3125/backyd.png

侧对象的:

http://img801.imageshack.us/img801/6796/fromtheside.png

接待对象:

http://img688.imageshack.us/img688/281/frontxh.png

希望能对你有所帮助,


编辑: 我很抱歉,我不是足够多清楚,当我Scale();对象,让说在X轴上,就像我之前说的想要Scale();只有顶部底部立方体。现在,关于方块立方体,我想移动它们使它们像以前一样定位,在这种情况下,在顶部底部立方体的两端。

+0

你有没有试过[游戏开发](http:// gamedev。stackexchange.com/)?你更有可能在那里找到你要找的东西。 – phadaphunk

+0

那么,正如我所提到的,对于** X **我试图缩放**顶部**和**底部**由一些因素。然后将**边**移动一些因子/ 2,但是如果其中一方被定位为负值,例如-0.4,则会出现问题,因为它们的移动方向相同。因此,我从未真正接近过任何像样的结果。 – user1806687

+0

@PhaDaPhunk我会尝试,如果我不会在这里得到答复。 – user1806687

回答

0

对于整个数组有一个父矩阵并且缩放它会是可以接受的吗?还是你担心保存墙壁的厚度?