C++ 代码解析:检测陡峭地面接触
这段代码用于检测是否有陡峭的地面接触。具体解释如下:
-
首先判断是否有陡峭的接触法线('steepContactNormal'),如果没有则返回false。
-
如果有陡峭的接触法线,则对该法线进行归一化处理('Normalize')。
-
接着判断归一化后的法线在y轴方向上的投影是否大于等于最小地面法线角度('minGroundDotProduct')。
-
如果大于等于最小地面法线角度,则将接触点数量('groundContactCount')设置为1,将接触法线('contactNormal')设置为归一化后的陡峭法线('steepNormal'),并返回true。
-
如果小于最小地面法线角度,则返回false。
代码示例:
bool CheckSteepContacts(){
if(steepContactNormal > 1){
steepNormal.Normalize();
if(steepNormal.y >= minGroundDotProduct){
groundContactCount = 1;
contactNormal = steepNormal;
return true;
}
}
return false;
}
原文地址: http://www.cveoy.top/t/topic/nUYw 著作权归作者所有。请勿转载和采集!