Upgraded to Unreal 4.20.2
This commit is contained in:
parent
25e4e6739b
commit
dd91765df6
27 changed files with 195 additions and 371 deletions
Binary file not shown.
|
Before Width: | Height: | Size: 140 KiB |
|
|
@ -16,6 +16,7 @@ EditorStartupMap=/Game/Scenes/CentralLondon.CentralLondon
|
||||||
r.DefaultFeature.AntiAliasing=2
|
r.DefaultFeature.AntiAliasing=2
|
||||||
r.DefaultFeature.AutoExposure=False
|
r.DefaultFeature.AutoExposure=False
|
||||||
r.TextureStreaming=True
|
r.TextureStreaming=True
|
||||||
|
r.DefaultFeature.AmbientOcclusionStaticFraction=False
|
||||||
|
|
||||||
[/Script/Engine.UserInterfaceSettings]
|
[/Script/Engine.UserInterfaceSettings]
|
||||||
RenderFocusRule=NavigationOnly
|
RenderFocusRule=NavigationOnly
|
||||||
|
|
@ -36,11 +37,17 @@ bLoadWidgetsOnDedicatedServer=True
|
||||||
|
|
||||||
[/Script/Engine.Engine]
|
[/Script/Engine.Engine]
|
||||||
NearClipPlane=1.000000
|
NearClipPlane=1.000000
|
||||||
MaximumLoopIterationCount=10000000
|
MaximumLoopIterationCount=1000000
|
||||||
|
MinDesiredFrameRate=30.000000
|
||||||
|
SmoothedFrameRateRange=(LowerBound=(Type=Inclusive,Value=22.000000),UpperBound=(Type=Exclusive,Value=60.000000))
|
||||||
|
bSmoothFrameRate=True
|
||||||
|
|
||||||
[/Script/Engine.RecastNavMesh]
|
[/Script/NavigationSystem.RecastNavMesh]
|
||||||
bFixedTilePoolSize=False
|
bFixedTilePoolSize=False
|
||||||
|
|
||||||
|
[/Script/Engine.EndUserSettings]
|
||||||
|
bSendAnonymousUsageDataToEpic=False
|
||||||
|
|
||||||
[/Script/Engine.PhysicsSettings]
|
[/Script/Engine.PhysicsSettings]
|
||||||
DefaultGravityZ=-980.000000
|
DefaultGravityZ=-980.000000
|
||||||
DefaultTerminalVelocity=4000.000000
|
DefaultTerminalVelocity=4000.000000
|
||||||
|
|
@ -54,6 +61,7 @@ bEnablePCM=True
|
||||||
bEnableStabilization=False
|
bEnableStabilization=False
|
||||||
bWarnMissingLocks=True
|
bWarnMissingLocks=True
|
||||||
bEnable2DPhysics=False
|
bEnable2DPhysics=False
|
||||||
|
PhysicErrorCorrection=(PingExtrapolation=0.100000,ErrorPerLinearDifference=1.000000,ErrorPerAngularDifference=1.000000,MaxRestoredStateError=1.000000,PositionLerp=0.000000,AngleLerp=0.400000,LinearVelocityCoefficient=100.000000,AngularVelocityCoefficient=10.000000,ErrorAccumulationSeconds=0.500000,ErrorAccumulationDistanceSq=15.000000,ErrorAccumulationSimilarity=100.000000)
|
||||||
LockedAxis=Invalid
|
LockedAxis=Invalid
|
||||||
DefaultDegreesOfFreedom=Full3D
|
DefaultDegreesOfFreedom=Full3D
|
||||||
BounceThresholdVelocity=200.000000
|
BounceThresholdVelocity=200.000000
|
||||||
|
|
@ -70,6 +78,8 @@ bDefaultHasComplexCollision=True
|
||||||
bSuppressFaceRemapTable=False
|
bSuppressFaceRemapTable=False
|
||||||
bSupportUVFromHitResults=False
|
bSupportUVFromHitResults=False
|
||||||
bDisableActiveActors=False
|
bDisableActiveActors=False
|
||||||
|
bDisableKinematicStaticPairs=False
|
||||||
|
bDisableKinematicKinematicPairs=False
|
||||||
bDisableCCD=False
|
bDisableCCD=False
|
||||||
bEnableEnhancedDeterminism=False
|
bEnableEnhancedDeterminism=False
|
||||||
MaxPhysicsDeltaTime=0.033333
|
MaxPhysicsDeltaTime=0.033333
|
||||||
|
|
@ -81,5 +91,6 @@ SyncSceneSmoothingFactor=0.000000
|
||||||
AsyncSceneSmoothingFactor=0.990000
|
AsyncSceneSmoothingFactor=0.990000
|
||||||
InitialAverageFrameRate=0.016667
|
InitialAverageFrameRate=0.016667
|
||||||
PhysXTreeRebuildRate=10
|
PhysXTreeRebuildRate=10
|
||||||
|
DefaultBroadphaseSettings=(bUseMBPOnClient=False,bUseMBPOnServer=False,MBPBounds=(Min=(X=0.000000,Y=0.000000,Z=0.000000),Max=(X=0.000000,Y=0.000000,Z=0.000000),IsValid=0),MBPNumSubdivs=2)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,10 +11,11 @@ Build=IfProjectHasCode
|
||||||
BuildConfiguration=PPBC_Shipping
|
BuildConfiguration=PPBC_Shipping
|
||||||
StagingDirectory=(Path="D:/LifePlay_Build")
|
StagingDirectory=(Path="D:/LifePlay_Build")
|
||||||
FullRebuild=False
|
FullRebuild=False
|
||||||
ForDistribution=True
|
ForDistribution=False
|
||||||
IncludeDebugFiles=False
|
IncludeDebugFiles=False
|
||||||
BlueprintNativizationMethod=Disabled
|
BlueprintNativizationMethod=Disabled
|
||||||
bIncludeNativizedAssetsInProjectGeneration=False
|
bIncludeNativizedAssetsInProjectGeneration=False
|
||||||
|
bExcludeMonolithicEngineHeadersInNativizedCode=False
|
||||||
UsePakFile=False
|
UsePakFile=False
|
||||||
bGenerateChunks=False
|
bGenerateChunks=False
|
||||||
bGenerateNoChunks=False
|
bGenerateNoChunks=False
|
||||||
|
|
@ -37,6 +38,7 @@ bCompressed=False
|
||||||
bEncryptIniFiles=False
|
bEncryptIniFiles=False
|
||||||
bEncryptPakIndex=False
|
bEncryptPakIndex=False
|
||||||
bSkipEditorContent=False
|
bSkipEditorContent=False
|
||||||
|
bSkipMovies=False
|
||||||
+DirectoriesToAlwaysStageAsNonUFS=(Path="Modules")
|
+DirectoriesToAlwaysStageAsNonUFS=(Path="Modules")
|
||||||
bNativizeBlueprintAssets=False
|
bNativizeBlueprintAssets=False
|
||||||
bNativizeOnlySelectedBlueprints=False
|
bNativizeOnlySelectedBlueprints=False
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
153
LifePlay.sln
153
LifePlay.sln
|
|
@ -1,100 +1,125 @@
|
||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio 15
|
# Visual Studio 15
|
||||||
VisualStudioVersion = 15.0.26730.16
|
VisualStudioVersion = 15.0.25807.0
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Engine", "Engine", "{B5CC4ECB-290E-4069-866D-0A91649F562B}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Engine", "Engine", "{3B9A8162-6232-4AE8-936D-3D30E00B53CD}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Games", "Games", "{A18D553A-642C-46D7-83C4-50948FA12BB5}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Games", "Games", "{3CC488BF-FFC0-4BEB-B580-18BEAFF21A36}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UE4", "Intermediate\ProjectFiles\UE4.vcxproj", "{9F3944BA-2428-4050-9FE9-59F6C136A3C4}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UE4", "Intermediate\ProjectFiles\UE4.vcxproj", "{8962C52B-11DB-42F4-9630-175AAC44A4E5}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LifePlay", "Intermediate\ProjectFiles\LifePlay.vcxproj", "{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LifePlay", "Intermediate\ProjectFiles\LifePlay.vcxproj", "{CDB20097-5BE4-4AE0-9917-9E106866611A}"
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
DebugGame Editor|HTML5 = DebugGame Editor|HTML5
|
DebugGame Editor|HTML5 = DebugGame Editor|HTML5
|
||||||
|
DebugGame Editor|Linux = DebugGame Editor|Linux
|
||||||
DebugGame Editor|Win32 = DebugGame Editor|Win32
|
DebugGame Editor|Win32 = DebugGame Editor|Win32
|
||||||
DebugGame Editor|Win64 = DebugGame Editor|Win64
|
DebugGame Editor|Win64 = DebugGame Editor|Win64
|
||||||
DebugGame|HTML5 = DebugGame|HTML5
|
DebugGame|HTML5 = DebugGame|HTML5
|
||||||
|
DebugGame|Linux = DebugGame|Linux
|
||||||
DebugGame|Win32 = DebugGame|Win32
|
DebugGame|Win32 = DebugGame|Win32
|
||||||
DebugGame|Win64 = DebugGame|Win64
|
DebugGame|Win64 = DebugGame|Win64
|
||||||
Development Editor|HTML5 = Development Editor|HTML5
|
Development Editor|HTML5 = Development Editor|HTML5
|
||||||
|
Development Editor|Linux = Development Editor|Linux
|
||||||
Development Editor|Win32 = Development Editor|Win32
|
Development Editor|Win32 = Development Editor|Win32
|
||||||
Development Editor|Win64 = Development Editor|Win64
|
Development Editor|Win64 = Development Editor|Win64
|
||||||
Development|HTML5 = Development|HTML5
|
Development|HTML5 = Development|HTML5
|
||||||
|
Development|Linux = Development|Linux
|
||||||
Development|Win32 = Development|Win32
|
Development|Win32 = Development|Win32
|
||||||
Development|Win64 = Development|Win64
|
Development|Win64 = Development|Win64
|
||||||
Shipping|HTML5 = Shipping|HTML5
|
Shipping|HTML5 = Shipping|HTML5
|
||||||
|
Shipping|Linux = Shipping|Linux
|
||||||
Shipping|Win32 = Shipping|Win32
|
Shipping|Win32 = Shipping|Win32
|
||||||
Shipping|Win64 = Shipping|Win64
|
Shipping|Win64 = Shipping|Win64
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.DebugGame Editor|HTML5.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.DebugGame Editor|HTML5.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.DebugGame Editor|HTML5.Build.0 = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.DebugGame Editor|HTML5.Build.0 = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.DebugGame Editor|Win32.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.DebugGame Editor|Linux.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.DebugGame Editor|Win32.Build.0 = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.DebugGame Editor|Linux.Build.0 = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.DebugGame Editor|Win64.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.DebugGame Editor|Win32.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.DebugGame Editor|Win64.Build.0 = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.DebugGame Editor|Win32.Build.0 = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.DebugGame|HTML5.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.DebugGame Editor|Win64.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.DebugGame|HTML5.Build.0 = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.DebugGame Editor|Win64.Build.0 = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.DebugGame|Win32.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.DebugGame|HTML5.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.DebugGame|Win32.Build.0 = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.DebugGame|HTML5.Build.0 = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.DebugGame|Win64.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.DebugGame|Linux.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.DebugGame|Win64.Build.0 = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.DebugGame|Linux.Build.0 = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.Development Editor|HTML5.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.DebugGame|Win32.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.Development Editor|HTML5.Build.0 = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.DebugGame|Win32.Build.0 = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.Development Editor|Win32.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.DebugGame|Win64.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.Development Editor|Win32.Build.0 = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.DebugGame|Win64.Build.0 = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.Development Editor|Win64.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.Development Editor|HTML5.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.Development Editor|Win64.Build.0 = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.Development Editor|HTML5.Build.0 = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.Development|HTML5.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.Development Editor|Linux.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.Development|HTML5.Build.0 = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.Development Editor|Linux.Build.0 = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.Development|Win32.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.Development Editor|Win32.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.Development|Win32.Build.0 = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.Development Editor|Win32.Build.0 = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.Development|Win64.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.Development Editor|Win64.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.Development|Win64.Build.0 = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.Development Editor|Win64.Build.0 = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.Shipping|HTML5.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.Development|HTML5.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.Shipping|HTML5.Build.0 = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.Development|HTML5.Build.0 = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.Shipping|Win32.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.Development|Linux.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.Shipping|Win32.Build.0 = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.Development|Linux.Build.0 = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.Shipping|Win64.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.Development|Win32.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4}.Shipping|Win64.Build.0 = BuiltWithUnrealBuildTool|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.Development|Win32.Build.0 = BuiltWithUnrealBuildTool|Win32
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.DebugGame Editor|HTML5.ActiveCfg = HTML5_DebugGame_Editor|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.Development|Win64.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.DebugGame Editor|Win32.ActiveCfg = DebugGame_Editor|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.Development|Win64.Build.0 = BuiltWithUnrealBuildTool|Win32
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.DebugGame Editor|Win64.ActiveCfg = DebugGame_Editor|x64
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.Shipping|HTML5.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.DebugGame Editor|Win64.Build.0 = DebugGame_Editor|x64
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.Shipping|HTML5.Build.0 = BuiltWithUnrealBuildTool|Win32
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.DebugGame|HTML5.ActiveCfg = HTML5_DebugGame_Game|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.Shipping|Linux.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.DebugGame|HTML5.Build.0 = HTML5_DebugGame_Game|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.Shipping|Linux.Build.0 = BuiltWithUnrealBuildTool|Win32
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.DebugGame|Win32.ActiveCfg = DebugGame_Game|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.Shipping|Win32.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.DebugGame|Win32.Build.0 = DebugGame_Game|Win32
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.Shipping|Win32.Build.0 = BuiltWithUnrealBuildTool|Win32
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.DebugGame|Win64.ActiveCfg = DebugGame_Game|x64
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.Shipping|Win64.ActiveCfg = BuiltWithUnrealBuildTool|Win32
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.DebugGame|Win64.Build.0 = DebugGame_Game|x64
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5}.Shipping|Win64.Build.0 = BuiltWithUnrealBuildTool|Win32
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.Development Editor|HTML5.ActiveCfg = HTML5_Development_Editor|Win32
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.DebugGame Editor|HTML5.ActiveCfg = HTML5_DebugGame_Editor|Win32
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.Development Editor|Win32.ActiveCfg = Development_Editor|Win32
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.DebugGame Editor|Linux.ActiveCfg = Linux_DebugGame_Editor|Win32
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.Development Editor|Win64.ActiveCfg = Development_Editor|x64
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.DebugGame Editor|Linux.Build.0 = Linux_DebugGame_Editor|Win32
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.Development Editor|Win64.Build.0 = Development_Editor|x64
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.DebugGame Editor|Win32.ActiveCfg = DebugGame_Editor|Win32
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.Development|HTML5.ActiveCfg = HTML5_Development_Game|Win32
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.DebugGame Editor|Win64.ActiveCfg = DebugGame_Editor|x64
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.Development|HTML5.Build.0 = HTML5_Development_Game|Win32
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.DebugGame Editor|Win64.Build.0 = DebugGame_Editor|x64
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.Development|Win32.ActiveCfg = Development_Game|Win32
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.DebugGame|HTML5.ActiveCfg = HTML5_DebugGame_Game|Win32
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.Development|Win32.Build.0 = Development_Game|Win32
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.DebugGame|HTML5.Build.0 = HTML5_DebugGame_Game|Win32
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.Development|Win64.ActiveCfg = Development_Game|x64
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.DebugGame|Linux.ActiveCfg = Linux_DebugGame_Game|Win32
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.Development|Win64.Build.0 = Development_Game|x64
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.DebugGame|Linux.Build.0 = Linux_DebugGame_Game|Win32
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.Shipping|HTML5.ActiveCfg = HTML5_Shipping_Game|Win32
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.DebugGame|Win32.ActiveCfg = DebugGame_Game|Win32
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.Shipping|HTML5.Build.0 = HTML5_Shipping_Game|Win32
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.DebugGame|Win32.Build.0 = DebugGame_Game|Win32
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.Shipping|Win32.ActiveCfg = Shipping_Game|Win32
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.DebugGame|Win64.ActiveCfg = DebugGame_Game|x64
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.Shipping|Win32.Build.0 = Shipping_Game|Win32
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.DebugGame|Win64.Build.0 = DebugGame_Game|x64
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.Shipping|Win64.ActiveCfg = Shipping_Game|x64
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.Development Editor|HTML5.ActiveCfg = HTML5_Development_Editor|Win32
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E}.Shipping|Win64.Build.0 = Shipping_Game|x64
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.Development Editor|Linux.ActiveCfg = Linux_Development_Editor|Win32
|
||||||
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.Development Editor|Linux.Build.0 = Linux_Development_Editor|Win32
|
||||||
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.Development Editor|Win32.ActiveCfg = Development_Editor|Win32
|
||||||
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.Development Editor|Win64.ActiveCfg = Development_Editor|x64
|
||||||
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.Development Editor|Win64.Build.0 = Development_Editor|x64
|
||||||
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.Development|HTML5.ActiveCfg = HTML5_Development_Game|Win32
|
||||||
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.Development|HTML5.Build.0 = HTML5_Development_Game|Win32
|
||||||
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.Development|Linux.ActiveCfg = Linux_Development_Game|Win32
|
||||||
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.Development|Linux.Build.0 = Linux_Development_Game|Win32
|
||||||
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.Development|Win32.ActiveCfg = Development_Game|Win32
|
||||||
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.Development|Win32.Build.0 = Development_Game|Win32
|
||||||
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.Development|Win64.ActiveCfg = Development_Game|x64
|
||||||
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.Development|Win64.Build.0 = Development_Game|x64
|
||||||
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.Shipping|HTML5.ActiveCfg = HTML5_Shipping_Game|Win32
|
||||||
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.Shipping|HTML5.Build.0 = HTML5_Shipping_Game|Win32
|
||||||
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.Shipping|Linux.ActiveCfg = Linux_Shipping_Game|Win32
|
||||||
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.Shipping|Linux.Build.0 = Linux_Shipping_Game|Win32
|
||||||
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.Shipping|Win32.ActiveCfg = Shipping_Game|Win32
|
||||||
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.Shipping|Win32.Build.0 = Shipping_Game|Win32
|
||||||
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.Shipping|Win64.ActiveCfg = Shipping_Game|x64
|
||||||
|
{CDB20097-5BE4-4AE0-9917-9E106866611A}.Shipping|Win64.Build.0 = Shipping_Game|x64
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(NestedProjects) = preSolution
|
GlobalSection(NestedProjects) = preSolution
|
||||||
{9F3944BA-2428-4050-9FE9-59F6C136A3C4} = {B5CC4ECB-290E-4069-866D-0A91649F562B}
|
{8962C52B-11DB-42F4-9630-175AAC44A4E5} = {3B9A8162-6232-4AE8-936D-3D30E00B53CD}
|
||||||
{0E67EEC4-D927-4AF3-AB4E-12742B770C2E} = {A18D553A-642C-46D7-83C4-50948FA12BB5}
|
{CDB20097-5BE4-4AE0-9917-9E106866611A} = {3CC488BF-FFC0-4BEB-B580-18BEAFF21A36}
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
SolutionGuid = {29782850-2049-40D2-A595-0297FDE95DE3}
|
SolutionGuid = {CF176613-D418-4296-84FA-7A73B43DC6C9}
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
EndGlobal
|
EndGlobal
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"FileVersion": 3,
|
"FileVersion": 3,
|
||||||
"EngineAssociation": "4.18",
|
"EngineAssociation": "4.20",
|
||||||
"Category": "",
|
"Category": "",
|
||||||
"Description": "",
|
"Description": "",
|
||||||
"Modules": [
|
"Modules": [
|
||||||
|
|
@ -18,89 +18,6 @@
|
||||||
{
|
{
|
||||||
"Name": "SteamVR",
|
"Name": "SteamVR",
|
||||||
"Enabled": false
|
"Enabled": false
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "OculusVR",
|
|
||||||
"Enabled": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "OnlineSubsystemIOS",
|
|
||||||
"Enabled": false,
|
|
||||||
"SupportedTargetPlatforms": [
|
|
||||||
"IOS",
|
|
||||||
"TVOS"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "OnlineSubsystemNull",
|
|
||||||
"Enabled": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "OnlineSubsystemGooglePlay",
|
|
||||||
"Enabled": false,
|
|
||||||
"SupportedTargetPlatforms": [
|
|
||||||
"Android"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "OnlineSubsystemUtils",
|
|
||||||
"Enabled": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "OnlineSubsystem",
|
|
||||||
"Enabled": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "MobilePatchingUtils",
|
|
||||||
"Enabled": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "HTML5Networking",
|
|
||||||
"Enabled": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "MobileLauncherProfileWizard",
|
|
||||||
"Enabled": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "TcpMessaging",
|
|
||||||
"Enabled": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "UdpMessaging",
|
|
||||||
"Enabled": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "AlembicImporter",
|
|
||||||
"Enabled": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "SpeedTreeImporter",
|
|
||||||
"Enabled": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "AndroidDeviceProfileSelector",
|
|
||||||
"Enabled": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "IOSDeviceProfileSelector",
|
|
||||||
"Enabled": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "LinuxDeviceProfileSelector",
|
|
||||||
"Enabled": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "ExampleDeviceProfileSelector",
|
|
||||||
"Enabled": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "AppleARKit",
|
|
||||||
"Enabled": false
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "AndroidPermission",
|
|
||||||
"Enabled": false
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"TargetPlatforms": [
|
"TargetPlatforms": [
|
||||||
|
|
|
||||||
|
|
@ -8,14 +8,6 @@ public class ModdingExtra : ModuleRules
|
||||||
{
|
{
|
||||||
PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
|
PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
|
||||||
|
|
||||||
PublicIncludePaths.AddRange(
|
|
||||||
new string[] {
|
|
||||||
"ModdingExtra/Public"
|
|
||||||
|
|
||||||
// ... add public include paths required here ...
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
PrivateIncludePaths.AddRange(
|
PrivateIncludePaths.AddRange(
|
||||||
new string[] {
|
new string[] {
|
||||||
|
|
|
||||||
|
|
@ -170,11 +170,8 @@ void UStreetMapComponent::GenerateCollision()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Rebuild the body setup
|
// Rebuild the body setup
|
||||||
#if WITH_EDITOR || WITH_RUNTIME_PHYSICS_COOKING
|
|
||||||
StreetMapBodySetup->InvalidatePhysicsData();
|
StreetMapBodySetup->InvalidatePhysicsData();
|
||||||
#endif
|
|
||||||
StreetMapBodySetup->CreatePhysicsMeshes();
|
StreetMapBodySetup->CreatePhysicsMeshes();
|
||||||
|
|
||||||
UpdateNavigationIfNeeded();
|
UpdateNavigationIfNeeded();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -618,7 +615,7 @@ void UStreetMapComponent::UpdateNavigationIfNeeded()
|
||||||
{
|
{
|
||||||
if (bCanEverAffectNavigation || bNavigationRelevant)
|
if (bCanEverAffectNavigation || bNavigationRelevant)
|
||||||
{
|
{
|
||||||
UNavigationSystem::UpdateComponentInNavOctree(*this);
|
FNavigationSystem::UpdateComponentData(*this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,9 +15,15 @@ namespace UnrealBuildTool.Rules
|
||||||
"RHI",
|
"RHI",
|
||||||
"RenderCore",
|
"RenderCore",
|
||||||
"ShaderCore",
|
"ShaderCore",
|
||||||
//"PropertyEditor"
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
if (Target.bBuildEditor == true)
|
||||||
|
{
|
||||||
|
//@TODO: Needed for FPropertyEditorModule::NotifyCustomizationModuleChanged()
|
||||||
|
//@TOOD: To move/implement in FStreetMapComponentDetails
|
||||||
|
PrivateDependencyModuleNames.Add("PropertyEditor");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -6,124 +6,50 @@
|
||||||
#include "Runtime/Engine/Public/SceneManagement.h"
|
#include "Runtime/Engine/Public/SceneManagement.h"
|
||||||
|
|
||||||
|
|
||||||
void FStreetMapVertexBuffer::InitRHI()
|
|
||||||
{
|
|
||||||
if( Vertices.Num() > 0 )
|
|
||||||
{
|
|
||||||
// Allocate our vertex buffer
|
|
||||||
FRHIResourceCreateInfo CreateInfo;
|
|
||||||
VertexBufferRHI = RHICreateVertexBuffer( Vertices.Num() * sizeof( Vertices[0] ), BUF_Static, CreateInfo );
|
|
||||||
|
|
||||||
// Load the vertex buffer with data
|
|
||||||
void* VertexBufferData = RHILockVertexBuffer( VertexBufferRHI, 0, Vertices.Num() * sizeof( Vertices[0] ), RLM_WriteOnly );
|
|
||||||
FMemory::Memcpy( VertexBufferData, Vertices.GetData(), Vertices.Num() * sizeof( FStreetMapVertex ) );
|
|
||||||
RHIUnlockVertexBuffer( VertexBufferRHI );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FStreetMapIndexBuffer::InitRHI()
|
|
||||||
{
|
|
||||||
const int IndexCount = FMath::Max( Indices16.Num(), Indices32.Num() );
|
|
||||||
if( IndexCount > 0 )
|
|
||||||
{
|
|
||||||
const bool b32BitIndices = Indices32.Num() > Indices16.Num();
|
|
||||||
const uint8 IndexSize = b32BitIndices ? sizeof( Indices32[ 0 ] ) : sizeof( Indices16[ 0 ] );
|
|
||||||
const void* IndexSourceData;
|
|
||||||
if( b32BitIndices )
|
|
||||||
{
|
|
||||||
IndexSourceData = Indices32.GetData();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
IndexSourceData = Indices16.GetData();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Allocate our index buffer and load it with data
|
|
||||||
FRHIResourceCreateInfo CreateInfo;
|
|
||||||
IndexBufferRHI = RHICreateIndexBuffer( IndexSize, IndexCount * IndexSize, BUF_Static, CreateInfo );
|
|
||||||
void* IndexBufferData = RHILockIndexBuffer( IndexBufferRHI, 0, IndexCount * IndexSize, RLM_WriteOnly );
|
|
||||||
FMemory::Memcpy( IndexBufferData, IndexSourceData, IndexCount * IndexSize );
|
|
||||||
RHIUnlockIndexBuffer( IndexBufferRHI );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FStreetMapVertexFactory::InitVertexFactory( const FStreetMapVertexBuffer& VertexBuffer )
|
|
||||||
{
|
|
||||||
// Setup the vertex factory streams
|
|
||||||
FDataType DataType;
|
|
||||||
DataType.PositionComponent = STRUCTMEMBER_VERTEXSTREAMCOMPONENT( &VertexBuffer, FStreetMapVertex, Position, VET_Float3 );
|
|
||||||
DataType.TextureCoordinates.Add( STRUCTMEMBER_VERTEXSTREAMCOMPONENT( &VertexBuffer, FStreetMapVertex, TextureCoordinate, VET_Float2 ) );
|
|
||||||
DataType.TangentBasisComponents[0] = STRUCTMEMBER_VERTEXSTREAMCOMPONENT( &VertexBuffer, FStreetMapVertex, TangentX, VET_PackedNormal);
|
|
||||||
DataType.TangentBasisComponents[1] = STRUCTMEMBER_VERTEXSTREAMCOMPONENT( &VertexBuffer, FStreetMapVertex, TangentZ, VET_PackedNormal);
|
|
||||||
DataType.ColorComponent = STRUCTMEMBER_VERTEXSTREAMCOMPONENT( &VertexBuffer, FStreetMapVertex, Color, VET_Color );
|
|
||||||
|
|
||||||
// Send it off to the rendering thread
|
|
||||||
check( !IsInActualRenderingThread() );
|
|
||||||
ENQUEUE_UNIQUE_RENDER_COMMAND_TWOPARAMETER(
|
|
||||||
InitStreetMapVertexFactory,
|
|
||||||
FStreetMapVertexFactory*, VertexFactory, this,
|
|
||||||
FDataType, DataType, DataType,
|
|
||||||
{
|
|
||||||
VertexFactory->SetData( DataType );
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FStreetMapSceneProxy::FStreetMapSceneProxy(const UStreetMapComponent* InComponent)
|
FStreetMapSceneProxy::FStreetMapSceneProxy(const UStreetMapComponent* InComponent)
|
||||||
: FPrimitiveSceneProxy(InComponent),
|
: FPrimitiveSceneProxy(InComponent),
|
||||||
StreetMapComp(InComponent),
|
StreetMapComp(InComponent),
|
||||||
CollisionResponse(InComponent->GetCollisionResponseToChannels())
|
CollisionResponse(InComponent->GetCollisionResponseToChannels()),
|
||||||
|
VertexFactory(GetScene().GetFeatureLevel(), "FStreetMapSceneProxy")
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void FStreetMapSceneProxy::Init( const UStreetMapComponent* InComponent, const TArray< FStreetMapVertex >& Vertices, const TArray< uint16 >& Indices )
|
|
||||||
{
|
|
||||||
// Copy 16-bit index data
|
|
||||||
IndexBuffer.Indices16 = Indices;
|
|
||||||
|
|
||||||
InitAfterIndexBuffer( InComponent, Vertices );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FStreetMapSceneProxy::Init(const UStreetMapComponent* InComponent, const TArray< FStreetMapVertex >& Vertices, const TArray< uint32 >& Indices)
|
void FStreetMapSceneProxy::Init(const UStreetMapComponent* InComponent, const TArray< FStreetMapVertex >& Vertices, const TArray< uint32 >& Indices)
|
||||||
{
|
{
|
||||||
// If we fit into a 16-bit index buffer, just use that
|
// Copy index buffer
|
||||||
if( Vertices.Num() < 0xffff )
|
IndexBuffer32.Indices = Indices;
|
||||||
{
|
|
||||||
const int32 IndexCount = Indices.Num();
|
|
||||||
IndexBuffer.Indices16.AddUninitialized( IndexCount );
|
|
||||||
for( int32 Index = 0; Index < IndexCount; ++Index )
|
|
||||||
{
|
|
||||||
IndexBuffer.Indices16[ Index ] = Indices[ Index ];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Copy 32-bit index data
|
|
||||||
IndexBuffer.Indices32 = Indices;
|
|
||||||
}
|
|
||||||
|
|
||||||
InitAfterIndexBuffer( InComponent, Vertices );
|
|
||||||
}
|
|
||||||
|
|
||||||
void FStreetMapSceneProxy::InitAfterIndexBuffer( const UStreetMapComponent* StreetMapComponent, const TArray< FStreetMapVertex >& Vertices )
|
|
||||||
{
|
|
||||||
MaterialInterface = nullptr;
|
MaterialInterface = nullptr;
|
||||||
this->MaterialRelevance = StreetMapComponent->GetMaterialRelevance( GetScene().GetFeatureLevel() );
|
this->MaterialRelevance = InComponent->GetMaterialRelevance(GetScene().GetFeatureLevel());
|
||||||
|
|
||||||
|
|
||||||
// Copy vertex data
|
// Copy vertex data
|
||||||
VertexBuffer.Vertices = Vertices;
|
const int32 NumVerts = Vertices.Num();
|
||||||
|
TArray<FDynamicMeshVertex> DynamicVertices;
|
||||||
|
DynamicVertices.SetNumUninitialized(NumVerts);
|
||||||
|
|
||||||
|
for (int VertIdx = 0; VertIdx < NumVerts; VertIdx++)
|
||||||
|
{
|
||||||
|
const FStreetMapVertex& StreetMapVert = Vertices[VertIdx];
|
||||||
|
FDynamicMeshVertex& Vert = DynamicVertices[VertIdx];
|
||||||
|
Vert.Position = StreetMapVert.Position;
|
||||||
|
Vert.Color = StreetMapVert.Color;
|
||||||
|
Vert.TextureCoordinate[0] = StreetMapVert.TextureCoordinate;
|
||||||
|
Vert.TangentX = StreetMapVert.TangentX;
|
||||||
|
Vert.TangentZ = StreetMapVert.TangentZ;
|
||||||
|
}
|
||||||
|
|
||||||
|
VertexBuffer.InitFromDynamicVertex(&VertexFactory, DynamicVertices);
|
||||||
|
|
||||||
|
// Enqueue initialization of render resource
|
||||||
InitResources();
|
InitResources();
|
||||||
|
|
||||||
// Set a material
|
// Set a material
|
||||||
{
|
{
|
||||||
if( StreetMapComponent->GetNumMaterials() > 0 )
|
if (InComponent->GetNumMaterials() > 0)
|
||||||
{
|
{
|
||||||
MaterialInterface = StreetMapComponent->GetMaterial( 0 );
|
MaterialInterface = InComponent->GetMaterial(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Use the default material if we don't have one set
|
// Use the default material if we don't have one set
|
||||||
|
|
@ -134,23 +60,29 @@ void FStreetMapSceneProxy::InitAfterIndexBuffer( const UStreetMapComponent* Stre
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
FStreetMapSceneProxy::~FStreetMapSceneProxy()
|
FStreetMapSceneProxy::~FStreetMapSceneProxy()
|
||||||
{
|
{
|
||||||
VertexBuffer.ReleaseResource();
|
VertexBuffer.PositionVertexBuffer.ReleaseResource();
|
||||||
IndexBuffer.ReleaseResource();
|
VertexBuffer.StaticMeshVertexBuffer.ReleaseResource();
|
||||||
|
VertexBuffer.ColorVertexBuffer.ReleaseResource();
|
||||||
|
IndexBuffer32.ReleaseResource();
|
||||||
VertexFactory.ReleaseResource();
|
VertexFactory.ReleaseResource();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
SIZE_T FStreetMapSceneProxy::GetTypeHash() const
|
||||||
|
{
|
||||||
|
static size_t UniquePointer;
|
||||||
|
return reinterpret_cast<size_t>(&UniquePointer);
|
||||||
|
}
|
||||||
|
|
||||||
void FStreetMapSceneProxy::InitResources()
|
void FStreetMapSceneProxy::InitResources()
|
||||||
{
|
{
|
||||||
// Start initializing our vertex buffer, index buffer, and vertex factory. This will be kicked off on the render thread.
|
// Start initializing our vertex buffer, index buffer, and vertex factory. This will be kicked off on the render thread.
|
||||||
BeginInitResource( &VertexBuffer );
|
BeginInitResource(&VertexBuffer.PositionVertexBuffer);
|
||||||
BeginInitResource( &IndexBuffer );
|
BeginInitResource(&VertexBuffer.StaticMeshVertexBuffer);
|
||||||
|
BeginInitResource(&VertexBuffer.ColorVertexBuffer);
|
||||||
VertexFactory.InitVertexFactory( VertexBuffer );
|
BeginInitResource(&IndexBuffer32);
|
||||||
BeginInitResource(&VertexFactory);
|
BeginInitResource(&VertexFactory);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -209,17 +141,17 @@ void FStreetMapSceneProxy::MakeMeshBatch( FMeshBatch& Mesh, FMaterialRenderProxy
|
||||||
}
|
}
|
||||||
|
|
||||||
FMeshBatchElement& BatchElement = Mesh.Elements[0];
|
FMeshBatchElement& BatchElement = Mesh.Elements[0];
|
||||||
BatchElement.IndexBuffer = &IndexBuffer;
|
BatchElement.IndexBuffer = &IndexBuffer32;
|
||||||
Mesh.bWireframe = WireframeMaterialRenderProxyOrNull != nullptr;
|
Mesh.bWireframe = WireframeMaterialRenderProxyOrNull != nullptr;
|
||||||
Mesh.VertexFactory = &VertexFactory;
|
Mesh.VertexFactory = &VertexFactory;
|
||||||
Mesh.MaterialRenderProxy = MaterialProxy;
|
Mesh.MaterialRenderProxy = MaterialProxy;
|
||||||
Mesh.CastShadow = true;
|
Mesh.CastShadow = true;
|
||||||
BatchElement.PrimitiveUniformBuffer = CreatePrimitiveUniformBufferImmediate(GetLocalToWorld(), GetBounds(), GetLocalBounds(), true, UseEditorDepthTest());
|
BatchElement.PrimitiveUniformBuffer = CreatePrimitiveUniformBufferImmediate(GetLocalToWorld(), GetBounds(), GetLocalBounds(), true, UseEditorDepthTest());
|
||||||
BatchElement.FirstIndex = 0;
|
BatchElement.FirstIndex = 0;
|
||||||
const int IndexCount = FMath::Max( IndexBuffer.Indices16.Num(), IndexBuffer.Indices32.Num() );
|
const int IndexCount = IndexBuffer32.Indices.Num();
|
||||||
BatchElement.NumPrimitives = IndexCount / 3;
|
BatchElement.NumPrimitives = IndexCount / 3;
|
||||||
BatchElement.MinVertexIndex = 0;
|
BatchElement.MinVertexIndex = 0;
|
||||||
BatchElement.MaxVertexIndex = VertexBuffer.Vertices.Num() - 1;
|
BatchElement.MaxVertexIndex = VertexBuffer.PositionVertexBuffer.GetNumVertices() - 1;
|
||||||
Mesh.ReverseCulling = IsLocalToWorldDeterminantNegative();
|
Mesh.ReverseCulling = IsLocalToWorldDeterminantNegative();
|
||||||
Mesh.Type = PT_TriangleList;
|
Mesh.Type = PT_TriangleList;
|
||||||
Mesh.DepthPriorityGroup = SDPG_World;
|
Mesh.DepthPriorityGroup = SDPG_World;
|
||||||
|
|
@ -228,8 +160,8 @@ void FStreetMapSceneProxy::MakeMeshBatch( FMeshBatch& Mesh, FMaterialRenderProxy
|
||||||
|
|
||||||
void FStreetMapSceneProxy::DrawStaticElements(FStaticPrimitiveDrawInterface* PDI)
|
void FStreetMapSceneProxy::DrawStaticElements(FStaticPrimitiveDrawInterface* PDI)
|
||||||
{
|
{
|
||||||
const int IndexCount = FMath::Max( IndexBuffer.Indices16.Num(), IndexBuffer.Indices32.Num() );
|
const int IndexCount = IndexBuffer32.Indices.Num();
|
||||||
if( VertexBuffer.Vertices.Num() > 0 && IndexCount > 0 )
|
if (VertexBuffer.PositionVertexBuffer.GetNumVertices() > 0 && IndexCount > 0)
|
||||||
{
|
{
|
||||||
const float ScreenSize = 1.0f;
|
const float ScreenSize = 1.0f;
|
||||||
|
|
||||||
|
|
@ -242,8 +174,8 @@ void FStreetMapSceneProxy::DrawStaticElements( FStaticPrimitiveDrawInterface* PD
|
||||||
|
|
||||||
void FStreetMapSceneProxy::GetDynamicMeshElements(const TArray<const FSceneView*>& Views, const FSceneViewFamily& ViewFamily, uint32 VisibilityMap, class FMeshElementCollector& Collector) const
|
void FStreetMapSceneProxy::GetDynamicMeshElements(const TArray<const FSceneView*>& Views, const FSceneViewFamily& ViewFamily, uint32 VisibilityMap, class FMeshElementCollector& Collector) const
|
||||||
{
|
{
|
||||||
const int IndexCount = FMath::Max(IndexBuffer.Indices16.Num(), IndexBuffer.Indices32.Num());
|
const int IndexCount = IndexBuffer32.Indices.Num();
|
||||||
if (VertexBuffer.Vertices.Num() > 0 && IndexCount > 0)
|
if (VertexBuffer.PositionVertexBuffer.GetNumVertices() > 0 && IndexCount > 0)
|
||||||
{
|
{
|
||||||
for (int32 ViewIndex = 0; ViewIndex < Views.Num(); ++ViewIndex)
|
for (int32 ViewIndex = 0; ViewIndex < Views.Num(); ++ViewIndex)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
#include "Runtime/Engine/Public/PrimitiveSceneProxy.h"
|
#include "Runtime/Engine/Public/PrimitiveSceneProxy.h"
|
||||||
#include "Runtime/Engine/Public/LocalVertexFactory.h"
|
#include "Runtime/Engine/Public/LocalVertexFactory.h"
|
||||||
|
#include "Runtime/Engine/Public/DynamicMeshBuilder.h"
|
||||||
#include "StreetMapSceneProxy.generated.h"
|
#include "StreetMapSceneProxy.generated.h"
|
||||||
|
|
||||||
/** A single vertex on a street map mesh */
|
/** A single vertex on a street map mesh */
|
||||||
|
|
@ -50,50 +51,6 @@ struct FStreetMapVertex
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/** Street map mesh vertex buffer */
|
|
||||||
class FStreetMapVertexBuffer : public FVertexBuffer
|
|
||||||
{
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
/** All of the vertices in this mesh */
|
|
||||||
TArray< FStreetMapVertex > Vertices;
|
|
||||||
|
|
||||||
|
|
||||||
// FRenderResource interface
|
|
||||||
virtual void InitRHI() override;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/** Street map mesh index buffer */
|
|
||||||
class FStreetMapIndexBuffer : public FIndexBuffer
|
|
||||||
{
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
/** 16-bit indices */
|
|
||||||
TArray< uint16 > Indices16;
|
|
||||||
|
|
||||||
/** 32-bit indices */
|
|
||||||
TArray< uint32 > Indices32;
|
|
||||||
|
|
||||||
|
|
||||||
// FRenderResource interface
|
|
||||||
virtual void InitRHI() override;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/** Street map mesh vertex factory */
|
|
||||||
class FStreetMapVertexFactory : public FLocalVertexFactory
|
|
||||||
{
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
/** Initialize this vertex factory */
|
|
||||||
void InitVertexFactory( const FStreetMapVertexBuffer& VertexBuffer );
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/** Scene proxy for rendering a section of a street map mesh on the rendering thread */
|
/** Scene proxy for rendering a section of a street map mesh on the rendering thread */
|
||||||
class FStreetMapSceneProxy : public FPrimitiveSceneProxy
|
class FStreetMapSceneProxy : public FPrimitiveSceneProxy
|
||||||
{
|
{
|
||||||
|
|
@ -112,23 +69,14 @@ public:
|
||||||
*/
|
*/
|
||||||
void Init(const UStreetMapComponent* InComponent, const TArray< FStreetMapVertex >& Vertices, const TArray< uint32 >& Indices);
|
void Init(const UStreetMapComponent* InComponent, const TArray< FStreetMapVertex >& Vertices, const TArray< uint32 >& Indices);
|
||||||
|
|
||||||
/**
|
|
||||||
* Init this street map mesh scene proxy for the specified component (16-bit indices)
|
|
||||||
*
|
|
||||||
* @param InComponent The street map mesh component to initialize this with
|
|
||||||
* @param Vertices The vertices for this street map mesh
|
|
||||||
* @param Indices The vertex indices for this street map mesh
|
|
||||||
*/
|
|
||||||
void Init(const UStreetMapComponent* InComponent, const TArray< FStreetMapVertex >& Vertices, const TArray< uint16 >& Indices);
|
|
||||||
|
|
||||||
/** Destructor that cleans up our rendering data */
|
/** Destructor that cleans up our rendering data */
|
||||||
virtual ~FStreetMapSceneProxy();
|
virtual ~FStreetMapSceneProxy();
|
||||||
|
|
||||||
|
|
||||||
protected:
|
/** Return a type (or subtype) specific hash for sorting purposes */
|
||||||
|
SIZE_T GetTypeHash() const override;
|
||||||
|
|
||||||
/** Called from the constructor to finish construction after the index buffer is setup */
|
protected:
|
||||||
void InitAfterIndexBuffer(const class UStreetMapComponent* StreetMapComponent, const TArray< FStreetMapVertex >& Vertices);
|
|
||||||
|
|
||||||
/** Initializes this scene proxy's vertex buffer, index buffer and vertex factory (on the render thread.) */
|
/** Initializes this scene proxy's vertex buffer, index buffer and vertex factory (on the render thread.) */
|
||||||
void InitResources();
|
void InitResources();
|
||||||
|
|
@ -150,20 +98,16 @@ protected:
|
||||||
virtual FPrimitiveViewRelevance GetViewRelevance(const class FSceneView* View) const override;
|
virtual FPrimitiveViewRelevance GetViewRelevance(const class FSceneView* View) const override;
|
||||||
virtual bool CanBeOccluded() const override;
|
virtual bool CanBeOccluded() const override;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** Contains all of the vertices in our street map mesh */
|
/** Contains all of the vertices in our street map mesh */
|
||||||
FStreetMapVertexBuffer VertexBuffer;
|
FStaticMeshVertexBuffers VertexBuffer;
|
||||||
|
|
||||||
/** All of the vertex indices in our street map mesh */
|
/** All of the vertex indices32 in our street map mesh */
|
||||||
FStreetMapIndexBuffer IndexBuffer;
|
FDynamicMeshIndexBuffer32 IndexBuffer32;
|
||||||
|
|
||||||
/** Our vertex factory specific to street map meshes */
|
/** Our vertex factory specific to street map meshes */
|
||||||
FStreetMapVertexFactory VertexFactory;
|
FLocalVertexFactory VertexFactory;
|
||||||
|
|
||||||
/** Cached material relevance */
|
/** Cached material relevance */
|
||||||
FMaterialRelevance MaterialRelevance;
|
FMaterialRelevance MaterialRelevance;
|
||||||
|
|
@ -175,6 +119,4 @@ protected:
|
||||||
|
|
||||||
// The Collision Response of the component being proxied
|
// The Collision Response of the component being proxied
|
||||||
FCollisionResponseContainer CollisionResponse;
|
FCollisionResponseContainer CollisionResponse;
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
Loading…
Reference in a new issue