# util.TraceHull

- **Ortam:** İstemci, Sunucu
- **İngilizce aslı:** https://wiki.facepunch.com/gmod/util.TraceHull
- **Çeviri tarihi:** 2025-09-08

```lua
table util.TraceHull( table TraceData )
```

## Açıklama

Verilen izleme verileriyle bir AABB (eksen hizalı sınırlayıcı kutu, yani döndürülmemiş) kabuk izlemesi gerçekleştirir.

Bu izleme türü hitbox'lara isabet edemez.

Basit bir çizgi ("ışın") izlemesi için [util.TraceLine](https://gmod.tr/wiki/util.TraceLine) sayfasına bakın.

> **NOT:** Bu fonksiyon, istemcide belirli fizik mekanizmalarının bulunmaması nedeniyle istemci tarafında her zaman istenen sonuçları vermeyebilir. Doğru sonuçlar için sunucu tarafında kullanın.

## Argümanlar

1. [table](https://gmod.tr/wiki/table) ile [HullTrace yapısı](https://gmod.tr/wiki/Structures/HullTrace) **TraceData**: Kullanılacak izleme verisi. [HullTrace yapısı](https://gmod.tr/wiki/Structures/HullTrace) sayfasına bakın

## Dönen Değerler

1. [table](https://gmod.tr/wiki/table) ile [TraceResult yapısı](https://gmod.tr/wiki/Structures/TraceResult): İzleme sonucu. [TraceResult yapısı](https://gmod.tr/wiki/Structures/TraceResult) sayfasına bakın

### Örnek

Bir Kabuk İzlemesinin (Hull Trace) görsel temsili.

```lua
function ENT:Draw()

	self:DrawModel()

	-- Varlık modelinin sınırlayıcı kutusu
	local mins = self:OBBMins()
	local maxs = self:OBBMaxs()

	local startpos = self:GetPos() -- İzleme için başlangıç noktası
	local dir = self:GetUp() -- İzleme yönü, birim vektör olarak
	local len = 128 -- İzlemenin maksimum uzunluğu

	-- İzlemeyi gerçekleştir
	local tr = util.TraceHull( {
		start = startpos,
		endpos = startpos + dir * len,
		maxs = maxs,
		mins = mins,
		filter = self
	} )

	-- Gerçekleştirilen izlemenin başlangıcı ve sonu arasında bir çizgi çiz
	render.DrawLine( tr.HitPos, startpos + dir * len, color_white, true )
	render.DrawLine( startpos, tr.HitPos, Color( 0, 0, 255 ), true )

	-- Bir renk seç, eğer izleme isabet ettiyse - rengi kırmızı yap
	local clr = color_white
	if ( tr.Hit ) then clr = Color( 255, 0, 0 ) end

	-- İzleme sınırlarını başlangıç ve bitiş pozisyonlarında çiz
	render.DrawWireframeBox( startpos, Angle( 0, 0, 0 ), mins, maxs, Color( 255, 255, 255 ), true )
	render.DrawWireframeBox( tr.HitPos, Angle( 0, 0, 0 ), mins, maxs, clr, true )

end
```

**Çıktı:** ![](https://gmod.tr/api/uploads/wiki/5ccc5928c05a3367e369.gif)

### Örnek

Bir oyuncunun herhangi bir şeyin içinde sıkışmadan burada doğup doğamayacağını tespit etmek için oyuncu boyutunda bir kabuk izlemesi yapın.

```lua
local pos = Entity(1):GetPos() -- Pozisyonunuzu seçin.

local tr = {
	start = pos,
	endpos = pos,
	mins = Vector( -16, -16, 0 ),
	maxs = Vector( 16, 16, 71 )
}

local hullTrace = util.TraceHull( tr )
if ( hullTrace.Hit ) then
    -- Yeni bir doğma noktası bul
end
```

### Örnek

Bir SWEP:PrimaryAttack() fonksiyonundan

```lua
local tr = util.TraceHull( {
	start = self:GetOwner():GetShootPos(),
	endpos = self:GetOwner():GetShootPos() + ( self:GetOwner():GetAimVector() * 100 ),
	filter = self:GetOwner(),
	mins = Vector( -10, -10, -10 ),
	maxs = Vector( 10, 10, 10 ),
	mask = MASK_SHOT_HULL
} )
```

- [GMod Wiki ana sayfası](https://gmod.tr/wiki)

---

[Tüm sunucular](https://gmod.tr/) · [GmodTR Launcher](https://gmod.tr/launcher) · [Rehber](https://gmod.tr/rehber) · [GMod Wiki](https://gmod.tr/wiki) · [GmodTR nedir?](https://gmod.tr/hakkinda) · [Sunucu ekle](https://gmod.tr/sunucu-ekle) · [Discord](https://discord.gg/gmodtr)

Kaynak: https://gmod.tr/wiki/util.TraceHull
