刚开始学托管DirectX不久,在拾取问题上被难住了。查了下资料,基本原理还是比较清楚了,但是我怎么定义一个射线呢,又使用什么方法来判断Mesh与射线相交呢?
解决方案 »
- SQL去除空白数据问题
- 求助,希望各位大侠帮帮忙!
- IHTMLElementCollection doc = (IHTMLDocument2)axWebBrowser1.Document;得到一个网页dom后,如何得到网页中的下拉列表框,并得到它的值?
- 窗体如何捕捉消息(任何消息)
- 高手求助啊!!!!谁来看看这是什么问题?
- 一个程序,比较急,大家能不能帮我想想办法!
- QQ收到新信息后,任务栏的图标一下黑一下正常是怎么做到的呢?
- 如何用xml表示如下的结构
- 实在解决不了了(水晶报表插入的图片不清楚)
- 怎样修改dataTable中符合条件的数据?急
- 另开一帖,js取出repeater的控件值
- 关于插入数据返回主键ID的问题
{
// 将鼠标坐标转换成Vector3,定义拾取所用的射线
Vector3 near = new Vector3((float)mouseX, (float)mouseY, 0);
Vector3 far = new Vector3((float)mouseX, (float)mouseY, 1); // 将射线坐标转换至世界坐标系
near.Unproject(device.Viewport, device.Transform.Projection, device.Transform.View, device.Transform.World);
far.Unproject(device.Viewport, device.Transform.Projection, device.Transform.View, device.Transform.World); // 判断射线与Mesh是否相交
if (mesh.Intersect(near, far))
{
messageBox.Show("已选中");
}
}