作者darkflier (我很懒)
看板GameDesign
标题Re: [请益] 想请问大家关於Ogre程式的一些问题
时间Fri Aug 14 13:50:00 2009
因为公司都去员工旅游剩我这个死菜鸟留守
所以就回答你一下好了
首先你必须知道画面中被render出来的东西
他是怎麽构成的
我之所以说这跟Orge没关系是因为
真的没关系XD
一个模型基本上是藉由很多三角形构成
这也就是我们大多人所说的Mesh
如果你想去及时变更这个模型的样子
你必须知道所有三角形的资料
所以你先必须知道什麽叫做Mesh
然後知道什麽叫做vertex
3个vertex就是一个三角形
其实应该讲三个点构成一个三角形
但是大多数我们看到的vertex大多不只单单有点的资讯(xyz)
所以你必须知道vertex的资料格式是什麽
这个你要看懂并知道怎麽抓取你要的资料
从什麽都不懂到懂大概最少要一个礼拜一天8小时(我自己是搞了半年,没人教的情形)
假设你已经弄懂了vertex的格式并且已经可以抓取资料
那你现在必须做的是
Collision 怎样用线去碰撞三角形
这个比较简单 随便google都有
然後你知道你碰到的三角形之後
你得做depth的排序
取出排在最前面的三角形
然後依据你滑鼠移动的方向
将你以取得的vertex资料做即时的变更
如此就可以达到你的要求
但是这里有一点盲点
因为大多数的拉扯
所需要变更的并不是只有一个三角形
会将相邻的三角形一起扯动
这里就会需要大量的图学知识
你必须找出三角形相邻的边
adjacent edge or adjacent vertex然後将其变更
如果你是使用directX恭喜你 你可以快快乐乐的取得资料
如果使用opengl恭喜你 大概一个礼拜又不见了
你这个要求说实化需要硬底子的程式人员才有办法
因为牵扯到的部分还满广的
主要是经验上的问题
其实知识上的概念不难
但是真的在做
大多时间都会花在debug
如果你自己写过importer 那这个东西大概只要花一个礼拜就可解决
※ 引述《blackchicke (我要加油)》之铭言:
: 我想请问板上的大大们,Ogre要如何去点选一个物体的点,线,面去做移动跟变形
: 就好比说像maya或一些图形软体那样,可以划出一个3D的module,并可以针对里面
: 的点线面去做拖拉的动作,当然我并不是要要求程式码,而是希望比较会用Ogre的
: 大家能够给我一个小方向,例如如何选取一个正方体的点线面等,看是否有没有一些
: 想法或者是网路上有一些资讯可以提供给我做参考的,最近在学Ogre,可是一直都很
: 不是很上手,谢谢大家!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.125.102.71
1F:推 blackchicke:谢谢你,写得很详细,我也是自学,所以要多加油了..>.< 08/14 14:07
2F:→ darkflier:後来想一想...其实只要你知道morphing的原理 08/14 14:13
3F:→ darkflier:那就都懂了XD 08/14 14:13
4F:推 AlvinX:选取面很简单, 就是去碰三角形, 但选取点线就比较困难了 08/14 17:21
5F:→ NDark:OpenGL有select buffer,只要画面中占pixel的东西都可以点 08/14 17:30
6F:推 NDark:我这里有写好的OpenGL Select Class 08/14 17:36
7F:推 blackchicke:楼上N大可以寄你的class到我信箱让我参考一下吗 08/14 18:41
8F:→ blackchicke:谢谢你^^ 08/14 18:43