<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.fightorder.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Gamedev%3ACollisionVolumes</id>
	<title>Gamedev:CollisionVolumes - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.fightorder.net/wiki/index.php?action=history&amp;feed=atom&amp;title=Gamedev%3ACollisionVolumes"/>
	<link rel="alternate" type="text/html" href="https://www.fightorder.net/wiki/index.php?title=Gamedev:CollisionVolumes&amp;action=history"/>
	<updated>2026-04-21T08:00:53Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://www.fightorder.net/wiki/index.php?title=Gamedev:CollisionVolumes&amp;diff=723&amp;oldid=prev</id>
		<title>Qrow at 05:25, 14 November 2025</title>
		<link rel="alternate" type="text/html" href="https://www.fightorder.net/wiki/index.php?title=Gamedev:CollisionVolumes&amp;diff=723&amp;oldid=prev"/>
		<updated>2025-11-14T05:25:23Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:25, 13 November 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l2&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== What is a collision volume? ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== What is a collision volume? ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The collision volume is a geometric shape around Spring units and features. If a projectile collides with this shape, the engine registers it as a hit. Other names are hitbox, hitsphere etc.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The collision volume is a geometric shape around Spring units and features. If a projectile collides with this shape, the engine registers it as a hit. Other names are hitbox, hitsphere etc.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[File:Units_with_hitboxes.jpg|256px|right]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== How to see them ingame ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== How to see them ingame ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Qrow</name></author>
	</entry>
	<entry>
		<id>https://www.fightorder.net/wiki/index.php?title=Gamedev:CollisionVolumes&amp;diff=599&amp;oldid=prev</id>
		<title>Qrow: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://www.fightorder.net/wiki/index.php?title=Gamedev:CollisionVolumes&amp;diff=599&amp;oldid=prev"/>
		<updated>2025-11-13T02:24:10Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:24, 12 November 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Qrow</name></author>
	</entry>
	<entry>
		<id>https://www.fightorder.net/wiki/index.php?title=Gamedev:CollisionVolumes&amp;diff=598&amp;oldid=prev</id>
		<title>interwiki&gt;Deadnight warrior: Changed link to active repositories</title>
		<link rel="alternate" type="text/html" href="https://www.fightorder.net/wiki/index.php?title=Gamedev:CollisionVolumes&amp;diff=598&amp;oldid=prev"/>
		<updated>2020-01-09T11:27:19Z</updated>

		<summary type="html">&lt;p&gt;Changed link to active repositories&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Collision Volumes =&lt;br /&gt;
