您的位置:首页 > 财经 > 金融 > web前端就业是个坑_徐州建设工程公共资源交易_微信广告投放收费标准_网上软文发稿平台

web前端就业是个坑_徐州建设工程公共资源交易_微信广告投放收费标准_网上软文发稿平台

2025/3/19 17:43:48 来源:https://blog.csdn.net/qq_44041312/article/details/146355725  浏览:    关键词:web前端就业是个坑_徐州建设工程公共资源交易_微信广告投放收费标准_网上软文发稿平台
web前端就业是个坑_徐州建设工程公共资源交易_微信广告投放收费标准_网上软文发稿平台

源代码

计算碰撞体的高度一半,用于将射线的起点从物体的中心点偏移到底部。
 

var offset = m_collider.size.y * 0.5f;
var hit = Physics2D.Raycast(transform.position - new Vector3( 0, offset, 0 ), // 射线起点dir,                                              // 射线方向m_collider.size.x * 0.55f,                        // 射线长度Globals.ENV_MASK                                  // 仅检测 ENV_MASK 层
);

原项目使用效果

是刚好超出碰撞体x长度0.05的

新项目使用效果

问题

我也是0.5怎么就取不到一半

结果

他喵的整个对象的大小变了,结果碰撞体的长度也影响了,最终值就错了

原:

新:

(亏我调了几个钟可恶)

解决:

加个bound就行了

    var raycastLength = m_collider.bounds.size.x * 0.55f;

 对比

var offset = m_collider.size.y * 0.5f;
var hit = Physics2D.Raycast(transform.position - new Vector3( 0, offset, 0 ), // 射线起点dir,                                              // 射线方向m_collider.size.x * 0.55f,                        // 射线长度Globals.ENV_MASK                                  // 仅检测 ENV_MASK 层
);
        var offset = m_collider.size.y * 0.5f;var raycastLength = m_collider.bounds.size.x * 0.55f; // 适配缩放var hit = Physics2D.Raycast(transform.position - new Vector3(0, offset, 0),dir,raycastLength,Globals.ENV_MASK);

结果:无论对象大小多少,都不影响射线整体比例 

//调试射线代码
Debug.DrawRay(transform.position - new Vector3(0, offset, 0), dir * (raycastLength), Color.red, 1f);

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com