# Entity:PhysicsInitConvex

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

```lua
boolean Entity:PhysicsInitConvex( table points, string surfaceprop = "default", Vector massCenterOverride = nil )
```

## Açıklama

Varlığın fiziksel modelini (physics mesh), bir noktalar tablosu tarafından tanımlanan dışbükey bir model (convex mesh) ile başlatır. Ortaya çıkan model, tüm girdi noktalarının dışbükey zarfıdır (convex hull). Başarılı olursa, önceki fizik nesnesi kaldırılacaktır.

Bu, özel bir dışbükey şekle sahip hareketli fizik nesneleri oluşturmanın standart yoludur. Daha karmaşık, içbükey şekiller için [Entity:PhysicsInitMultiConvex](https://gmod.tr/wiki/Entity:PhysicsInitMultiConvex) sayfasına bakın.

Bu fonksiyonu çağırmadan **önce** istediğiniz katılık türüyle [Entity:SetSolid](https://gmod.tr/wiki/Entity:SetSolid) fonksiyonunu çağırmanız gerekebilir.

> **HATA:** Sunucu taraflı varlıklar üzerindeki istemci taraflı fizik nesneleri bazı durumlarda düzgün hareket etmez. Fizik nesneleri yalnızca sunucuda oluşturulmalıdır, aksi takdirde yanlış physgun ışını konumu, tahmin (prediction) sorunları ve diğer beklenmedik davranışlarla karşılaşırsınız.
>
> Aşağıdaki geçici çözümü hareket için kullanabilirsiniz, ancak istemci taraflı çarpışmalar yine de bozuk olacaktır.
>
> ```lua
> function ENT:Think()
> 	if ( CLIENT ) then
> 		local physobj = self:GetPhysicsObject()
> 		if ( IsValid( physobj ) ) then
> 			physobj:SetPos( self:GetPos() )
> 			physobj:SetAngles( self:GetAngles() )
> 		end
> 	end
> end
> ```
>
> Hata Takipçisi: [5060](https://github.com/Facepunch/garrysmod-issues/issues/5060)

## Argümanlar

1. [table](https://gmod.tr/wiki/table) **points**: Dışbükey modelin hesaplanmasında kullanılacak, yerel koordinatlarda sekiz adet [Vector](https://gmod.tr/wiki/Vector) içeren bir tablo. Sıra önemli değildir.
2. [string](https://gmod.tr/wiki/string) **surfaceprop** = "default": [surfaceproperties.txt](https://github.com/Facepunch/garrysmod/blob/master/garrysmod/scripts/surfaceproperties.txt) dosyasından gelen veya [physenv.AddSurfaceData](https://gmod.tr/wiki/physenv.AddSurfaceData) ile eklenen fiziksel malzeme.
3. [Vector](https://gmod.tr/wiki/Vector) **massCenterOverride** = nil: Eğer ayarlanırsa, oluşturulan fizik nesnesinin kütle merkezini geçersiz kılar.

## Dönüş Değeri

1. [boolean](https://gmod.tr/wiki/boolean): Başarılı olursa `true`, aksi takdirde `false` döndürür.

### Örnek

Varlık için bir "kutu" fiziksel modeli oluşturur.

```lua
function ENT:Initialize()
	if ( CLIENT ) then return end -- We only want to run this code serverside

	local x0 = -20 -- Define the min corner of the box
	local y0 = -10
	local z0 = -5

	local x1 = 20 -- Define the max corner of the box
	local y1 = 10
	local z1 = 5

	self:PhysicsInitConvex( {
		Vector( x0, y0, z0 ),
		Vector( x0, y0, z1 ),
		Vector( x0, y1, z0 ),
		Vector( x0, y1, z1 ),
		Vector( x1, y0, z0 ),
		Vector( x1, y0, z1 ),
		Vector( x1, y1, z0 ),
		Vector( x1, y1, z1 )
	} )

	-- Set up solidity and movetype
	self:SetMoveType( MOVETYPE_VPHYSICS )
	self:SetSolid( SOLID_VPHYSICS )

	-- Enable custom collisions on the entity
	self:EnableCustomCollisions( true )
end
```

- [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/Entity:PhysicsInitConvex
