{"id":295,"date":"2021-10-17T01:45:05","date_gmt":"2021-10-16T17:45:05","guid":{"rendered":"http:\/\/acgloby.com\/?p=295"},"modified":"2021-10-17T01:45:05","modified_gmt":"2021-10-16T17:45:05","slug":"%e6%8a%80%e8%83%bd%e8%8c%83%e5%9b%b4%e6%a3%80%e6%b5%8b","status":"publish","type":"post","link":"https:\/\/www.acgloby.com\/index.php\/2021\/10\/17\/%e6%8a%80%e8%83%bd%e8%8c%83%e5%9b%b4%e6%a3%80%e6%b5%8b\/","title":{"rendered":"\u6280\u80fd\u8303\u56f4\u68c0\u6d4b"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\">\u77e9\u5f62\u8303\u56f4\u68c0\u6d4b<\/h4>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/acgloby.com\/wp-content\/uploads\/2021\/10\/\u77e9\u5f62.png\" alt=\"\u6280\u80fd\u8303\u56f4\u68c0\u6d4b\" title=\"\u6280\u80fd\u8303\u56f4\u68c0\u6d4b\" target=\"_blank\"  rel=\"nofollow\" ><img decoding=\"async\" src=\"http:\/\/acgloby.com\/wp-content\/uploads\/2021\/10\/\u77e9\u5f62.png\" alt=\"\" class=\"wp-image-296\"\/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u8ba1\u7b97\u5e95\u8fb9\u4e2d\u70b9center\uff0c\u5bbd\u4e3a2*range\uff0c\u957f\u4e3alength\uff0c\u671d\u5411\u4e3aq\u7684\u77e9\u5f62\uff0c\u662f\u5426\u4e0e\u5706\u5fc3\u4e3apos\uff0c\u534a\u5f84\u4e3aradius\u7684\u5706\u6709\u4ea4\u70b9<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public bool IntersectsRectangle(Vector3 center, float length, float range, Quaternion q, Vector3 pos, float radius)\n{\n        Vector3 dis = pos - center;\n\tVector3 forward = q * Vector3.forward;\n\tVector3 right = q * Vector3.right;\n\tvar vd = Vector3.Dot(dis, forward.normalized);\n\tvar vl = Vector3.Dot(dis, right.normalized);\n\treturn vd > -radius &amp;&amp; vd &lt; length + radius &amp;&amp; vl > -radius - range &amp;&amp; vl &lt; radius + range;\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8ba1\u7b97\u4e2d\u5fc3\u70b9\u4e3acenter\uff0c\u9ad8\u4e3aheight1\u7684\u5706\uff08\u67f1\uff09\uff0c\u662f\u5426\u4e0e\u5e95\u8fb9\u4e2d\u70b9\u4e3adst\uff0c\u9ad8\u4e3aheight2\u7684\u77e9\u5f62\uff08\u4f53\uff09\u76f8\u4ea4--\u53ea\u8003\u8651\u9ad8\u5ea6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public bool IntersectsHeight(Vector3 center, float radius, Vector3 dst, float height1, float height2)\n{\nvar h = center.y - dst.y;\nif(h >= 1e-6f)\n{\n        return h &lt;= height1 + height2;\n}\n        return Mathf.Abs(h) &lt; height1;\n}<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u5706\u5f62\u8303\u56f4\u68c0\u6d4b<\/h4>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/acgloby.com\/wp-content\/uploads\/2021\/10\/\u5706\u5f62.png\" alt=\"\u6280\u80fd\u8303\u56f4\u68c0\u6d4b\" title=\"\u6280\u80fd\u8303\u56f4\u68c0\u6d4b\" target=\"_blank\"  rel=\"nofollow\" ><img decoding=\"async\" src=\"http:\/\/acgloby.com\/wp-content\/uploads\/2021\/10\/\u5706\u5f62.png\" alt=\"\" class=\"wp-image-303\"\/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u5224\u65ad\u4e24\u4e2a\u5706\u5f62\u4e2d\u5fc3\u70b9\u8ddd\u79bb\u662f\u5426\u5c0f\u4e8e\u4e24\u4e2a\u5706\u5f62\u534a\u5f84\u548c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public bool IntersectsCircle(Vector3 center, Vector3 pos, float r1, float r2)\n{\n        var radius = r1 + r2;\n        Vector3 d = pos - center;\n        Vector2 v = new Vector2(d.x, d.z);\n        return v.sqrMagnitude &lt;= radius * radius;\n}<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u73af\u5f62\u8303\u56f4\u68c0\u6d4b<\/h4>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/acgloby.com\/wp-content\/uploads\/2021\/10\/\u73af\u5f62.png\" alt=\"\u6280\u80fd\u8303\u56f4\u68c0\u6d4b\" title=\"\u6280\u80fd\u8303\u56f4\u68c0\u6d4b\" target=\"_blank\"  rel=\"nofollow\" ><img decoding=\"async\" src=\"http:\/\/acgloby.com\/wp-content\/uploads\/2021\/10\/\u73af\u5f62.png\" alt=\"\" class=\"wp-image-311\"\/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u5224\u65ad\u5916\u5706\u5f62\u548c\u76ee\u6807\u4e2d\u5fc3\u70b9\u8ddd\u79bb\u662f\u5426\u5c0f\u4e8e\u4e24\u4e2a\u5706\u5f62\u534a\u5f84\u548c\uff0c\u5e76\u4e14\u5927\u4e8e\u5185\u5706\u548c\u76ee\u6807\u8ddd\u79bb\u534a\u5f84\u548c<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u6247\u5f62\u8303\u56f4\u68c0\u6d4b<\/h4>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/acgloby.com\/wp-content\/uploads\/2021\/10\/\u6247\u5f62.png\" alt=\"\u6280\u80fd\u8303\u56f4\u68c0\u6d4b\" title=\"\u6280\u80fd\u8303\u56f4\u68c0\u6d4b\" target=\"_blank\"  rel=\"nofollow\" ><img decoding=\"async\" src=\"http:\/\/acgloby.com\/wp-content\/uploads\/2021\/10\/\u6247\u5f62.png\" alt=\"\" class=\"wp-image-310\"\/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u5224\u65ad\u5706\u5f62\u548c\u6247\u5f62\u662f\u5426\u76f8\u4ea4\u5728\u5706\u5f62\u68c0\u6d4b\u7684\u57fa\u7840\u4e0a\u8ba1\u7b97\u65bd\u6cd5\u8005\u4e0e\u76ee\u6807\u4e4b\u95f4\u7684\u5939\u89d2\u662f\u5426\u5728\u6247\u5f62\u4e8c\u5206\u4e4b\u4e00\u89d2\u5ea6\u5185<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>public bool IntersectsSector(Transform caster, Transform receiver, float angle, float radius)\n{\n\tVector3 deltaA = caster.position - receiver.position;\n\tfloat tmpAngle = Mathf.Acos(Vector3.Dot(deltaA.normalized, caster.forward)) * Mathf.Rad2Deg;\n        return tmpAngle &lt; angle * 0.5f &amp;&amp; deltaA.magnitude &lt; radius;\n}\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u77e9\u5f62\u8303\u56f4\u68c0\u6d4b \u8ba1\u7b97\u5e95\u8fb9\u4e2d\u70b9center\uff0c\u5bbd\u4e3a2*range\uff0c\u957f\u4e3alength\uff0c\u671d\u5411\u4e3aq\u7684\u77e9\u5f62\uff0c\u662f\u5426\u4e0e\u5706\u5fc3\u4e3apos\uff0c\u534a\u5f84\u4e3aradiu &#8230;<\/p>\n","protected":false},"author":1,"featured_media":315,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"emotion":"","emotion_color":"","title_style":"","license":"","footnotes":""},"categories":[2,7],"tags":[],"class_list":["post-295","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-unity","category-gameprogram"],"_links":{"self":[{"href":"https:\/\/www.acgloby.com\/index.php\/wp-json\/wp\/v2\/posts\/295","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.acgloby.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.acgloby.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.acgloby.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.acgloby.com\/index.php\/wp-json\/wp\/v2\/comments?post=295"}],"version-history":[{"count":0,"href":"https:\/\/www.acgloby.com\/index.php\/wp-json\/wp\/v2\/posts\/295\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.acgloby.com\/index.php\/wp-json\/wp\/v2\/media?parent=295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.acgloby.com\/index.php\/wp-json\/wp\/v2\/categories?post=295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.acgloby.com\/index.php\/wp-json\/wp\/v2\/tags?post=295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}