urcu

Yeni üye
30 Eyl 2015
29
0
0
(38) Kayseri
Set  actor rotation  ,  add  actor local  rotation  ,   set  relative  rotation  arasındaki temel farklar  ile  ilgili  biraz  bilgi  verebilirmisiniz
 
Relative rotation bp class içinde rotasyon değişimini sağlıyor.​
Normal rotation ise direk world üzerinden rotasyon değiştiriyor.​

Add actor local rotation ise rotasyon değerine ekleme yapıyor sanırsam.​


Mesela bir kapı actoru yaptınız,bu kapıyı açarken relative rotation kullanmalısınız.(world rotation kullanırsanız dünyaya göre rotasyon değişeceği için sistem her zaman doğru çalışmaz.)​

Umarım anlatabilmişimdir.​
 
SoloWarrior' Alıntı:
Relative rotation bp class içinde rotasyon değişimini sağlıyor.​
Normal rotation ise direk world üzerinden rotasyon değiştiriyor.​

Add actor local rotation ise rotasyon değerine ekleme yapıyor sanırsam.​


Mesela bir kapı actoru yaptınız,bu kapıyı açarken relative rotation kullanmalısınız.(world rotation kullanırsanız dünyaya göre rotasyon değişeceği için sistem her zaman doğru çalışmaz.)​

Umarım anlatabilmişimdir.​

Teşekkürler  su  an  dediğiniz  önermeler  üzerinden  deneme  yanılma  yoluyla  tanımlamaya  çalışıcam  inş  beceririm   :)
 
Transformation(Transformasyon) iki türlüdür. Birincisi World üzerindeki gerkçek transformasyon, ikincisi ise lokal, relatif yada göreceli transformasyondur. Local Transform, bir transformasyonun hiyerarşik olarak altında olduğu zaman anlamlıdır, diğer türlü Local Transform, World Transform demektir.

Diyelim ki bir A Relatif Transform değerleri aşağıdaki gibi olsun;

Location: V(X=1, Y=2, Z=3)
Rotation(Euler): V(X=0, Y=0, Z=90)
Scale: V(X=2, Y=2, Z=2)

Yine diyelim ki bir B Relatif Transform da aşağıdaki gibi olsun;

Location: V(X=1, Y=2, Z=3)
Rotation(Euler): V(X=0, Y=0, Z=90)
Scale: V(X=2, Y=2, Z=2)

Dikkat: İki transform değeri de Relatif ve aynı.

Şimdi B Transformunun A Transformunun bir alt hiyerarşisinde olduğunu varsayalım. Bunun için A'nın bir aktör B'nin ise bu aktörün en azından bir Sahne Bileşeni(USceneComponent) olduğunu varsayalım.

Dikkat: B, SceneComponent olmak zorundadır. Çünkü bileşenlerden yalnızca SceneComponent'lerin transformu vardır. Örneğin ActorComponent uygun değildir ancak; StaticMeshComponent, AudoComponent, SkeletalMeshComponent...vb birer SceneComponent'dir. Buradan inceleyebilirsiniz: https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/Components/USceneComponent/index.html

Böyle bir durumda A Relatif Transformu aynı zamanda onun World Transformudur. A, World üzerinde tam olarak; V(X=1, Y=2, Z=3) noktasında, V(X=0, Y=0, Z=90) açısal konumunda( 90 derece Yaw) ve V(X=2, Y=2, Z=2) ölçeklendirmesindedir.

Ancak B için durum aynı değildir. B ise World üzerinde; V(X=1+1, Y=2+2, Z=3+3) noktasında, V(X=0, Y=0, Z=90+90) açısal konumunda ve V(X=2*2, Y=2*2, Z=2*2) ölçeklendirmesindedir.

Relative ve World ile ilgili özellik ve fonksiyonları bu durumu göz önünde bulundurarak kullanabilirsiniz.

Toparlamak gerekirse; World üzerinde kendi başına duran bir Actor için World yada Relative aynı şeydir. Diğer taraftan hiyerarşik anlamda bir Actor altında bulunan başka bir Actor yada SceneComponent için ise World Transform, World üzerindeki, Relative Transform ise hiyerarşik atasına göre bağıl Transformasyonunu verir.


Ek olarak Add ve Set fonksiyonları, SoloWarior'un dediği gibi, World yada Relative farketmez, bu transformasyon değerleri için sırasıyla doğrudan düzenleme ve ekleme yapar.