Unreal Engine: Difference between revisions
From Andreida
No edit summary |
|||
Line 22: | Line 22: | ||
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, Meta = (DisplayName = "First Person Camera Component") ) |
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, Meta = (DisplayName = "First Person Camera Component") ) |
||
UCameraComponent* m_pFirstPersonCameraComponent; |
UCameraComponent* m_pFirstPersonCameraComponent; |
||
=== owner / client /server === |
|||
The instance that spawned the class is always ROLE_Authority. If an Actor is spawned on the client, the client is the authority. -- OmaManfred |
|||
OmaManfred:: |
|||
<pre> |
|||
And concerning the owner stuff: |
|||
When you spawn an instance of a class on the server FOR Client A, you have to set him as the owner. |
|||
FActorSpawnParameters params; |
|||
params.Owner = PlayerAPlayerController; |
|||
SpawnActor<Class>(Class:StaticClass(),params); |
|||
Then on Client B you can say IsOwner(PlayerBPlayerController), which should return false. |
|||
</pre> |
|||
=== Logging === |
=== Logging === |
Revision as of 09:16, 6 May 2016
Currently using UE4 (4.10.4)
Links
Blender
- Export Options (so that the object is not lying on the side after Export/Import):
- Forward: Y Forward
- Up: Z up
- Changing the object's origin to its bottom:
- Switch to Edit Mode if needed (Tab). With vertex selection on, choose the center vertex in the bottom. Press Shift+S and choose Cursor to Selected. The 3D cursor will move to the selected vertex. Deselect all and switch to Object Mode (Tab).
- In Tools choose Set Origin and then Origin to 3D Cursor.
- Make sure the object's coordinates are set to 0,0,0. Now the object should be placed properly on the XY plane.
C++
Variable names
If you want to use real variable names but have nice names in the UE editor too, then use meta/DisplayName
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, Meta = (DisplayName = "First Person Camera Component") ) UCameraComponent* m_pFirstPersonCameraComponent;
owner / client /server
The instance that spawned the class is always ROLE_Authority. If an Actor is spawned on the client, the client is the authority. -- OmaManfred
OmaManfred::
And concerning the owner stuff: When you spawn an instance of a class on the server FOR Client A, you have to set him as the owner. FActorSpawnParameters params; params.Owner = PlayerAPlayerController; SpawnActor<Class>(Class:StaticClass(),params); Then on Client B you can say IsOwner(PlayerBPlayerController), which should return false.
Logging
In game output of your logging, like chat text:
if (GEngine) { GEngine->AddOnScreenDebugMessage(-1, 5, FColor::Blue, TEXT("AFPSCharacter is being used") ); }
bool log(FString sText) const; bool AYourActor::log(FString sText) const { if (GEngine) { GEngine->AddOnScreenDebugMessage(-1, 5, FColor::Blue, sText); return true; } else return false; }
Misc
Source control
The minimum you have to put under source control:
/Config /Content /Source Project.uproject