== What is a collision volume? ==&lt;br /&gt;
The collision volume is a geometric shape around Spring units and features. If a projectile collides with this shape, the engine registers it as a hit. Other names are hitbox, hitsphere etc.&lt;br /&gt;
&lt;br /&gt;
[[File:Units_with_hitboxes.jpg|256px|right]]&lt;br /&gt;
&lt;br /&gt;
== How to see them ingame ==&lt;br /&gt;
Press alt + v or type &amp;#039;&amp;#039;&amp;#039;/debugcolvol&amp;#039;&amp;#039;&amp;#039; into chat.&lt;br /&gt;
Look at the purple wireframe shapes around units.&lt;br /&gt;
If you can not see them, the collision volume might be blocked from view by the 3D model or be very offset like underground or in the sky.&lt;br /&gt;
Red shapes indicate the unit was hit.&lt;br /&gt;
&lt;br /&gt;
== What else are they used for? ==&lt;br /&gt;
* line-of-fire calculations&lt;br /&gt;
* mouse-click detection when selecting a single unit&lt;br /&gt;
&lt;br /&gt;
==How to edit their shape==&lt;br /&gt;
===In Upspring===&lt;br /&gt;
In the 3D view, click on the blue &amp;quot;3D&amp;quot; text and a menu opens.&amp;lt;br&amp;gt;&lt;br /&gt;
Click &amp;quot;draw model radius + height&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
At the right side, go to the &amp;quot;Model&amp;quot; tab and edit the values.&amp;lt;br&amp;gt;&lt;br /&gt;
With Upspring, you can only define sphere shaped collision volumes.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===In the Def===&lt;br /&gt;
There are numerous [[Gamedev:UnitDefs#Collision_Volumes|tags]] that control shape, size and position of the collision volume. You have to restart Springfor the changes to take effect, there is no way to reload unit and feature defs.&lt;br /&gt;
&lt;br /&gt;
===boxxy the hitbox editor===&lt;br /&gt;
This creation allows you move hitboxes by pressing buttons.&lt;br /&gt;
This way you can get the needed numbers and copy them to the unitdef file.&lt;br /&gt;
&lt;br /&gt;
http://h-4.abload.de/img/loveandtrolls25t5u.gif&lt;br /&gt;
&lt;br /&gt;
{{forumlink|topic=24882|title=Its Boxxy!}} (forum)&lt;br /&gt;
&lt;br /&gt;
===Multiple collision volumes===&lt;br /&gt;
A unit can have multiple collision volumes. For example a tank could use a box for the chassis and a cylinder for the turret.&lt;br /&gt;
&lt;br /&gt;
Each piece can have its own collision volume. {{xtaglink|Gamedev:UnitDefs|usePieceCollisionVolumes|true}}, will cause each piece on the model to have an autogenerated hitvolume; unwanted hitvolumes can then be removed with Lua.&lt;br /&gt;
&lt;br /&gt;
==Can they be changed during gameplay?==&lt;br /&gt;
Yes. One example would be &amp;quot;pop up&amp;quot; turrets that get a smaller hitbox when sunken into the ground etc.&lt;br /&gt;
See &amp;lt;code&amp;gt;Spring.SetUnitCollisionVolumeData()&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;Spring.SetUnitPieceCollisionVolumeData()&amp;lt;/code&amp;gt;&lt;br /&gt;
at [[Lua_SyncedCtrl]].&lt;br /&gt;
&lt;br /&gt;
Example: [https://github.com/Balanced-Annihilation-Reloaded/BAR.sdd/blob/master/luarules/gadgets/unit_dynamic_collision_volume.lua Dynamic Collision Volume gadget] and it&amp;#039;s [https://github.com/Balanced-Annihilation-Reloaded/BAR.sdd/blob/master/luarules/configs/collisionvolumes.lua configuration file].&lt;br /&gt;
&lt;br /&gt;
==Unit radius &amp;amp; height VS collision volume==&lt;br /&gt;
Even when a unit defines a collision volume that is not a sphere, the &amp;#039;&amp;#039;radius&amp;#039;&amp;#039; and &amp;#039;&amp;#039;height&amp;#039;&amp;#039; values set in Upspring still have a number of purposes. To name a few examples: &amp;#039;&amp;#039;height&amp;#039;&amp;#039; is used to decide whether a ship can move over an underwater structure, &amp;#039;&amp;#039;radius&amp;#039;&amp;#039; is used in collision handling for aircraft. Most importantly, all collision checks first do a pre-check with the unit &amp;#039;&amp;#039;radius&amp;#039;&amp;#039; before doing the colvol checks. Ergo the unit &amp;#039;&amp;#039;radius&amp;#039;&amp;#039; must be larger or equal to the colvol!&lt;br /&gt;
&lt;br /&gt;
==Which spot on an enemy do units target==&lt;br /&gt;
The model centre set in Upspring&lt;br /&gt;
&lt;br /&gt;
==Common problems (and how to solve)==&lt;br /&gt;
===weapons miss the unit===&lt;br /&gt;
Weapons like Dgun and torpedos might pass through under the unit if the hitvolume does not extend a bit into the ground/underwater.&lt;br /&gt;
&lt;br /&gt;
===Intersecting hitboxes===&lt;br /&gt;
Two near units might refuse to shoot if their turrets intersect with each other&amp;#039;s hitboxes.&lt;br /&gt;
&lt;br /&gt;
[[Category:Game Dev]]&lt;/div&gt;</summary>
		<author><name>interwiki&gt;Deadnight warrior</name></author>
	</entry>
</feed>