diff --git a/.idea/.idea.BladeSmith/.idea/.gitignore b/.idea/.idea.BladeSmith/.idea/.gitignore new file mode 100644 index 0000000..44dfeb7 --- /dev/null +++ b/.idea/.idea.BladeSmith/.idea/.gitignore @@ -0,0 +1,13 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# Rider 忽略的文件 +/.idea.BladeSmith.iml +/projectSettingsUpdater.xml +/contentModel.xml +/modules.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/.idea.BladeSmith/.idea/encodings.xml b/.idea/.idea.BladeSmith/.idea/encodings.xml new file mode 100644 index 0000000..dd05a7e --- /dev/null +++ b/.idea/.idea.BladeSmith/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/.idea.BladeSmith/.idea/indexLayout.xml b/.idea/.idea.BladeSmith/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/.idea/.idea.BladeSmith/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.vsconfig b/.vsconfig new file mode 100644 index 0000000..b3c233d --- /dev/null +++ b/.vsconfig @@ -0,0 +1,15 @@ +{ + "version": "1.0", + "components": [ + "Microsoft.Net.Component.4.6.2.TargetingPack", + "Microsoft.VisualStudio.Component.Unreal.Workspace", + "Microsoft.VisualStudio.Component.VC.14.38.17.8.ATL", + "Microsoft.VisualStudio.Component.VC.14.38.17.8.x86.x64", + "Microsoft.VisualStudio.Component.VC.Tools.x86.x64", + "Microsoft.VisualStudio.Component.Windows11SDK.22621", + "Microsoft.VisualStudio.Workload.CoreEditor", + "Microsoft.VisualStudio.Workload.ManagedDesktop", + "Microsoft.VisualStudio.Workload.NativeDesktop", + "Microsoft.VisualStudio.Workload.NativeGame" + ] +} diff --git a/BladeSmith.sln.DotSettings.user b/BladeSmith.sln.DotSettings.user new file mode 100644 index 0000000..8ace9b1 --- /dev/null +++ b/BladeSmith.sln.DotSettings.user @@ -0,0 +1,2 @@ + + ForceIncluded \ No newline at end of file diff --git a/BladeSmith.uproject b/BladeSmith.uproject new file mode 100644 index 0000000..511e59d --- /dev/null +++ b/BladeSmith.uproject @@ -0,0 +1,25 @@ +{ + "FileVersion": 3, + "EngineAssociation": "5.5", + "Category": "", + "Description": "", + "Modules": [ + { + "Name": "BladeSmith", + "Type": "Runtime", + "LoadingPhase": "Default", + "AdditionalDependencies": [ + "Engine" + ] + } + ], + "Plugins": [ + { + "Name": "ModelingToolsEditorMode", + "Enabled": true, + "TargetAllowList": [ + "Editor" + ] + } + ] +} \ No newline at end of file diff --git a/Config/DefaultEditor.ini b/Config/DefaultEditor.ini new file mode 100644 index 0000000..8b9730a --- /dev/null +++ b/Config/DefaultEditor.ini @@ -0,0 +1,13 @@ +[UnrealEd.SimpleMap] +SimpleMapName=/Game/FirstPerson/Maps/FirstPersonExampleMap + +[EditoronlyBP] +bAllowClassAndBlueprintPinMatching=true +bReplaceBlueprintWithClass= true +bDontLoadBlueprintOutsideEditor= true +bBlueprintIsNotBlueprintType= true + +[/Script/AdvancedPreviewScene.SharedProfiles] ++Profiles=(ProfileName="Epic Headquarters",bSharedProfile=True,bIsEngineDefaultProfile=True,bUseSkyLighting=True,DirectionalLightIntensity=1.000000,DirectionalLightColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),SkyLightIntensity=1.000000,bRotateLightingRig=False,bShowEnvironment=True,bShowFloor=True,bShowGrid=False,EnvironmentColor=(R=0.200000,G=0.200000,B=0.200000,A=1.000000),EnvironmentIntensity=1.000000,EnvironmentCubeMapPath="/Engine/EditorMaterials/AssetViewer/EpicQuadPanorama_CC+EV1.EpicQuadPanorama_CC+EV1",bPostProcessingEnabled=True,PostProcessingSettings=(bOverride_TemperatureType=False,bOverride_WhiteTemp=False,bOverride_WhiteTint=False,bOverride_ColorSaturation=False,bOverride_ColorContrast=False,bOverride_ColorGamma=False,bOverride_ColorGain=False,bOverride_ColorOffset=False,bOverride_ColorSaturationShadows=False,bOverride_ColorContrastShadows=False,bOverride_ColorGammaShadows=False,bOverride_ColorGainShadows=False,bOverride_ColorOffsetShadows=False,bOverride_ColorSaturationMidtones=False,bOverride_ColorContrastMidtones=False,bOverride_ColorGammaMidtones=False,bOverride_ColorGainMidtones=False,bOverride_ColorOffsetMidtones=False,bOverride_ColorSaturationHighlights=False,bOverride_ColorContrastHighlights=False,bOverride_ColorGammaHighlights=False,bOverride_ColorGainHighlights=False,bOverride_ColorOffsetHighlights=False,bOverride_ColorCorrectionShadowsMax=False,bOverride_ColorCorrectionHighlightsMin=False,bOverride_ColorCorrectionHighlightsMax=False,bOverride_BlueCorrection=False,bOverride_ExpandGamut=False,bOverride_ToneCurveAmount=False,bOverride_FilmSlope=False,bOverride_FilmToe=False,bOverride_FilmShoulder=False,bOverride_FilmBlackClip=False,bOverride_FilmWhiteClip=False,bOverride_SceneColorTint=False,bOverride_SceneFringeIntensity=False,bOverride_ChromaticAberrationStartOffset=False,bOverride_bMegaLights=False,bOverride_AmbientCubemapTint=False,bOverride_AmbientCubemapIntensity=False,bOverride_BloomMethod=False,bOverride_BloomIntensity=False,bOverride_BloomThreshold=False,bOverride_Bloom1Tint=False,bOverride_Bloom1Size=False,bOverride_Bloom2Size=False,bOverride_Bloom2Tint=False,bOverride_Bloom3Tint=False,bOverride_Bloom3Size=False,bOverride_Bloom4Tint=False,bOverride_Bloom4Size=False,bOverride_Bloom5Tint=False,bOverride_Bloom5Size=False,bOverride_Bloom6Tint=False,bOverride_Bloom6Size=False,bOverride_BloomSizeScale=False,bOverride_BloomConvolutionTexture=False,bOverride_BloomConvolutionScatterDispersion=False,bOverride_BloomConvolutionSize=False,bOverride_BloomConvolutionCenterUV=False,bOverride_BloomConvolutionPreFilterMin=False,bOverride_BloomConvolutionPreFilterMax=False,bOverride_BloomConvolutionPreFilterMult=False,bOverride_BloomConvolutionBufferScale=False,bOverride_BloomDirtMaskIntensity=False,bOverride_BloomDirtMaskTint=False,bOverride_BloomDirtMask=False,bOverride_CameraShutterSpeed=False,bOverride_CameraISO=False,bOverride_AutoExposureMethod=False,bOverride_AutoExposureLowPercent=False,bOverride_AutoExposureHighPercent=False,bOverride_AutoExposureMinBrightness=False,bOverride_AutoExposureMaxBrightness=False,bOverride_AutoExposureSpeedUp=False,bOverride_AutoExposureSpeedDown=False,bOverride_AutoExposureBias=False,bOverride_AutoExposureBiasCurve=False,bOverride_AutoExposureMeterMask=False,bOverride_AutoExposureApplyPhysicalCameraExposure=False,bOverride_HistogramLogMin=False,bOverride_HistogramLogMax=False,bOverride_LocalExposureMethod=False,bOverride_LocalExposureHighlightContrastScale=False,bOverride_LocalExposureShadowContrastScale=False,bOverride_LocalExposureHighlightContrastCurve=False,bOverride_LocalExposureShadowContrastCurve=False,bOverride_LocalExposureHighlightThreshold=False,bOverride_LocalExposureShadowThreshold=False,bOverride_LocalExposureDetailStrength=False,bOverride_LocalExposureBlurredLuminanceBlend=False,bOverride_LocalExposureBlurredLuminanceKernelSizePercent=False,bOverride_LocalExposureMiddleGreyBias=False,bOverride_LensFlareIntensity=False,bOverride_LensFlareTint=False,bOverride_LensFlareTints=False,bOverride_LensFlareBokehSize=False,bOverride_LensFlareBokehShape=False,bOverride_LensFlareThreshold=False,bOverride_VignetteIntensity=False,bOverride_Sharpen=False,bOverride_FilmGrainIntensity=False,bOverride_FilmGrainIntensityShadows=False,bOverride_FilmGrainIntensityMidtones=False,bOverride_FilmGrainIntensityHighlights=False,bOverride_FilmGrainShadowsMax=False,bOverride_FilmGrainHighlightsMin=False,bOverride_FilmGrainHighlightsMax=False,bOverride_FilmGrainTexelSize=False,bOverride_FilmGrainTexture=False,bOverride_AmbientOcclusionIntensity=False,bOverride_AmbientOcclusionStaticFraction=False,bOverride_AmbientOcclusionRadius=False,bOverride_AmbientOcclusionFadeDistance=False,bOverride_AmbientOcclusionFadeRadius=False,bOverride_AmbientOcclusionRadiusInWS=False,bOverride_AmbientOcclusionPower=False,bOverride_AmbientOcclusionBias=False,bOverride_AmbientOcclusionQuality=False,bOverride_AmbientOcclusionMipBlend=False,bOverride_AmbientOcclusionMipScale=False,bOverride_AmbientOcclusionMipThreshold=False,bOverride_AmbientOcclusionTemporalBlendWeight=False,bOverride_RayTracingAO=False,bOverride_RayTracingAOSamplesPerPixel=False,bOverride_RayTracingAOIntensity=False,bOverride_RayTracingAORadius=False,bOverride_IndirectLightingColor=False,bOverride_IndirectLightingIntensity=False,bOverride_ColorGradingIntensity=False,bOverride_ColorGradingLUT=False,bOverride_DepthOfFieldFocalDistance=False,bOverride_DepthOfFieldFstop=False,bOverride_DepthOfFieldMinFstop=False,bOverride_DepthOfFieldBladeCount=False,bOverride_DepthOfFieldSensorWidth=False,bOverride_DepthOfFieldSqueezeFactor=False,bOverride_DepthOfFieldDepthBlurRadius=False,bOverride_DepthOfFieldUseHairDepth=False,bOverride_DepthOfFieldDepthBlurAmount=False,bOverride_DepthOfFieldFocalRegion=False,bOverride_DepthOfFieldNearTransitionRegion=False,bOverride_DepthOfFieldFarTransitionRegion=False,bOverride_DepthOfFieldScale=False,bOverride_DepthOfFieldNearBlurSize=False,bOverride_DepthOfFieldFarBlurSize=False,bOverride_MobileHQGaussian=False,bOverride_DepthOfFieldOcclusion=False,bOverride_DepthOfFieldSkyFocusDistance=False,bOverride_DepthOfFieldVignetteSize=False,bOverride_MotionBlurAmount=False,bOverride_MotionBlurMax=False,bOverride_MotionBlurTargetFPS=False,bOverride_MotionBlurPerObjectSize=False,bOverride_ReflectionMethod=False,bOverride_LumenReflectionQuality=False,bOverride_ScreenSpaceReflectionIntensity=False,bOverride_ScreenSpaceReflectionQuality=False,bOverride_ScreenSpaceReflectionMaxRoughness=False,bOverride_ScreenSpaceReflectionRoughnessScale=False,bOverride_UserFlags=False,bOverride_RayTracingReflectionsMaxRoughness=False,bOverride_RayTracingReflectionsMaxBounces=False,bOverride_RayTracingReflectionsSamplesPerPixel=False,bOverride_RayTracingReflectionsShadows=False,bOverride_RayTracingReflectionsTranslucency=False,bOverride_TranslucencyType=False,bOverride_RayTracingTranslucencyMaxRoughness=False,bOverride_RayTracingTranslucencyRefractionRays=False,bOverride_RayTracingTranslucencySamplesPerPixel=False,bOverride_RayTracingTranslucencyShadows=False,bOverride_RayTracingTranslucencyRefraction=False,bOverride_DynamicGlobalIlluminationMethod=False,bOverride_LumenSceneLightingQuality=False,bOverride_LumenSceneDetail=False,bOverride_LumenSceneViewDistance=False,bOverride_LumenSceneLightingUpdateSpeed=False,bOverride_LumenFinalGatherQuality=False,bOverride_LumenFinalGatherLightingUpdateSpeed=False,bOverride_LumenFinalGatherScreenTraces=False,bOverride_LumenMaxTraceDistance=False,bOverride_LumenDiffuseColorBoost=False,bOverride_LumenSkylightLeaking=False,bOverride_LumenFullSkylightLeakingDistance=False,bOverride_LumenRayLightingMode=False,bOverride_LumenReflectionsScreenTraces=False,bOverride_LumenFrontLayerTranslucencyReflections=False,bOverride_LumenMaxRoughnessToTraceReflections=False,bOverride_LumenMaxReflectionBounces=False,bOverride_LumenMaxRefractionBounces=False,bOverride_LumenSurfaceCacheResolution=False,bOverride_RayTracingGI=False,bOverride_RayTracingGIMaxBounces=False,bOverride_RayTracingGISamplesPerPixel=False,bOverride_PathTracingMaxBounces=False,bOverride_PathTracingSamplesPerPixel=False,bOverride_PathTracingMaxPathIntensity=False,bOverride_PathTracingEnableEmissiveMaterials=False,bOverride_PathTracingEnableReferenceDOF=False,bOverride_PathTracingEnableReferenceAtmosphere=False,bOverride_PathTracingEnableDenoiser=False,bOverride_PathTracingIncludeEmissive=False,bOverride_PathTracingIncludeDiffuse=False,bOverride_PathTracingIncludeIndirectDiffuse=False,bOverride_PathTracingIncludeSpecular=False,bOverride_PathTracingIncludeIndirectSpecular=False,bOverride_PathTracingIncludeVolume=False,bOverride_PathTracingIncludeIndirectVolume=False,bMobileHQGaussian=False,BloomMethod=BM_SOG,AutoExposureMethod=AEM_Histogram,TemperatureType=TEMP_WhiteBalance,WhiteTemp=6500.000000,WhiteTint=0.000000,ColorSaturation=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrast=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGamma=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGain=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffset=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorSaturationShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrastShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGammaShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGainShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffsetShadows=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorSaturationMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrastMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGammaMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGainMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffsetMidtones=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorSaturationHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrastHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGammaHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGainHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffsetHighlights=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorCorrectionHighlightsMin=0.500000,ColorCorrectionHighlightsMax=1.000000,ColorCorrectionShadowsMax=0.090000,BlueCorrection=0.600000,ExpandGamut=1.000000,ToneCurveAmount=1.000000,FilmSlope=0.880000,FilmToe=0.550000,FilmShoulder=0.260000,FilmBlackClip=0.000000,FilmWhiteClip=0.040000,SceneColorTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),SceneFringeIntensity=0.000000,ChromaticAberrationStartOffset=0.000000,BloomIntensity=0.675000,BloomThreshold=-1.000000,BloomSizeScale=4.000000,Bloom1Size=0.300000,Bloom2Size=1.000000,Bloom3Size=2.000000,Bloom4Size=10.000000,Bloom5Size=30.000000,Bloom6Size=64.000000,Bloom1Tint=(R=0.346500,G=0.346500,B=0.346500,A=1.000000),Bloom2Tint=(R=0.138000,G=0.138000,B=0.138000,A=1.000000),Bloom3Tint=(R=0.117600,G=0.117600,B=0.117600,A=1.000000),Bloom4Tint=(R=0.066000,G=0.066000,B=0.066000,A=1.000000),Bloom5Tint=(R=0.066000,G=0.066000,B=0.066000,A=1.000000),Bloom6Tint=(R=0.061000,G=0.061000,B=0.061000,A=1.000000),BloomConvolutionScatterDispersion=1.000000,BloomConvolutionSize=1.000000,BloomConvolutionTexture=None,BloomConvolutionCenterUV=(X=0.500000,Y=0.500000),BloomConvolutionPreFilterMin=7.000000,BloomConvolutionPreFilterMax=15000.000000,BloomConvolutionPreFilterMult=15.000000,BloomConvolutionBufferScale=0.133000,BloomDirtMask=None,BloomDirtMaskIntensity=0.000000,BloomDirtMaskTint=(R=0.500000,G=0.500000,B=0.500000,A=1.000000),DynamicGlobalIlluminationMethod=Lumen,IndirectLightingColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),IndirectLightingIntensity=1.000000,LumenRayLightingMode=Default,LumenSceneLightingQuality=1.000000,LumenSceneDetail=1.000000,LumenSceneViewDistance=20000.000000,LumenSceneLightingUpdateSpeed=1.000000,LumenFinalGatherQuality=1.000000,LumenFinalGatherLightingUpdateSpeed=1.000000,LumenFinalGatherScreenTraces=True,LumenMaxTraceDistance=20000.000000,LumenDiffuseColorBoost=1.000000,LumenSkylightLeaking=0.000000,LumenFullSkylightLeakingDistance=1000.000000,LumenSurfaceCacheResolution=1.000000,ReflectionMethod=Lumen,LumenReflectionQuality=1.000000,LumenReflectionsScreenTraces=True,LumenFrontLayerTranslucencyReflections=False,LumenMaxRoughnessToTraceReflections=0.400000,LumenMaxReflectionBounces=1,LumenMaxRefractionBounces=0,ScreenSpaceReflectionIntensity=100.000000,ScreenSpaceReflectionQuality=50.000000,ScreenSpaceReflectionMaxRoughness=0.600000,bMegaLights=True,AmbientCubemapTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),AmbientCubemapIntensity=1.000000,AmbientCubemap=None,CameraShutterSpeed=60.000000,CameraISO=100.000000,DepthOfFieldFstop=4.000000,DepthOfFieldMinFstop=1.200000,DepthOfFieldBladeCount=5,AutoExposureBias=1.000000,AutoExposureBiasBackup=0.000000,bOverride_AutoExposureBiasBackup=False,AutoExposureApplyPhysicalCameraExposure=True,AutoExposureBiasCurve=None,AutoExposureMeterMask=None,AutoExposureLowPercent=10.000000,AutoExposureHighPercent=90.000000,AutoExposureMinBrightness=-10.000000,AutoExposureMaxBrightness=20.000000,AutoExposureSpeedUp=3.000000,AutoExposureSpeedDown=1.000000,HistogramLogMin=-10.000000,HistogramLogMax=20.000000,LocalExposureMethod=Bilateral,LocalExposureHighlightContrastScale=1.000000,LocalExposureShadowContrastScale=1.000000,LocalExposureHighlightContrastCurve=None,LocalExposureShadowContrastCurve=None,LocalExposureHighlightThreshold=0.000000,LocalExposureShadowThreshold=0.000000,LocalExposureDetailStrength=1.000000,LocalExposureBlurredLuminanceBlend=0.600000,LocalExposureBlurredLuminanceKernelSizePercent=50.000000,LocalExposureMiddleGreyBias=0.000000,LensFlareIntensity=1.000000,LensFlareTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),LensFlareBokehSize=3.000000,LensFlareThreshold=8.000000,LensFlareBokehShape=None,LensFlareTints[0]=(R=1.000000,G=0.800000,B=0.400000,A=0.600000),LensFlareTints[1]=(R=1.000000,G=1.000000,B=0.600000,A=0.530000),LensFlareTints[2]=(R=0.800000,G=0.800000,B=1.000000,A=0.460000),LensFlareTints[3]=(R=0.500000,G=1.000000,B=0.400000,A=0.390000),LensFlareTints[4]=(R=0.500000,G=0.800000,B=1.000000,A=0.310000),LensFlareTints[5]=(R=0.900000,G=1.000000,B=0.800000,A=0.270000),LensFlareTints[6]=(R=1.000000,G=0.800000,B=0.400000,A=0.220000),LensFlareTints[7]=(R=0.900000,G=0.700000,B=0.700000,A=0.150000),VignetteIntensity=0.400000,Sharpen=0.000000,FilmGrainIntensity=0.000000,FilmGrainIntensityShadows=1.000000,FilmGrainIntensityMidtones=1.000000,FilmGrainIntensityHighlights=1.000000,FilmGrainShadowsMax=0.090000,FilmGrainHighlightsMin=0.500000,FilmGrainHighlightsMax=1.000000,FilmGrainTexelSize=1.000000,FilmGrainTexture=None,AmbientOcclusionIntensity=0.500000,AmbientOcclusionStaticFraction=1.000000,AmbientOcclusionRadius=200.000000,AmbientOcclusionRadiusInWS=False,AmbientOcclusionFadeDistance=8000.000000,AmbientOcclusionFadeRadius=5000.000000,AmbientOcclusionPower=2.000000,AmbientOcclusionBias=3.000000,AmbientOcclusionQuality=50.000000,AmbientOcclusionMipBlend=0.600000,AmbientOcclusionMipScale=1.700000,AmbientOcclusionMipThreshold=0.010000,AmbientOcclusionTemporalBlendWeight=0.100000,RayTracingAO=False,RayTracingAOSamplesPerPixel=1,RayTracingAOIntensity=1.000000,RayTracingAORadius=200.000000,ColorGradingIntensity=1.000000,ColorGradingLUT=None,DepthOfFieldSensorWidth=24.576000,DepthOfFieldSqueezeFactor=1.000000,DepthOfFieldFocalDistance=0.000000,DepthOfFieldDepthBlurAmount=1.000000,DepthOfFieldDepthBlurRadius=0.000000,DepthOfFieldUseHairDepth=False,DepthOfFieldFocalRegion=0.000000,DepthOfFieldNearTransitionRegion=300.000000,DepthOfFieldFarTransitionRegion=500.000000,DepthOfFieldScale=0.000000,DepthOfFieldNearBlurSize=15.000000,DepthOfFieldFarBlurSize=15.000000,DepthOfFieldOcclusion=0.400000,DepthOfFieldSkyFocusDistance=0.000000,DepthOfFieldVignetteSize=200.000000,MotionBlurAmount=0.500000,MotionBlurMax=5.000000,MotionBlurTargetFPS=30,MotionBlurPerObjectSize=0.000000,TranslucencyType=Raster,RayTracingTranslucencyMaxRoughness=0.600000,RayTracingTranslucencyRefractionRays=3,RayTracingTranslucencySamplesPerPixel=1,RayTracingTranslucencyShadows=Hard_shadows,RayTracingTranslucencyRefraction=True,PathTracingMaxBounces=32,PathTracingSamplesPerPixel=2048,PathTracingMaxPathIntensity=24.000000,PathTracingEnableEmissiveMaterials=True,PathTracingEnableReferenceDOF=False,PathTracingEnableReferenceAtmosphere=False,PathTracingEnableDenoiser=True,PathTracingIncludeEmissive=True,PathTracingIncludeDiffuse=True,PathTracingIncludeIndirectDiffuse=True,PathTracingIncludeSpecular=True,PathTracingIncludeIndirectSpecular=True,PathTracingIncludeVolume=True,PathTracingIncludeIndirectVolume=True,UserFlags=0,WeightedBlendables=(Array=)),LightingRigRotation=0.000000,RotationSpeed=2.000000,DirectionalLightRotation=(Pitch=-40.000000,Yaw=-67.500000,Roll=0.000000),bEnableToneMapping=True,bShowMeshEdges=False) ++Profiles=(ProfileName="Grey Wireframe",bSharedProfile=True,bIsEngineDefaultProfile=True,bUseSkyLighting=True,DirectionalLightIntensity=1.000000,DirectionalLightColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),SkyLightIntensity=1.000000,bRotateLightingRig=False,bShowEnvironment=False,bShowFloor=False,bShowGrid=True,EnvironmentColor=(R=0.039216,G=0.039216,B=0.039216,A=1.000000),EnvironmentIntensity=1.000000,EnvironmentCubeMapPath="/Engine/EditorMaterials/AssetViewer/EpicQuadPanorama_CC+EV1.EpicQuadPanorama_CC+EV1",bPostProcessingEnabled=False,PostProcessingSettings=(bOverride_TemperatureType=False,bOverride_WhiteTemp=False,bOverride_WhiteTint=False,bOverride_ColorSaturation=False,bOverride_ColorContrast=False,bOverride_ColorGamma=False,bOverride_ColorGain=False,bOverride_ColorOffset=False,bOverride_ColorSaturationShadows=False,bOverride_ColorContrastShadows=False,bOverride_ColorGammaShadows=False,bOverride_ColorGainShadows=False,bOverride_ColorOffsetShadows=False,bOverride_ColorSaturationMidtones=False,bOverride_ColorContrastMidtones=False,bOverride_ColorGammaMidtones=False,bOverride_ColorGainMidtones=False,bOverride_ColorOffsetMidtones=False,bOverride_ColorSaturationHighlights=False,bOverride_ColorContrastHighlights=False,bOverride_ColorGammaHighlights=False,bOverride_ColorGainHighlights=False,bOverride_ColorOffsetHighlights=False,bOverride_ColorCorrectionShadowsMax=False,bOverride_ColorCorrectionHighlightsMin=False,bOverride_ColorCorrectionHighlightsMax=False,bOverride_BlueCorrection=False,bOverride_ExpandGamut=False,bOverride_ToneCurveAmount=False,bOverride_FilmSlope=False,bOverride_FilmToe=False,bOverride_FilmShoulder=False,bOverride_FilmBlackClip=False,bOverride_FilmWhiteClip=False,bOverride_SceneColorTint=False,bOverride_SceneFringeIntensity=False,bOverride_ChromaticAberrationStartOffset=False,bOverride_bMegaLights=False,bOverride_AmbientCubemapTint=False,bOverride_AmbientCubemapIntensity=False,bOverride_BloomMethod=False,bOverride_BloomIntensity=False,bOverride_BloomThreshold=False,bOverride_Bloom1Tint=False,bOverride_Bloom1Size=False,bOverride_Bloom2Size=False,bOverride_Bloom2Tint=False,bOverride_Bloom3Tint=False,bOverride_Bloom3Size=False,bOverride_Bloom4Tint=False,bOverride_Bloom4Size=False,bOverride_Bloom5Tint=False,bOverride_Bloom5Size=False,bOverride_Bloom6Tint=False,bOverride_Bloom6Size=False,bOverride_BloomSizeScale=False,bOverride_BloomConvolutionTexture=False,bOverride_BloomConvolutionScatterDispersion=False,bOverride_BloomConvolutionSize=False,bOverride_BloomConvolutionCenterUV=False,bOverride_BloomConvolutionPreFilterMin=False,bOverride_BloomConvolutionPreFilterMax=False,bOverride_BloomConvolutionPreFilterMult=False,bOverride_BloomConvolutionBufferScale=False,bOverride_BloomDirtMaskIntensity=False,bOverride_BloomDirtMaskTint=False,bOverride_BloomDirtMask=False,bOverride_CameraShutterSpeed=False,bOverride_CameraISO=False,bOverride_AutoExposureMethod=False,bOverride_AutoExposureLowPercent=False,bOverride_AutoExposureHighPercent=False,bOverride_AutoExposureMinBrightness=False,bOverride_AutoExposureMaxBrightness=False,bOverride_AutoExposureSpeedUp=False,bOverride_AutoExposureSpeedDown=False,bOverride_AutoExposureBias=False,bOverride_AutoExposureBiasCurve=False,bOverride_AutoExposureMeterMask=False,bOverride_AutoExposureApplyPhysicalCameraExposure=False,bOverride_HistogramLogMin=False,bOverride_HistogramLogMax=False,bOverride_LocalExposureMethod=False,bOverride_LocalExposureHighlightContrastScale=False,bOverride_LocalExposureShadowContrastScale=False,bOverride_LocalExposureHighlightContrastCurve=False,bOverride_LocalExposureShadowContrastCurve=False,bOverride_LocalExposureHighlightThreshold=False,bOverride_LocalExposureShadowThreshold=False,bOverride_LocalExposureDetailStrength=False,bOverride_LocalExposureBlurredLuminanceBlend=False,bOverride_LocalExposureBlurredLuminanceKernelSizePercent=False,bOverride_LocalExposureMiddleGreyBias=False,bOverride_LensFlareIntensity=False,bOverride_LensFlareTint=False,bOverride_LensFlareTints=False,bOverride_LensFlareBokehSize=False,bOverride_LensFlareBokehShape=False,bOverride_LensFlareThreshold=False,bOverride_VignetteIntensity=False,bOverride_Sharpen=False,bOverride_FilmGrainIntensity=False,bOverride_FilmGrainIntensityShadows=False,bOverride_FilmGrainIntensityMidtones=False,bOverride_FilmGrainIntensityHighlights=False,bOverride_FilmGrainShadowsMax=False,bOverride_FilmGrainHighlightsMin=False,bOverride_FilmGrainHighlightsMax=False,bOverride_FilmGrainTexelSize=False,bOverride_FilmGrainTexture=False,bOverride_AmbientOcclusionIntensity=False,bOverride_AmbientOcclusionStaticFraction=False,bOverride_AmbientOcclusionRadius=False,bOverride_AmbientOcclusionFadeDistance=False,bOverride_AmbientOcclusionFadeRadius=False,bOverride_AmbientOcclusionRadiusInWS=False,bOverride_AmbientOcclusionPower=False,bOverride_AmbientOcclusionBias=False,bOverride_AmbientOcclusionQuality=False,bOverride_AmbientOcclusionMipBlend=False,bOverride_AmbientOcclusionMipScale=False,bOverride_AmbientOcclusionMipThreshold=False,bOverride_AmbientOcclusionTemporalBlendWeight=False,bOverride_RayTracingAO=False,bOverride_RayTracingAOSamplesPerPixel=False,bOverride_RayTracingAOIntensity=False,bOverride_RayTracingAORadius=False,bOverride_IndirectLightingColor=False,bOverride_IndirectLightingIntensity=False,bOverride_ColorGradingIntensity=False,bOverride_ColorGradingLUT=False,bOverride_DepthOfFieldFocalDistance=False,bOverride_DepthOfFieldFstop=False,bOverride_DepthOfFieldMinFstop=False,bOverride_DepthOfFieldBladeCount=False,bOverride_DepthOfFieldSensorWidth=False,bOverride_DepthOfFieldSqueezeFactor=False,bOverride_DepthOfFieldDepthBlurRadius=False,bOverride_DepthOfFieldUseHairDepth=False,bOverride_DepthOfFieldDepthBlurAmount=False,bOverride_DepthOfFieldFocalRegion=False,bOverride_DepthOfFieldNearTransitionRegion=False,bOverride_DepthOfFieldFarTransitionRegion=False,bOverride_DepthOfFieldScale=False,bOverride_DepthOfFieldNearBlurSize=False,bOverride_DepthOfFieldFarBlurSize=False,bOverride_MobileHQGaussian=False,bOverride_DepthOfFieldOcclusion=False,bOverride_DepthOfFieldSkyFocusDistance=False,bOverride_DepthOfFieldVignetteSize=False,bOverride_MotionBlurAmount=False,bOverride_MotionBlurMax=False,bOverride_MotionBlurTargetFPS=False,bOverride_MotionBlurPerObjectSize=False,bOverride_ReflectionMethod=False,bOverride_LumenReflectionQuality=False,bOverride_ScreenSpaceReflectionIntensity=False,bOverride_ScreenSpaceReflectionQuality=False,bOverride_ScreenSpaceReflectionMaxRoughness=False,bOverride_ScreenSpaceReflectionRoughnessScale=False,bOverride_UserFlags=False,bOverride_RayTracingReflectionsMaxRoughness=False,bOverride_RayTracingReflectionsMaxBounces=False,bOverride_RayTracingReflectionsSamplesPerPixel=False,bOverride_RayTracingReflectionsShadows=False,bOverride_RayTracingReflectionsTranslucency=False,bOverride_TranslucencyType=False,bOverride_RayTracingTranslucencyMaxRoughness=False,bOverride_RayTracingTranslucencyRefractionRays=False,bOverride_RayTracingTranslucencySamplesPerPixel=False,bOverride_RayTracingTranslucencyShadows=False,bOverride_RayTracingTranslucencyRefraction=False,bOverride_DynamicGlobalIlluminationMethod=False,bOverride_LumenSceneLightingQuality=False,bOverride_LumenSceneDetail=False,bOverride_LumenSceneViewDistance=False,bOverride_LumenSceneLightingUpdateSpeed=False,bOverride_LumenFinalGatherQuality=False,bOverride_LumenFinalGatherLightingUpdateSpeed=False,bOverride_LumenFinalGatherScreenTraces=False,bOverride_LumenMaxTraceDistance=False,bOverride_LumenDiffuseColorBoost=False,bOverride_LumenSkylightLeaking=False,bOverride_LumenFullSkylightLeakingDistance=False,bOverride_LumenRayLightingMode=False,bOverride_LumenReflectionsScreenTraces=False,bOverride_LumenFrontLayerTranslucencyReflections=False,bOverride_LumenMaxRoughnessToTraceReflections=False,bOverride_LumenMaxReflectionBounces=False,bOverride_LumenMaxRefractionBounces=False,bOverride_LumenSurfaceCacheResolution=False,bOverride_RayTracingGI=False,bOverride_RayTracingGIMaxBounces=False,bOverride_RayTracingGISamplesPerPixel=False,bOverride_PathTracingMaxBounces=False,bOverride_PathTracingSamplesPerPixel=False,bOverride_PathTracingMaxPathIntensity=False,bOverride_PathTracingEnableEmissiveMaterials=False,bOverride_PathTracingEnableReferenceDOF=False,bOverride_PathTracingEnableReferenceAtmosphere=False,bOverride_PathTracingEnableDenoiser=False,bOverride_PathTracingIncludeEmissive=False,bOverride_PathTracingIncludeDiffuse=False,bOverride_PathTracingIncludeIndirectDiffuse=False,bOverride_PathTracingIncludeSpecular=False,bOverride_PathTracingIncludeIndirectSpecular=False,bOverride_PathTracingIncludeVolume=False,bOverride_PathTracingIncludeIndirectVolume=False,bMobileHQGaussian=False,BloomMethod=BM_SOG,AutoExposureMethod=AEM_Histogram,TemperatureType=TEMP_WhiteBalance,WhiteTemp=6500.000000,WhiteTint=0.000000,ColorSaturation=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrast=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGamma=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGain=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffset=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorSaturationShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrastShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGammaShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGainShadows=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffsetShadows=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorSaturationMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrastMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGammaMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGainMidtones=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffsetMidtones=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorSaturationHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorContrastHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGammaHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorGainHighlights=(X=1.000000,Y=1.000000,Z=1.000000,W=1.000000),ColorOffsetHighlights=(X=0.000000,Y=0.000000,Z=0.000000,W=0.000000),ColorCorrectionHighlightsMin=0.500000,ColorCorrectionHighlightsMax=1.000000,ColorCorrectionShadowsMax=0.090000,BlueCorrection=0.600000,ExpandGamut=1.000000,ToneCurveAmount=1.000000,FilmSlope=0.880000,FilmToe=0.550000,FilmShoulder=0.260000,FilmBlackClip=0.000000,FilmWhiteClip=0.040000,SceneColorTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),SceneFringeIntensity=0.000000,ChromaticAberrationStartOffset=0.000000,BloomIntensity=0.675000,BloomThreshold=-1.000000,BloomSizeScale=4.000000,Bloom1Size=0.300000,Bloom2Size=1.000000,Bloom3Size=2.000000,Bloom4Size=10.000000,Bloom5Size=30.000000,Bloom6Size=64.000000,Bloom1Tint=(R=0.346500,G=0.346500,B=0.346500,A=1.000000),Bloom2Tint=(R=0.138000,G=0.138000,B=0.138000,A=1.000000),Bloom3Tint=(R=0.117600,G=0.117600,B=0.117600,A=1.000000),Bloom4Tint=(R=0.066000,G=0.066000,B=0.066000,A=1.000000),Bloom5Tint=(R=0.066000,G=0.066000,B=0.066000,A=1.000000),Bloom6Tint=(R=0.061000,G=0.061000,B=0.061000,A=1.000000),BloomConvolutionScatterDispersion=1.000000,BloomConvolutionSize=1.000000,BloomConvolutionTexture=None,BloomConvolutionCenterUV=(X=0.500000,Y=0.500000),BloomConvolutionPreFilterMin=7.000000,BloomConvolutionPreFilterMax=15000.000000,BloomConvolutionPreFilterMult=15.000000,BloomConvolutionBufferScale=0.133000,BloomDirtMask=None,BloomDirtMaskIntensity=0.000000,BloomDirtMaskTint=(R=0.500000,G=0.500000,B=0.500000,A=1.000000),DynamicGlobalIlluminationMethod=Lumen,IndirectLightingColor=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),IndirectLightingIntensity=1.000000,LumenRayLightingMode=Default,LumenSceneLightingQuality=1.000000,LumenSceneDetail=1.000000,LumenSceneViewDistance=20000.000000,LumenSceneLightingUpdateSpeed=1.000000,LumenFinalGatherQuality=1.000000,LumenFinalGatherLightingUpdateSpeed=1.000000,LumenFinalGatherScreenTraces=True,LumenMaxTraceDistance=20000.000000,LumenDiffuseColorBoost=1.000000,LumenSkylightLeaking=0.000000,LumenFullSkylightLeakingDistance=1000.000000,LumenSurfaceCacheResolution=1.000000,ReflectionMethod=Lumen,LumenReflectionQuality=1.000000,LumenReflectionsScreenTraces=True,LumenFrontLayerTranslucencyReflections=False,LumenMaxRoughnessToTraceReflections=0.400000,LumenMaxReflectionBounces=1,LumenMaxRefractionBounces=0,ScreenSpaceReflectionIntensity=100.000000,ScreenSpaceReflectionQuality=50.000000,ScreenSpaceReflectionMaxRoughness=0.600000,bMegaLights=True,AmbientCubemapTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),AmbientCubemapIntensity=1.000000,AmbientCubemap=None,CameraShutterSpeed=60.000000,CameraISO=100.000000,DepthOfFieldFstop=4.000000,DepthOfFieldMinFstop=1.200000,DepthOfFieldBladeCount=5,AutoExposureBias=1.000000,AutoExposureBiasBackup=0.000000,bOverride_AutoExposureBiasBackup=False,AutoExposureApplyPhysicalCameraExposure=True,AutoExposureBiasCurve=None,AutoExposureMeterMask=None,AutoExposureLowPercent=10.000000,AutoExposureHighPercent=90.000000,AutoExposureMinBrightness=-10.000000,AutoExposureMaxBrightness=20.000000,AutoExposureSpeedUp=3.000000,AutoExposureSpeedDown=1.000000,HistogramLogMin=-10.000000,HistogramLogMax=20.000000,LocalExposureMethod=Bilateral,LocalExposureHighlightContrastScale=1.000000,LocalExposureShadowContrastScale=1.000000,LocalExposureHighlightContrastCurve=None,LocalExposureShadowContrastCurve=None,LocalExposureHighlightThreshold=0.000000,LocalExposureShadowThreshold=0.000000,LocalExposureDetailStrength=1.000000,LocalExposureBlurredLuminanceBlend=0.600000,LocalExposureBlurredLuminanceKernelSizePercent=50.000000,LocalExposureMiddleGreyBias=0.000000,LensFlareIntensity=1.000000,LensFlareTint=(R=1.000000,G=1.000000,B=1.000000,A=1.000000),LensFlareBokehSize=3.000000,LensFlareThreshold=8.000000,LensFlareBokehShape=None,LensFlareTints[0]=(R=1.000000,G=0.800000,B=0.400000,A=0.600000),LensFlareTints[1]=(R=1.000000,G=1.000000,B=0.600000,A=0.530000),LensFlareTints[2]=(R=0.800000,G=0.800000,B=1.000000,A=0.460000),LensFlareTints[3]=(R=0.500000,G=1.000000,B=0.400000,A=0.390000),LensFlareTints[4]=(R=0.500000,G=0.800000,B=1.000000,A=0.310000),LensFlareTints[5]=(R=0.900000,G=1.000000,B=0.800000,A=0.270000),LensFlareTints[6]=(R=1.000000,G=0.800000,B=0.400000,A=0.220000),LensFlareTints[7]=(R=0.900000,G=0.700000,B=0.700000,A=0.150000),VignetteIntensity=0.400000,Sharpen=0.000000,FilmGrainIntensity=0.000000,FilmGrainIntensityShadows=1.000000,FilmGrainIntensityMidtones=1.000000,FilmGrainIntensityHighlights=1.000000,FilmGrainShadowsMax=0.090000,FilmGrainHighlightsMin=0.500000,FilmGrainHighlightsMax=1.000000,FilmGrainTexelSize=1.000000,FilmGrainTexture=None,AmbientOcclusionIntensity=0.500000,AmbientOcclusionStaticFraction=1.000000,AmbientOcclusionRadius=200.000000,AmbientOcclusionRadiusInWS=False,AmbientOcclusionFadeDistance=8000.000000,AmbientOcclusionFadeRadius=5000.000000,AmbientOcclusionPower=2.000000,AmbientOcclusionBias=3.000000,AmbientOcclusionQuality=50.000000,AmbientOcclusionMipBlend=0.600000,AmbientOcclusionMipScale=1.700000,AmbientOcclusionMipThreshold=0.010000,AmbientOcclusionTemporalBlendWeight=0.100000,RayTracingAO=False,RayTracingAOSamplesPerPixel=1,RayTracingAOIntensity=1.000000,RayTracingAORadius=200.000000,ColorGradingIntensity=1.000000,ColorGradingLUT=None,DepthOfFieldSensorWidth=24.576000,DepthOfFieldSqueezeFactor=1.000000,DepthOfFieldFocalDistance=0.000000,DepthOfFieldDepthBlurAmount=1.000000,DepthOfFieldDepthBlurRadius=0.000000,DepthOfFieldUseHairDepth=False,DepthOfFieldFocalRegion=0.000000,DepthOfFieldNearTransitionRegion=300.000000,DepthOfFieldFarTransitionRegion=500.000000,DepthOfFieldScale=0.000000,DepthOfFieldNearBlurSize=15.000000,DepthOfFieldFarBlurSize=15.000000,DepthOfFieldOcclusion=0.400000,DepthOfFieldSkyFocusDistance=0.000000,DepthOfFieldVignetteSize=200.000000,MotionBlurAmount=0.500000,MotionBlurMax=5.000000,MotionBlurTargetFPS=30,MotionBlurPerObjectSize=0.000000,TranslucencyType=Raster,RayTracingTranslucencyMaxRoughness=0.600000,RayTracingTranslucencyRefractionRays=3,RayTracingTranslucencySamplesPerPixel=1,RayTracingTranslucencyShadows=Hard_shadows,RayTracingTranslucencyRefraction=True,PathTracingMaxBounces=32,PathTracingSamplesPerPixel=2048,PathTracingMaxPathIntensity=24.000000,PathTracingEnableEmissiveMaterials=True,PathTracingEnableReferenceDOF=False,PathTracingEnableReferenceAtmosphere=False,PathTracingEnableDenoiser=True,PathTracingIncludeEmissive=True,PathTracingIncludeDiffuse=True,PathTracingIncludeIndirectDiffuse=True,PathTracingIncludeSpecular=True,PathTracingIncludeIndirectSpecular=True,PathTracingIncludeVolume=True,PathTracingIncludeIndirectVolume=True,UserFlags=0,WeightedBlendables=(Array=)),LightingRigRotation=0.000000,RotationSpeed=2.000000,DirectionalLightRotation=(Pitch=-40.000000,Yaw=-67.500000,Roll=0.000000),bEnableToneMapping=False,bShowMeshEdges=True) + diff --git a/Config/DefaultEditorPerProjectUserSettings.ini b/Config/DefaultEditorPerProjectUserSettings.ini new file mode 100644 index 0000000..220a551 --- /dev/null +++ b/Config/DefaultEditorPerProjectUserSettings.ini @@ -0,0 +1,2 @@ +[ContentBrowser] +ContentBrowserTab1.SelectedPaths=/Game/FirstPerson \ No newline at end of file diff --git a/Config/DefaultEngine.ini b/Config/DefaultEngine.ini new file mode 100644 index 0000000..20b38fd --- /dev/null +++ b/Config/DefaultEngine.ini @@ -0,0 +1,104 @@ +[DevOptions.Shaders] +DirectoriesToWatch=/BladeSmith/Shaders + +[/Script/Engine.CollisionProfile] ++Profiles=(Name="Projectile",CollisionEnabled=QueryOnly,ObjectTypeName="Projectile",CustomResponses=,HelpMessage="Preset for projectiles",bCanModify=True) ++DefaultChannelResponses=(Channel=ECC_GameTraceChannel1,Name="Projectile",DefaultResponse=ECR_Block,bTraceType=False,bStaticObject=False) ++EditProfiles=(Name="Trigger",CustomResponses=((Channel=Projectile, Response=ECR_Ignore))) + +[/Script/EngineSettings.GameMapsSettings] +EditorStartupMap=/Game/FirstPerson/Maps/FirstPersonMap.FirstPersonMap +LocalMapOptions= +TransitionMap= +bUseSplitscreen=True +TwoPlayerSplitscreenLayout=Horizontal +ThreePlayerSplitscreenLayout=FavorTop +GameInstanceClass=/Script/Engine.GameInstance +GameDefaultMap=/Game/FirstPerson/Maps/FirstPersonMap.FirstPersonMap +ServerDefaultMap=/Engine/Maps/Entry +GlobalDefaultGameMode=/Game/FirstPerson/Blueprints/BP_FirstPersonGameMode.BP_FirstPersonGameMode_C +GlobalDefaultServerGameMode=None + +[/Script/Engine.RendererSettings] +r.ReflectionMethod=1 +r.GenerateMeshDistanceFields=True +r.DynamicGlobalIlluminationMethod=1 +r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=True +r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=true +r.AllowStaticLighting=False + + +r.SkinCache.CompileShaders=True + +r.RayTracing=True + +r.Shadow.Virtual.Enable=1 + +r.DefaultFeature.LocalExposure.HighlightContrastScale=0.8 + +r.DefaultFeature.LocalExposure.ShadowContrastScale=0.8 + +[/Script/WindowsTargetPlatform.WindowsTargetSettings] +DefaultGraphicsRHI=DefaultGraphicsRHI_DX12 +DefaultGraphicsRHI=DefaultGraphicsRHI_DX12 +-D3D12TargetedShaderFormats=PCD3D_SM5 ++D3D12TargetedShaderFormats=PCD3D_SM6 +-D3D11TargetedShaderFormats=PCD3D_SM5 ++D3D11TargetedShaderFormats=PCD3D_SM5 +Compiler=Default +AudioSampleRate=48000 +AudioCallbackBufferFrameSize=1024 +AudioNumBuffersToEnqueue=1 +AudioMaxChannels=0 +AudioNumSourceWorkers=4 +SpatializationPlugin= +SourceDataOverridePlugin= +ReverbPlugin= +OcclusionPlugin= +CompressionOverrides=(bOverrideCompressionTimes=False,DurationThreshold=5.000000,MaxNumRandomBranches=0,SoundCueQualityIndex=0) +CacheSizeKB=65536 +MaxChunkSizeOverrideKB=0 +bResampleForDevice=False +MaxSampleRate=48000.000000 +HighSampleRate=32000.000000 +MedSampleRate=24000.000000 +LowSampleRate=12000.000000 +MinSampleRate=8000.000000 +CompressionQualityModifier=1.000000 +AutoStreamingThreshold=0.000000 +SoundCueCookQualityIndex=-1 + +[/Script/LinuxTargetPlatform.LinuxTargetSettings] +-TargetedRHIs=SF_VULKAN_SM5 ++TargetedRHIs=SF_VULKAN_SM6 + +[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings] +bEnablePlugin=True +bAllowNetworkConnection=True +SecurityToken=7B0AA718435214EB1E253DACC60399C4 +bIncludeInShipping=False +bAllowExternalStartInShipping=False +bCompileAFSProject=False +bUseCompression=False +bLogFiles=False +bReportStats=False +ConnectionType=USBOnly +bUseManualIPAddress=False +ManualIPAddress= + + +[/Script/HardwareTargeting.HardwareTargetingSettings] +TargetedHardwareClass=Desktop +AppliedTargetedHardwareClass=Desktop +DefaultGraphicsPerformance=Maximum +AppliedDefaultGraphicsPerformance=Maximum + +[/Script/Engine.Engine] ++ActiveGameNameRedirects=(OldGameName="TP_FirstPerson",NewGameName="/Script/BladeSmith") ++ActiveGameNameRedirects=(OldGameName="/Script/TP_FirstPerson",NewGameName="/Script/BladeSmith") ++ActiveClassRedirects=(OldClassName="TP_FirstPersonWeaponComponent",NewClassName="BladeSmithWeaponComponent") ++ActiveClassRedirects=(OldClassName="TP_FirstPersonProjectile",NewClassName="BladeSmithProjectile") ++ActiveClassRedirects=(OldClassName="TP_FirstPersonPickUpComponent",NewClassName="BladeSmithPickUpComponent") ++ActiveClassRedirects=(OldClassName="TP_FirstPersonGameMode",NewClassName="BladeSmithGameMode") ++ActiveClassRedirects=(OldClassName="TP_FirstPersonCharacter",NewClassName="BladeSmithCharacter") + diff --git a/Config/DefaultGame.ini b/Config/DefaultGame.ini new file mode 100644 index 0000000..35a8f43 --- /dev/null +++ b/Config/DefaultGame.ini @@ -0,0 +1,13 @@ +[ProjectSettings] +ProjectID=(A=1823396784,B=1298598689,C=1743498150,D=-2048051708) +ProjectName=First Person Template + +[/Script/EngineSettings.GeneralProjectSettings] +ProjectID=C83E956449141B36672C24AFE972FE8E + +[StartupActions] +bAddPacks=True +InsertPack=(PackSource="StarterContent.upack",PackName="StarterContent") + +[SectionsToSave] ++Section=StartupActions diff --git a/Config/DefaultInput.ini b/Config/DefaultInput.ini new file mode 100644 index 0000000..0d0b0e5 --- /dev/null +++ b/Config/DefaultInput.ini @@ -0,0 +1,109 @@ +[/Script/Engine.InputSettings] +-AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f)) +-AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f)) +-AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f)) +-AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.25,Exponent=1.f,Sensitivity=1.f)) +-AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f)) +-AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f)) +-AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.f,Exponent=1.f,Sensitivity=0.07f)) ++AxisConfig=(AxisKeyName="Mouse2D",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_LeftX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_LeftY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_RightX",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_RightY",AxisProperties=(DeadZone=0.250000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MouseX",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MouseY",AxisProperties=(DeadZone=0.000000,Sensitivity=0.070000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MouseWheelAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_LeftTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_RightTriggerAxis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_Special_Left_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Gamepad_Special_Left_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Vive_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Vive_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Vive_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Vive_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Vive_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="Vive_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="MixedReality_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Left_Trackpad_Touch",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Grip_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Trigger_Axis",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Thumbstick_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_X",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Y",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="ValveIndex_Right_Trackpad_Force",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_Thumbstick",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_FaceButton1",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_Trigger",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_FaceButton2",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_IndexPointing",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_ThumbUp",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Left_ThumbRest",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_Thumbstick",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_FaceButton1",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_Trigger",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_FaceButton2",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_IndexPointing",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_ThumbUp",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusTouch_Right_ThumbRest",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Left_ThumbPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Left_IndexPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Left_MiddlePinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Left_RingPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Left_PinkPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Right_ThumbPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Right_IndexPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Right_MiddlePinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Right_RingPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) ++AxisConfig=(AxisKeyName="OculusHand_Right_PinkPinchStrength",AxisProperties=(DeadZone=0.000000,Sensitivity=1.000000,Exponent=1.000000,bInvert=False)) +bAltEnterTogglesFullscreen=True +bF11TogglesFullscreen=True +bUseMouseForTouch=False +bEnableMouseSmoothing=True +bEnableFOVScaling=True +bCaptureMouseOnLaunch=True +bEnableLegacyInputScales=True +bEnableMotionControls=True +bFilterInputByPlatformUser=False +bShouldFlushPressedKeysOnViewportFocusLost=True +bAlwaysShowTouchInterface=False +bShowConsoleOnFourFingerTap=True +bEnableGestureRecognizer=False +bUseAutocorrect=False +DefaultViewportMouseCaptureMode=CapturePermanently_IncludingInitialMouseDown +DefaultViewportMouseLockMode=LockOnCapture +FOVScale=0.011110 +DoubleClickTime=0.200000 +DefaultPlayerInputClass=/Script/EnhancedInput.EnhancedPlayerInput +DefaultInputComponentClass=/Script/EnhancedInput.EnhancedInputComponent +DefaultTouchInterface=/Game/FirstPerson/Input/MobileControls.MobileControls +-ConsoleKeys=Tilde ++ConsoleKeys=Tilde + diff --git a/Content/FPWeapon/Audio/FirstPersonTemplateWeaponFire02.uasset b/Content/FPWeapon/Audio/FirstPersonTemplateWeaponFire02.uasset new file mode 100644 index 0000000..fc187ea Binary files /dev/null and b/Content/FPWeapon/Audio/FirstPersonTemplateWeaponFire02.uasset differ diff --git a/Content/FPWeapon/Materials/BaseMaterial.uasset b/Content/FPWeapon/Materials/BaseMaterial.uasset new file mode 100644 index 0000000..a6f834c Binary files /dev/null and b/Content/FPWeapon/Materials/BaseMaterial.uasset differ diff --git a/Content/FPWeapon/Materials/FirstPersonProjectileMaterial.uasset b/Content/FPWeapon/Materials/FirstPersonProjectileMaterial.uasset new file mode 100644 index 0000000..8efce7e Binary files /dev/null and b/Content/FPWeapon/Materials/FirstPersonProjectileMaterial.uasset differ diff --git a/Content/FPWeapon/Materials/M_FPGun.uasset b/Content/FPWeapon/Materials/M_FPGun.uasset new file mode 100644 index 0000000..5595aa7 Binary files /dev/null and b/Content/FPWeapon/Materials/M_FPGun.uasset differ diff --git a/Content/FPWeapon/Materials/M_FPPistol.uasset b/Content/FPWeapon/Materials/M_FPPistol.uasset new file mode 100644 index 0000000..71ebba3 Binary files /dev/null and b/Content/FPWeapon/Materials/M_FPPistol.uasset differ diff --git a/Content/FPWeapon/Materials/MaterialLayers/ML_GlossyBlack_Latex_UE4.uasset b/Content/FPWeapon/Materials/MaterialLayers/ML_GlossyBlack_Latex_UE4.uasset new file mode 100644 index 0000000..c6436a2 Binary files /dev/null and b/Content/FPWeapon/Materials/MaterialLayers/ML_GlossyBlack_Latex_UE4.uasset differ diff --git a/Content/FPWeapon/Materials/MaterialLayers/ML_Plastic_Shiny_Beige.uasset b/Content/FPWeapon/Materials/MaterialLayers/ML_Plastic_Shiny_Beige.uasset new file mode 100644 index 0000000..c3124ee Binary files /dev/null and b/Content/FPWeapon/Materials/MaterialLayers/ML_Plastic_Shiny_Beige.uasset differ diff --git a/Content/FPWeapon/Materials/MaterialLayers/ML_Screen.uasset b/Content/FPWeapon/Materials/MaterialLayers/ML_Screen.uasset new file mode 100644 index 0000000..a93197f Binary files /dev/null and b/Content/FPWeapon/Materials/MaterialLayers/ML_Screen.uasset differ diff --git a/Content/FPWeapon/Materials/MaterialLayers/ML_SoftMetal_UE4.uasset b/Content/FPWeapon/Materials/MaterialLayers/ML_SoftMetal_UE4.uasset new file mode 100644 index 0000000..1fbfe3e Binary files /dev/null and b/Content/FPWeapon/Materials/MaterialLayers/ML_SoftMetal_UE4.uasset differ diff --git a/Content/FPWeapon/Materials/MaterialLayers/T_ML_Aluminum01.uasset b/Content/FPWeapon/Materials/MaterialLayers/T_ML_Aluminum01.uasset new file mode 100644 index 0000000..abb5c8f Binary files /dev/null and b/Content/FPWeapon/Materials/MaterialLayers/T_ML_Aluminum01.uasset differ diff --git a/Content/FPWeapon/Materials/MaterialLayers/T_ML_Aluminum01_N.uasset b/Content/FPWeapon/Materials/MaterialLayers/T_ML_Aluminum01_N.uasset new file mode 100644 index 0000000..91bfa7b Binary files /dev/null and b/Content/FPWeapon/Materials/MaterialLayers/T_ML_Aluminum01_N.uasset differ diff --git a/Content/FPWeapon/Materials/MaterialLayers/T_ML_FineRubber.uasset b/Content/FPWeapon/Materials/MaterialLayers/T_ML_FineRubber.uasset new file mode 100644 index 0000000..809ab90 Binary files /dev/null and b/Content/FPWeapon/Materials/MaterialLayers/T_ML_FineRubber.uasset differ diff --git a/Content/FPWeapon/Materials/MaterialLayers/T_ML_Rubber_Blue_01_D.uasset b/Content/FPWeapon/Materials/MaterialLayers/T_ML_Rubber_Blue_01_D.uasset new file mode 100644 index 0000000..9003b8a Binary files /dev/null and b/Content/FPWeapon/Materials/MaterialLayers/T_ML_Rubber_Blue_01_D.uasset differ diff --git a/Content/FPWeapon/Materials/MaterialLayers/T_ML_Rubber_Blue_01_N.uasset b/Content/FPWeapon/Materials/MaterialLayers/T_ML_Rubber_Blue_01_N.uasset new file mode 100644 index 0000000..7b8f783 Binary files /dev/null and b/Content/FPWeapon/Materials/MaterialLayers/T_ML_Rubber_Blue_01_N.uasset differ diff --git a/Content/FPWeapon/Mesh/FirstPersonProjectileMesh.uasset b/Content/FPWeapon/Mesh/FirstPersonProjectileMesh.uasset new file mode 100644 index 0000000..2fd90d6 Binary files /dev/null and b/Content/FPWeapon/Mesh/FirstPersonProjectileMesh.uasset differ diff --git a/Content/FPWeapon/Mesh/SK_FPGun.uasset b/Content/FPWeapon/Mesh/SK_FPGun.uasset new file mode 100644 index 0000000..5355b9b Binary files /dev/null and b/Content/FPWeapon/Mesh/SK_FPGun.uasset differ diff --git a/Content/FPWeapon/Mesh/SK_FPGun_Physics.uasset b/Content/FPWeapon/Mesh/SK_FPGun_Physics.uasset new file mode 100644 index 0000000..a5c2ad8 Binary files /dev/null and b/Content/FPWeapon/Mesh/SK_FPGun_Physics.uasset differ diff --git a/Content/FPWeapon/Mesh/SK_FPGun_PhysicsAsset.uasset b/Content/FPWeapon/Mesh/SK_FPGun_PhysicsAsset.uasset new file mode 100644 index 0000000..45fe584 Binary files /dev/null and b/Content/FPWeapon/Mesh/SK_FPGun_PhysicsAsset.uasset differ diff --git a/Content/FPWeapon/Mesh/SK_FPGun_Skeleton.uasset b/Content/FPWeapon/Mesh/SK_FPGun_Skeleton.uasset new file mode 100644 index 0000000..74c94d5 Binary files /dev/null and b/Content/FPWeapon/Mesh/SK_FPGun_Skeleton.uasset differ diff --git a/Content/FPWeapon/Mesh/SM_Pistol.uasset b/Content/FPWeapon/Mesh/SM_Pistol.uasset new file mode 100644 index 0000000..8986b98 Binary files /dev/null and b/Content/FPWeapon/Mesh/SM_Pistol.uasset differ diff --git a/Content/FPWeapon/Textures/T_FPGun_M.uasset b/Content/FPWeapon/Textures/T_FPGun_M.uasset new file mode 100644 index 0000000..62349ed Binary files /dev/null and b/Content/FPWeapon/Textures/T_FPGun_M.uasset differ diff --git a/Content/FPWeapon/Textures/T_FPGun_N.uasset b/Content/FPWeapon/Textures/T_FPGun_N.uasset new file mode 100644 index 0000000..82db14c Binary files /dev/null and b/Content/FPWeapon/Textures/T_FPGun_N.uasset differ diff --git a/Content/FPWeapon/Textures/T_Pistol_Masks.uasset b/Content/FPWeapon/Textures/T_Pistol_Masks.uasset new file mode 100644 index 0000000..d124846 Binary files /dev/null and b/Content/FPWeapon/Textures/T_Pistol_Masks.uasset differ diff --git a/Content/FPWeapon/Textures/T_Pistol_N.uasset b/Content/FPWeapon/Textures/T_Pistol_N.uasset new file mode 100644 index 0000000..f07b5ea Binary files /dev/null and b/Content/FPWeapon/Textures/T_Pistol_N.uasset differ diff --git a/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset b/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset new file mode 100644 index 0000000..2f90c49 Binary files /dev/null and b/Content/FirstPerson/Blueprints/BP_FirstPersonCharacter.uasset differ diff --git a/Content/FirstPerson/Blueprints/BP_FirstPersonGameMode.uasset b/Content/FirstPerson/Blueprints/BP_FirstPersonGameMode.uasset new file mode 100644 index 0000000..bbac1f8 Binary files /dev/null and b/Content/FirstPerson/Blueprints/BP_FirstPersonGameMode.uasset differ diff --git a/Content/FirstPerson/Blueprints/BP_FirstPersonProjectile.uasset b/Content/FirstPerson/Blueprints/BP_FirstPersonProjectile.uasset new file mode 100644 index 0000000..a6ef71b Binary files /dev/null and b/Content/FirstPerson/Blueprints/BP_FirstPersonProjectile.uasset differ diff --git a/Content/FirstPerson/Blueprints/BP_IronBlock.uasset b/Content/FirstPerson/Blueprints/BP_IronBlock.uasset new file mode 100644 index 0000000..77aad8d Binary files /dev/null and b/Content/FirstPerson/Blueprints/BP_IronBlock.uasset differ diff --git a/Content/FirstPerson/Blueprints/BP_PickUp_Rifle.uasset b/Content/FirstPerson/Blueprints/BP_PickUp_Rifle.uasset new file mode 100644 index 0000000..aba823a Binary files /dev/null and b/Content/FirstPerson/Blueprints/BP_PickUp_Rifle.uasset differ diff --git a/Content/FirstPerson/Input/Actions/IA_ChangeCam.uasset b/Content/FirstPerson/Input/Actions/IA_ChangeCam.uasset new file mode 100644 index 0000000..7e1b23a Binary files /dev/null and b/Content/FirstPerson/Input/Actions/IA_ChangeCam.uasset differ diff --git a/Content/FirstPerson/Input/Actions/IA_Hammer.uasset b/Content/FirstPerson/Input/Actions/IA_Hammer.uasset new file mode 100644 index 0000000..c243ea1 Binary files /dev/null and b/Content/FirstPerson/Input/Actions/IA_Hammer.uasset differ diff --git a/Content/FirstPerson/Input/Actions/IA_Jump.uasset b/Content/FirstPerson/Input/Actions/IA_Jump.uasset new file mode 100644 index 0000000..9201295 Binary files /dev/null and b/Content/FirstPerson/Input/Actions/IA_Jump.uasset differ diff --git a/Content/FirstPerson/Input/Actions/IA_Look.uasset b/Content/FirstPerson/Input/Actions/IA_Look.uasset new file mode 100644 index 0000000..b6b818a Binary files /dev/null and b/Content/FirstPerson/Input/Actions/IA_Look.uasset differ diff --git a/Content/FirstPerson/Input/Actions/IA_Move.uasset b/Content/FirstPerson/Input/Actions/IA_Move.uasset new file mode 100644 index 0000000..51bd8d3 Binary files /dev/null and b/Content/FirstPerson/Input/Actions/IA_Move.uasset differ diff --git a/Content/FirstPerson/Input/Actions/IA_Shoot.uasset b/Content/FirstPerson/Input/Actions/IA_Shoot.uasset new file mode 100644 index 0000000..842a1ba Binary files /dev/null and b/Content/FirstPerson/Input/Actions/IA_Shoot.uasset differ diff --git a/Content/FirstPerson/Input/IMC_Default.uasset b/Content/FirstPerson/Input/IMC_Default.uasset new file mode 100644 index 0000000..99ca0e2 Binary files /dev/null and b/Content/FirstPerson/Input/IMC_Default.uasset differ diff --git a/Content/FirstPerson/Input/IMC_Weapons.uasset b/Content/FirstPerson/Input/IMC_Weapons.uasset new file mode 100644 index 0000000..bf34dab Binary files /dev/null and b/Content/FirstPerson/Input/IMC_Weapons.uasset differ diff --git a/Content/FirstPerson/Input/MobileControls.uasset b/Content/FirstPerson/Input/MobileControls.uasset new file mode 100644 index 0000000..1ec494b Binary files /dev/null and b/Content/FirstPerson/Input/MobileControls.uasset differ diff --git a/Content/FirstPerson/IronBlock.uasset b/Content/FirstPerson/IronBlock.uasset new file mode 100644 index 0000000..0ce45a3 Binary files /dev/null and b/Content/FirstPerson/IronBlock.uasset differ diff --git a/Content/FirstPerson/Maps/FirstPersonMap.umap b/Content/FirstPerson/Maps/FirstPersonMap.umap new file mode 100644 index 0000000..f9c99e9 Binary files /dev/null and b/Content/FirstPerson/Maps/FirstPersonMap.umap differ diff --git a/Content/FirstPerson/Maps/_GENERATED/starm/Box_55C221F2.uasset b/Content/FirstPerson/Maps/_GENERATED/starm/Box_55C221F2.uasset new file mode 100644 index 0000000..568834b Binary files /dev/null and b/Content/FirstPerson/Maps/_GENERATED/starm/Box_55C221F2.uasset differ diff --git a/Content/FirstPerson/Material.uasset b/Content/FirstPerson/Material.uasset new file mode 100644 index 0000000..05b61d5 Binary files /dev/null and b/Content/FirstPerson/Material.uasset differ diff --git a/Content/FirstPerson/NewMaterial.uasset b/Content/FirstPerson/NewMaterial.uasset new file mode 100644 index 0000000..fe99311 Binary files /dev/null and b/Content/FirstPerson/NewMaterial.uasset differ diff --git a/Content/FirstPerson/iron_displacement.uasset b/Content/FirstPerson/iron_displacement.uasset new file mode 100644 index 0000000..59fa0e8 Binary files /dev/null and b/Content/FirstPerson/iron_displacement.uasset differ diff --git a/Content/FirstPersonArms/Animations/FP_Falling.uasset b/Content/FirstPersonArms/Animations/FP_Falling.uasset new file mode 100644 index 0000000..e794510 Binary files /dev/null and b/Content/FirstPersonArms/Animations/FP_Falling.uasset differ diff --git a/Content/FirstPersonArms/Animations/FP_Idle.uasset b/Content/FirstPersonArms/Animations/FP_Idle.uasset new file mode 100644 index 0000000..019b8e7 Binary files /dev/null and b/Content/FirstPersonArms/Animations/FP_Idle.uasset differ diff --git a/Content/FirstPersonArms/Animations/FP_Jump.uasset b/Content/FirstPersonArms/Animations/FP_Jump.uasset new file mode 100644 index 0000000..11e7634 Binary files /dev/null and b/Content/FirstPersonArms/Animations/FP_Jump.uasset differ diff --git a/Content/FirstPersonArms/Animations/FP_Land.uasset b/Content/FirstPersonArms/Animations/FP_Land.uasset new file mode 100644 index 0000000..562be0a Binary files /dev/null and b/Content/FirstPersonArms/Animations/FP_Land.uasset differ diff --git a/Content/FirstPersonArms/Animations/FP_Rifle_Falling.uasset b/Content/FirstPersonArms/Animations/FP_Rifle_Falling.uasset new file mode 100644 index 0000000..0c33c78 Binary files /dev/null and b/Content/FirstPersonArms/Animations/FP_Rifle_Falling.uasset differ diff --git a/Content/FirstPersonArms/Animations/FP_Rifle_Fire.uasset b/Content/FirstPersonArms/Animations/FP_Rifle_Fire.uasset new file mode 100644 index 0000000..286d2c7 Binary files /dev/null and b/Content/FirstPersonArms/Animations/FP_Rifle_Fire.uasset differ diff --git a/Content/FirstPersonArms/Animations/FP_Rifle_Idle.uasset b/Content/FirstPersonArms/Animations/FP_Rifle_Idle.uasset new file mode 100644 index 0000000..46d80cf Binary files /dev/null and b/Content/FirstPersonArms/Animations/FP_Rifle_Idle.uasset differ diff --git a/Content/FirstPersonArms/Animations/FP_Rifle_Jump.uasset b/Content/FirstPersonArms/Animations/FP_Rifle_Jump.uasset new file mode 100644 index 0000000..6393742 Binary files /dev/null and b/Content/FirstPersonArms/Animations/FP_Rifle_Jump.uasset differ diff --git a/Content/FirstPersonArms/Animations/FP_Rifle_Land.uasset b/Content/FirstPersonArms/Animations/FP_Rifle_Land.uasset new file mode 100644 index 0000000..05ccc7d Binary files /dev/null and b/Content/FirstPersonArms/Animations/FP_Rifle_Land.uasset differ diff --git a/Content/FirstPersonArms/Animations/FP_Rifle_Run.uasset b/Content/FirstPersonArms/Animations/FP_Rifle_Run.uasset new file mode 100644 index 0000000..3bf7baf Binary files /dev/null and b/Content/FirstPersonArms/Animations/FP_Rifle_Run.uasset differ diff --git a/Content/FirstPersonArms/Animations/FP_Rifle_Shoot_Montage.uasset b/Content/FirstPersonArms/Animations/FP_Rifle_Shoot_Montage.uasset new file mode 100644 index 0000000..db54723 Binary files /dev/null and b/Content/FirstPersonArms/Animations/FP_Rifle_Shoot_Montage.uasset differ diff --git a/Content/FirstPersonArms/Animations/FP_Run_Fwd.uasset b/Content/FirstPersonArms/Animations/FP_Run_Fwd.uasset new file mode 100644 index 0000000..ac4400c Binary files /dev/null and b/Content/FirstPersonArms/Animations/FP_Run_Fwd.uasset differ diff --git a/Content/FirstPersonArms/Animations/FirstPerson_AnimBP.uasset b/Content/FirstPersonArms/Animations/FirstPerson_AnimBP.uasset new file mode 100644 index 0000000..764bf6f Binary files /dev/null and b/Content/FirstPersonArms/Animations/FirstPerson_AnimBP.uasset differ diff --git a/Content/FirstPersonArms/Character/Materials/Functions/CA_Mannequin.uasset b/Content/FirstPersonArms/Character/Materials/Functions/CA_Mannequin.uasset new file mode 100644 index 0000000..d1c8f07 Binary files /dev/null and b/Content/FirstPersonArms/Character/Materials/Functions/CA_Mannequin.uasset differ diff --git a/Content/FirstPersonArms/Character/Materials/Functions/ChromaticCurve.uasset b/Content/FirstPersonArms/Character/Materials/Functions/ChromaticCurve.uasset new file mode 100644 index 0000000..4e4aa79 Binary files /dev/null and b/Content/FirstPersonArms/Character/Materials/Functions/ChromaticCurve.uasset differ diff --git a/Content/FirstPersonArms/Character/Materials/Functions/MF_Diffraction.uasset b/Content/FirstPersonArms/Character/Materials/Functions/MF_Diffraction.uasset new file mode 100644 index 0000000..7f5e7c6 Binary files /dev/null and b/Content/FirstPersonArms/Character/Materials/Functions/MF_Diffraction.uasset differ diff --git a/Content/FirstPersonArms/Character/Materials/Functions/MF_logo3layers.uasset b/Content/FirstPersonArms/Character/Materials/Functions/MF_logo3layers.uasset new file mode 100644 index 0000000..13b36fb Binary files /dev/null and b/Content/FirstPersonArms/Character/Materials/Functions/MF_logo3layers.uasset differ diff --git a/Content/FirstPersonArms/Character/Materials/Functions/ML_BaseColorFallOff.uasset b/Content/FirstPersonArms/Character/Materials/Functions/ML_BaseColorFallOff.uasset new file mode 100644 index 0000000..d061fc2 Binary files /dev/null and b/Content/FirstPersonArms/Character/Materials/Functions/ML_BaseColorFallOff.uasset differ diff --git a/Content/FirstPersonArms/Character/Materials/Instances/Manny/MI_Manny_01.uasset b/Content/FirstPersonArms/Character/Materials/Instances/Manny/MI_Manny_01.uasset new file mode 100644 index 0000000..168b822 Binary files /dev/null and b/Content/FirstPersonArms/Character/Materials/Instances/Manny/MI_Manny_01.uasset differ diff --git a/Content/FirstPersonArms/Character/Materials/Instances/Manny/MI_Manny_02.uasset b/Content/FirstPersonArms/Character/Materials/Instances/Manny/MI_Manny_02.uasset new file mode 100644 index 0000000..56dcb9e Binary files /dev/null and b/Content/FirstPersonArms/Character/Materials/Instances/Manny/MI_Manny_02.uasset differ diff --git a/Content/FirstPersonArms/Character/Materials/M_Mannequin.uasset b/Content/FirstPersonArms/Character/Materials/M_Mannequin.uasset new file mode 100644 index 0000000..ded1ffe Binary files /dev/null and b/Content/FirstPersonArms/Character/Materials/M_Mannequin.uasset differ diff --git a/Content/FirstPersonArms/Character/Mesh/SK_Mannequin_Arms.uasset b/Content/FirstPersonArms/Character/Mesh/SK_Mannequin_Arms.uasset new file mode 100644 index 0000000..a06ab61 Binary files /dev/null and b/Content/FirstPersonArms/Character/Mesh/SK_Mannequin_Arms.uasset differ diff --git a/Content/FirstPersonArms/Character/Mesh/SK_Mannequin_Arms_PhysicsAsset.uasset b/Content/FirstPersonArms/Character/Mesh/SK_Mannequin_Arms_PhysicsAsset.uasset new file mode 100644 index 0000000..204f1f0 Binary files /dev/null and b/Content/FirstPersonArms/Character/Mesh/SK_Mannequin_Arms_PhysicsAsset.uasset differ diff --git a/Content/FirstPersonArms/Character/Mesh/SK_Mannequin_Arms_Skeleton.uasset b/Content/FirstPersonArms/Character/Mesh/SK_Mannequin_Arms_Skeleton.uasset new file mode 100644 index 0000000..0e893ec Binary files /dev/null and b/Content/FirstPersonArms/Character/Mesh/SK_Mannequin_Arms_Skeleton.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_ASAOPMASK_MSK.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_ASAOPMASK_MSK.uasset new file mode 100644 index 0000000..d0a8410 Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_ASAOPMASK_MSK.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_BN.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_BN.uasset new file mode 100644 index 0000000..0c29012 Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_BN.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_CCRCCPlastic_MSK.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_CCRCCPlastic_MSK.uasset new file mode 100644 index 0000000..9998bef Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_CCRCCPlastic_MSK.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_D.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_D.uasset new file mode 100644 index 0000000..28cff0c Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_D.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_MSR_MSK.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_MSR_MSK.uasset new file mode 100644 index 0000000..1a6eb0c Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_MSR_MSK.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_N.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_N.uasset new file mode 100644 index 0000000..d8451ac Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_N.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_Tan.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_Tan.uasset new file mode 100644 index 0000000..67202b5 Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_01_Tan.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_ASAOPMASK_MSK.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_ASAOPMASK_MSK.uasset new file mode 100644 index 0000000..0367acc Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_ASAOPMASK_MSK.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_BN.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_BN.uasset new file mode 100644 index 0000000..6b9a723 Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_BN.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_CCRCCPlastic_MSK.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_CCRCCPlastic_MSK.uasset new file mode 100644 index 0000000..c30481b Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_CCRCCPlastic_MSK.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_D.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_D.uasset new file mode 100644 index 0000000..e0b3c82 Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_D.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_MSR_MSK.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_MSR_MSK.uasset new file mode 100644 index 0000000..b6b921a Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_MSR_MSK.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_N.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_N.uasset new file mode 100644 index 0000000..3ba7dec Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_N.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_Tan.uasset b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_Tan.uasset new file mode 100644 index 0000000..2ab4d61 Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Manny/T_Manny_02_Tan.uasset differ diff --git a/Content/FirstPersonArms/Character/Textures/Shared/T_UE_Logo_M.uasset b/Content/FirstPersonArms/Character/Textures/Shared/T_UE_Logo_M.uasset new file mode 100644 index 0000000..30213c8 Binary files /dev/null and b/Content/FirstPersonArms/Character/Textures/Shared/T_UE_Logo_M.uasset differ diff --git a/Content/LevelPrototyping/Materials/MF_ProcGrid.uasset b/Content/LevelPrototyping/Materials/MF_ProcGrid.uasset new file mode 100644 index 0000000..84dde04 Binary files /dev/null and b/Content/LevelPrototyping/Materials/MF_ProcGrid.uasset differ diff --git a/Content/LevelPrototyping/Materials/MI_PrototypeGrid_Gray.uasset b/Content/LevelPrototyping/Materials/MI_PrototypeGrid_Gray.uasset new file mode 100644 index 0000000..4605682 Binary files /dev/null and b/Content/LevelPrototyping/Materials/MI_PrototypeGrid_Gray.uasset differ diff --git a/Content/LevelPrototyping/Materials/MI_PrototypeGrid_Gray_02.uasset b/Content/LevelPrototyping/Materials/MI_PrototypeGrid_Gray_02.uasset new file mode 100644 index 0000000..2accd35 Binary files /dev/null and b/Content/LevelPrototyping/Materials/MI_PrototypeGrid_Gray_02.uasset differ diff --git a/Content/LevelPrototyping/Materials/MI_PrototypeGrid_TopDark.uasset b/Content/LevelPrototyping/Materials/MI_PrototypeGrid_TopDark.uasset new file mode 100644 index 0000000..bc39915 Binary files /dev/null and b/Content/LevelPrototyping/Materials/MI_PrototypeGrid_TopDark.uasset differ diff --git a/Content/LevelPrototyping/Materials/MI_Solid_Blue.uasset b/Content/LevelPrototyping/Materials/MI_Solid_Blue.uasset new file mode 100644 index 0000000..7b7ad88 Binary files /dev/null and b/Content/LevelPrototyping/Materials/MI_Solid_Blue.uasset differ diff --git a/Content/LevelPrototyping/Materials/M_PrototypeGrid.uasset b/Content/LevelPrototyping/Materials/M_PrototypeGrid.uasset new file mode 100644 index 0000000..f61487d Binary files /dev/null and b/Content/LevelPrototyping/Materials/M_PrototypeGrid.uasset differ diff --git a/Content/LevelPrototyping/Materials/M_Solid.uasset b/Content/LevelPrototyping/Materials/M_Solid.uasset new file mode 100644 index 0000000..37a29b9 Binary files /dev/null and b/Content/LevelPrototyping/Materials/M_Solid.uasset differ diff --git a/Content/LevelPrototyping/Meshes/SM_ChamferCube.uasset b/Content/LevelPrototyping/Meshes/SM_ChamferCube.uasset new file mode 100644 index 0000000..fe6da62 Binary files /dev/null and b/Content/LevelPrototyping/Meshes/SM_ChamferCube.uasset differ diff --git a/Content/LevelPrototyping/Meshes/SM_Cube.uasset b/Content/LevelPrototyping/Meshes/SM_Cube.uasset new file mode 100644 index 0000000..0e7d2a3 Binary files /dev/null and b/Content/LevelPrototyping/Meshes/SM_Cube.uasset differ diff --git a/Content/LevelPrototyping/Meshes/SM_Cylinder.uasset b/Content/LevelPrototyping/Meshes/SM_Cylinder.uasset new file mode 100644 index 0000000..2dc5fab Binary files /dev/null and b/Content/LevelPrototyping/Meshes/SM_Cylinder.uasset differ diff --git a/Content/LevelPrototyping/Meshes/SM_QuarterCylinder.uasset b/Content/LevelPrototyping/Meshes/SM_QuarterCylinder.uasset new file mode 100644 index 0000000..cbd952c Binary files /dev/null and b/Content/LevelPrototyping/Meshes/SM_QuarterCylinder.uasset differ diff --git a/Content/LevelPrototyping/Meshes/SM_Ramp.uasset b/Content/LevelPrototyping/Meshes/SM_Ramp.uasset new file mode 100644 index 0000000..f1f05c6 Binary files /dev/null and b/Content/LevelPrototyping/Meshes/SM_Ramp.uasset differ diff --git a/Content/LevelPrototyping/Textures/T_GridChecker_A.uasset b/Content/LevelPrototyping/Textures/T_GridChecker_A.uasset new file mode 100644 index 0000000..e901d24 Binary files /dev/null and b/Content/LevelPrototyping/Textures/T_GridChecker_A.uasset differ diff --git a/Content/Res/Box2w4.uasset b/Content/Res/Box2w4.uasset new file mode 100644 index 0000000..56db3c7 Binary files /dev/null and b/Content/Res/Box2w4.uasset differ diff --git a/Content/Res/Material.uasset b/Content/Res/Material.uasset new file mode 100644 index 0000000..4409ae6 Binary files /dev/null and b/Content/Res/Material.uasset differ diff --git a/Content/StarterContent/Architecture/Floor_400x400.uasset b/Content/StarterContent/Architecture/Floor_400x400.uasset new file mode 100644 index 0000000..e3b449a Binary files /dev/null and b/Content/StarterContent/Architecture/Floor_400x400.uasset differ diff --git a/Content/StarterContent/Architecture/Pillar_50x500.uasset b/Content/StarterContent/Architecture/Pillar_50x500.uasset new file mode 100644 index 0000000..46aed7d Binary files /dev/null and b/Content/StarterContent/Architecture/Pillar_50x500.uasset differ diff --git a/Content/StarterContent/Architecture/SM_AssetPlatform.uasset b/Content/StarterContent/Architecture/SM_AssetPlatform.uasset new file mode 100644 index 0000000..1f0f0be Binary files /dev/null and b/Content/StarterContent/Architecture/SM_AssetPlatform.uasset differ diff --git a/Content/StarterContent/Architecture/Wall_400x200.uasset b/Content/StarterContent/Architecture/Wall_400x200.uasset new file mode 100644 index 0000000..a7aeff7 Binary files /dev/null and b/Content/StarterContent/Architecture/Wall_400x200.uasset differ diff --git a/Content/StarterContent/Architecture/Wall_400x300.uasset b/Content/StarterContent/Architecture/Wall_400x300.uasset new file mode 100644 index 0000000..959fd41 Binary files /dev/null and b/Content/StarterContent/Architecture/Wall_400x300.uasset differ diff --git a/Content/StarterContent/Architecture/Wall_400x400.uasset b/Content/StarterContent/Architecture/Wall_400x400.uasset new file mode 100644 index 0000000..9ad5e36 Binary files /dev/null and b/Content/StarterContent/Architecture/Wall_400x400.uasset differ diff --git a/Content/StarterContent/Architecture/Wall_500x500.uasset b/Content/StarterContent/Architecture/Wall_500x500.uasset new file mode 100644 index 0000000..96e5e9b Binary files /dev/null and b/Content/StarterContent/Architecture/Wall_500x500.uasset differ diff --git a/Content/StarterContent/Architecture/Wall_Door_400x300.uasset b/Content/StarterContent/Architecture/Wall_Door_400x300.uasset new file mode 100644 index 0000000..8b60b28 Binary files /dev/null and b/Content/StarterContent/Architecture/Wall_Door_400x300.uasset differ diff --git a/Content/StarterContent/Architecture/Wall_Door_400x400.uasset b/Content/StarterContent/Architecture/Wall_Door_400x400.uasset new file mode 100644 index 0000000..55b60cb Binary files /dev/null and b/Content/StarterContent/Architecture/Wall_Door_400x400.uasset differ diff --git a/Content/StarterContent/Architecture/Wall_Window_400x300.uasset b/Content/StarterContent/Architecture/Wall_Window_400x300.uasset new file mode 100644 index 0000000..cb91768 Binary files /dev/null and b/Content/StarterContent/Architecture/Wall_Window_400x300.uasset differ diff --git a/Content/StarterContent/Architecture/Wall_Window_400x400.uasset b/Content/StarterContent/Architecture/Wall_Window_400x400.uasset new file mode 100644 index 0000000..1d2259d Binary files /dev/null and b/Content/StarterContent/Architecture/Wall_Window_400x400.uasset differ diff --git a/Content/StarterContent/Audio/Collapse01.uasset b/Content/StarterContent/Audio/Collapse01.uasset new file mode 100644 index 0000000..9c68be4 Binary files /dev/null and b/Content/StarterContent/Audio/Collapse01.uasset differ diff --git a/Content/StarterContent/Audio/Collapse02.uasset b/Content/StarterContent/Audio/Collapse02.uasset new file mode 100644 index 0000000..5bd3fec Binary files /dev/null and b/Content/StarterContent/Audio/Collapse02.uasset differ diff --git a/Content/StarterContent/Audio/Collapse_Cue.uasset b/Content/StarterContent/Audio/Collapse_Cue.uasset new file mode 100644 index 0000000..4548e1e Binary files /dev/null and b/Content/StarterContent/Audio/Collapse_Cue.uasset differ diff --git a/Content/StarterContent/Audio/Explosion01.uasset b/Content/StarterContent/Audio/Explosion01.uasset new file mode 100644 index 0000000..2ec32d8 Binary files /dev/null and b/Content/StarterContent/Audio/Explosion01.uasset differ diff --git a/Content/StarterContent/Audio/Explosion02.uasset b/Content/StarterContent/Audio/Explosion02.uasset new file mode 100644 index 0000000..98174ab Binary files /dev/null and b/Content/StarterContent/Audio/Explosion02.uasset differ diff --git a/Content/StarterContent/Audio/Explosion_Cue.uasset b/Content/StarterContent/Audio/Explosion_Cue.uasset new file mode 100644 index 0000000..7984faf Binary files /dev/null and b/Content/StarterContent/Audio/Explosion_Cue.uasset differ diff --git a/Content/StarterContent/Audio/Fire01.uasset b/Content/StarterContent/Audio/Fire01.uasset new file mode 100644 index 0000000..0c495f4 Binary files /dev/null and b/Content/StarterContent/Audio/Fire01.uasset differ diff --git a/Content/StarterContent/Audio/Fire01_Cue.uasset b/Content/StarterContent/Audio/Fire01_Cue.uasset new file mode 100644 index 0000000..86861b6 Binary files /dev/null and b/Content/StarterContent/Audio/Fire01_Cue.uasset differ diff --git a/Content/StarterContent/Audio/Fire_Sparks01.uasset b/Content/StarterContent/Audio/Fire_Sparks01.uasset new file mode 100644 index 0000000..1479dad Binary files /dev/null and b/Content/StarterContent/Audio/Fire_Sparks01.uasset differ diff --git a/Content/StarterContent/Audio/Fire_Sparks01_Cue.uasset b/Content/StarterContent/Audio/Fire_Sparks01_Cue.uasset new file mode 100644 index 0000000..f93b729 Binary files /dev/null and b/Content/StarterContent/Audio/Fire_Sparks01_Cue.uasset differ diff --git a/Content/StarterContent/Audio/Light01.uasset b/Content/StarterContent/Audio/Light01.uasset new file mode 100644 index 0000000..8e02bab Binary files /dev/null and b/Content/StarterContent/Audio/Light01.uasset differ diff --git a/Content/StarterContent/Audio/Light01_Cue.uasset b/Content/StarterContent/Audio/Light01_Cue.uasset new file mode 100644 index 0000000..a165870 Binary files /dev/null and b/Content/StarterContent/Audio/Light01_Cue.uasset differ diff --git a/Content/StarterContent/Audio/Light02.uasset b/Content/StarterContent/Audio/Light02.uasset new file mode 100644 index 0000000..907cd0e Binary files /dev/null and b/Content/StarterContent/Audio/Light02.uasset differ diff --git a/Content/StarterContent/Audio/Light02_Cue.uasset b/Content/StarterContent/Audio/Light02_Cue.uasset new file mode 100644 index 0000000..1a63569 Binary files /dev/null and b/Content/StarterContent/Audio/Light02_Cue.uasset differ diff --git a/Content/StarterContent/Audio/Smoke01.uasset b/Content/StarterContent/Audio/Smoke01.uasset new file mode 100644 index 0000000..023a555 Binary files /dev/null and b/Content/StarterContent/Audio/Smoke01.uasset differ diff --git a/Content/StarterContent/Audio/Smoke01_Cue.uasset b/Content/StarterContent/Audio/Smoke01_Cue.uasset new file mode 100644 index 0000000..b7d7bad Binary files /dev/null and b/Content/StarterContent/Audio/Smoke01_Cue.uasset differ diff --git a/Content/StarterContent/Audio/Starter_Background_Cue.uasset b/Content/StarterContent/Audio/Starter_Background_Cue.uasset new file mode 100644 index 0000000..fc9649f Binary files /dev/null and b/Content/StarterContent/Audio/Starter_Background_Cue.uasset differ diff --git a/Content/StarterContent/Audio/Starter_Birds01.uasset b/Content/StarterContent/Audio/Starter_Birds01.uasset new file mode 100644 index 0000000..900fc5e Binary files /dev/null and b/Content/StarterContent/Audio/Starter_Birds01.uasset differ diff --git a/Content/StarterContent/Audio/Starter_Music01.uasset b/Content/StarterContent/Audio/Starter_Music01.uasset new file mode 100644 index 0000000..d404003 Binary files /dev/null and b/Content/StarterContent/Audio/Starter_Music01.uasset differ diff --git a/Content/StarterContent/Audio/Starter_Music_Cue.uasset b/Content/StarterContent/Audio/Starter_Music_Cue.uasset new file mode 100644 index 0000000..1bba60d Binary files /dev/null and b/Content/StarterContent/Audio/Starter_Music_Cue.uasset differ diff --git a/Content/StarterContent/Audio/Starter_Wind05.uasset b/Content/StarterContent/Audio/Starter_Wind05.uasset new file mode 100644 index 0000000..36bf8d9 Binary files /dev/null and b/Content/StarterContent/Audio/Starter_Wind05.uasset differ diff --git a/Content/StarterContent/Audio/Starter_Wind06.uasset b/Content/StarterContent/Audio/Starter_Wind06.uasset new file mode 100644 index 0000000..0867c74 Binary files /dev/null and b/Content/StarterContent/Audio/Starter_Wind06.uasset differ diff --git a/Content/StarterContent/Audio/Steam01.uasset b/Content/StarterContent/Audio/Steam01.uasset new file mode 100644 index 0000000..a1ee8a7 Binary files /dev/null and b/Content/StarterContent/Audio/Steam01.uasset differ diff --git a/Content/StarterContent/Audio/Steam01_Cue.uasset b/Content/StarterContent/Audio/Steam01_Cue.uasset new file mode 100644 index 0000000..2ef161f Binary files /dev/null and b/Content/StarterContent/Audio/Steam01_Cue.uasset differ diff --git a/Content/StarterContent/Blueprints/Assets/FogBrightnessLUT.uasset b/Content/StarterContent/Blueprints/Assets/FogBrightnessLUT.uasset new file mode 100644 index 0000000..6babc5b Binary files /dev/null and b/Content/StarterContent/Blueprints/Assets/FogBrightnessLUT.uasset differ diff --git a/Content/StarterContent/Blueprints/Assets/M_LightStage_Arrows.uasset b/Content/StarterContent/Blueprints/Assets/M_LightStage_Arrows.uasset new file mode 100644 index 0000000..55151f5 Binary files /dev/null and b/Content/StarterContent/Blueprints/Assets/M_LightStage_Arrows.uasset differ diff --git a/Content/StarterContent/Blueprints/Assets/M_LightStage_Skybox_Black.uasset b/Content/StarterContent/Blueprints/Assets/M_LightStage_Skybox_Black.uasset new file mode 100644 index 0000000..1e8f009 Binary files /dev/null and b/Content/StarterContent/Blueprints/Assets/M_LightStage_Skybox_Black.uasset differ diff --git a/Content/StarterContent/Blueprints/Assets/M_LightStage_Skybox_HDRI.uasset b/Content/StarterContent/Blueprints/Assets/M_LightStage_Skybox_HDRI.uasset new file mode 100644 index 0000000..c81172b Binary files /dev/null and b/Content/StarterContent/Blueprints/Assets/M_LightStage_Skybox_HDRI.uasset differ diff --git a/Content/StarterContent/Blueprints/Assets/M_LightStage_Skybox_Master.uasset b/Content/StarterContent/Blueprints/Assets/M_LightStage_Skybox_Master.uasset new file mode 100644 index 0000000..e47d5e0 Binary files /dev/null and b/Content/StarterContent/Blueprints/Assets/M_LightStage_Skybox_Master.uasset differ diff --git a/Content/StarterContent/Blueprints/Assets/SM_Arrows.uasset b/Content/StarterContent/Blueprints/Assets/SM_Arrows.uasset new file mode 100644 index 0000000..94e6203 Binary files /dev/null and b/Content/StarterContent/Blueprints/Assets/SM_Arrows.uasset differ diff --git a/Content/StarterContent/Blueprints/Assets/Skybox.uasset b/Content/StarterContent/Blueprints/Assets/Skybox.uasset new file mode 100644 index 0000000..54dc67a Binary files /dev/null and b/Content/StarterContent/Blueprints/Assets/Skybox.uasset differ diff --git a/Content/StarterContent/Blueprints/Assets/SunlightColorLUT.uasset b/Content/StarterContent/Blueprints/Assets/SunlightColorLUT.uasset new file mode 100644 index 0000000..e2c3765 Binary files /dev/null and b/Content/StarterContent/Blueprints/Assets/SunlightColorLUT.uasset differ diff --git a/Content/StarterContent/Blueprints/BP_LightStudio.uasset b/Content/StarterContent/Blueprints/BP_LightStudio.uasset new file mode 100644 index 0000000..b85ba86 Binary files /dev/null and b/Content/StarterContent/Blueprints/BP_LightStudio.uasset differ diff --git a/Content/StarterContent/Blueprints/Blueprint_CeilingLight.uasset b/Content/StarterContent/Blueprints/Blueprint_CeilingLight.uasset new file mode 100644 index 0000000..b5b40a2 Binary files /dev/null and b/Content/StarterContent/Blueprints/Blueprint_CeilingLight.uasset differ diff --git a/Content/StarterContent/Blueprints/Blueprint_Effect_Explosion.uasset b/Content/StarterContent/Blueprints/Blueprint_Effect_Explosion.uasset new file mode 100644 index 0000000..3e92029 Binary files /dev/null and b/Content/StarterContent/Blueprints/Blueprint_Effect_Explosion.uasset differ diff --git a/Content/StarterContent/Blueprints/Blueprint_Effect_Fire.uasset b/Content/StarterContent/Blueprints/Blueprint_Effect_Fire.uasset new file mode 100644 index 0000000..a0c45b8 Binary files /dev/null and b/Content/StarterContent/Blueprints/Blueprint_Effect_Fire.uasset differ diff --git a/Content/StarterContent/Blueprints/Blueprint_Effect_Smoke.uasset b/Content/StarterContent/Blueprints/Blueprint_Effect_Smoke.uasset new file mode 100644 index 0000000..bb648c9 Binary files /dev/null and b/Content/StarterContent/Blueprints/Blueprint_Effect_Smoke.uasset differ diff --git a/Content/StarterContent/Blueprints/Blueprint_Effect_Sparks.uasset b/Content/StarterContent/Blueprints/Blueprint_Effect_Sparks.uasset new file mode 100644 index 0000000..1c27dc4 Binary files /dev/null and b/Content/StarterContent/Blueprints/Blueprint_Effect_Sparks.uasset differ diff --git a/Content/StarterContent/Blueprints/Blueprint_Effect_Steam.uasset b/Content/StarterContent/Blueprints/Blueprint_Effect_Steam.uasset new file mode 100644 index 0000000..45417c8 Binary files /dev/null and b/Content/StarterContent/Blueprints/Blueprint_Effect_Steam.uasset differ diff --git a/Content/StarterContent/Blueprints/Blueprint_WallSconce.uasset b/Content/StarterContent/Blueprints/Blueprint_WallSconce.uasset new file mode 100644 index 0000000..3f29873 Binary files /dev/null and b/Content/StarterContent/Blueprints/Blueprint_WallSconce.uasset differ diff --git a/Content/StarterContent/HDRI/HDRI_Epic_Courtyard_Daylight.uasset b/Content/StarterContent/HDRI/HDRI_Epic_Courtyard_Daylight.uasset new file mode 100644 index 0000000..9b1f1be Binary files /dev/null and b/Content/StarterContent/HDRI/HDRI_Epic_Courtyard_Daylight.uasset differ diff --git a/Content/StarterContent/Maps/Advanced_Lighting.umap b/Content/StarterContent/Maps/Advanced_Lighting.umap new file mode 100644 index 0000000..ebf6966 Binary files /dev/null and b/Content/StarterContent/Maps/Advanced_Lighting.umap differ diff --git a/Content/StarterContent/Maps/Minimal_Default.umap b/Content/StarterContent/Maps/Minimal_Default.umap new file mode 100644 index 0000000..378270c Binary files /dev/null and b/Content/StarterContent/Maps/Minimal_Default.umap differ diff --git a/Content/StarterContent/Maps/StarterMap.umap b/Content/StarterContent/Maps/StarterMap.umap new file mode 100644 index 0000000..3d55147 Binary files /dev/null and b/Content/StarterContent/Maps/StarterMap.umap differ diff --git a/Content/StarterContent/Materials/M_AssetPlatform.uasset b/Content/StarterContent/Materials/M_AssetPlatform.uasset new file mode 100644 index 0000000..4962777 Binary files /dev/null and b/Content/StarterContent/Materials/M_AssetPlatform.uasset differ diff --git a/Content/StarterContent/Materials/M_Basic_Floor.uasset b/Content/StarterContent/Materials/M_Basic_Floor.uasset new file mode 100644 index 0000000..6b05cb4 Binary files /dev/null and b/Content/StarterContent/Materials/M_Basic_Floor.uasset differ diff --git a/Content/StarterContent/Materials/M_Basic_Wall.uasset b/Content/StarterContent/Materials/M_Basic_Wall.uasset new file mode 100644 index 0000000..dd5ae24 Binary files /dev/null and b/Content/StarterContent/Materials/M_Basic_Wall.uasset differ diff --git a/Content/StarterContent/Materials/M_Brick_Clay_Beveled.uasset b/Content/StarterContent/Materials/M_Brick_Clay_Beveled.uasset new file mode 100644 index 0000000..2b8a349 Binary files /dev/null and b/Content/StarterContent/Materials/M_Brick_Clay_Beveled.uasset differ diff --git a/Content/StarterContent/Materials/M_Brick_Clay_New.uasset b/Content/StarterContent/Materials/M_Brick_Clay_New.uasset new file mode 100644 index 0000000..e519245 Binary files /dev/null and b/Content/StarterContent/Materials/M_Brick_Clay_New.uasset differ diff --git a/Content/StarterContent/Materials/M_Brick_Clay_Old.uasset b/Content/StarterContent/Materials/M_Brick_Clay_Old.uasset new file mode 100644 index 0000000..bd49323 Binary files /dev/null and b/Content/StarterContent/Materials/M_Brick_Clay_Old.uasset differ diff --git a/Content/StarterContent/Materials/M_Brick_Cut_Stone.uasset b/Content/StarterContent/Materials/M_Brick_Cut_Stone.uasset new file mode 100644 index 0000000..2ff69bc Binary files /dev/null and b/Content/StarterContent/Materials/M_Brick_Cut_Stone.uasset differ diff --git a/Content/StarterContent/Materials/M_Brick_Hewn_Stone.uasset b/Content/StarterContent/Materials/M_Brick_Hewn_Stone.uasset new file mode 100644 index 0000000..d1d7e67 Binary files /dev/null and b/Content/StarterContent/Materials/M_Brick_Hewn_Stone.uasset differ diff --git a/Content/StarterContent/Materials/M_Ceramic_Tile_Checker.uasset b/Content/StarterContent/Materials/M_Ceramic_Tile_Checker.uasset new file mode 100644 index 0000000..e5f0590 Binary files /dev/null and b/Content/StarterContent/Materials/M_Ceramic_Tile_Checker.uasset differ diff --git a/Content/StarterContent/Materials/M_CobbleStone_Pebble.uasset b/Content/StarterContent/Materials/M_CobbleStone_Pebble.uasset new file mode 100644 index 0000000..958dd1b Binary files /dev/null and b/Content/StarterContent/Materials/M_CobbleStone_Pebble.uasset differ diff --git a/Content/StarterContent/Materials/M_CobbleStone_Rough.uasset b/Content/StarterContent/Materials/M_CobbleStone_Rough.uasset new file mode 100644 index 0000000..fb1c6d3 Binary files /dev/null and b/Content/StarterContent/Materials/M_CobbleStone_Rough.uasset differ diff --git a/Content/StarterContent/Materials/M_CobbleStone_Smooth.uasset b/Content/StarterContent/Materials/M_CobbleStone_Smooth.uasset new file mode 100644 index 0000000..642aaaa Binary files /dev/null and b/Content/StarterContent/Materials/M_CobbleStone_Smooth.uasset differ diff --git a/Content/StarterContent/Materials/M_ColorGrid_LowSpec.uasset b/Content/StarterContent/Materials/M_ColorGrid_LowSpec.uasset new file mode 100644 index 0000000..4b25f74 Binary files /dev/null and b/Content/StarterContent/Materials/M_ColorGrid_LowSpec.uasset differ diff --git a/Content/StarterContent/Materials/M_Concrete_Grime.uasset b/Content/StarterContent/Materials/M_Concrete_Grime.uasset new file mode 100644 index 0000000..3be6070 Binary files /dev/null and b/Content/StarterContent/Materials/M_Concrete_Grime.uasset differ diff --git a/Content/StarterContent/Materials/M_Concrete_Panels.uasset b/Content/StarterContent/Materials/M_Concrete_Panels.uasset new file mode 100644 index 0000000..d843626 Binary files /dev/null and b/Content/StarterContent/Materials/M_Concrete_Panels.uasset differ diff --git a/Content/StarterContent/Materials/M_Concrete_Poured.uasset b/Content/StarterContent/Materials/M_Concrete_Poured.uasset new file mode 100644 index 0000000..34661da Binary files /dev/null and b/Content/StarterContent/Materials/M_Concrete_Poured.uasset differ diff --git a/Content/StarterContent/Materials/M_Concrete_Tiles.uasset b/Content/StarterContent/Materials/M_Concrete_Tiles.uasset new file mode 100644 index 0000000..26e7163 Binary files /dev/null and b/Content/StarterContent/Materials/M_Concrete_Tiles.uasset differ diff --git a/Content/StarterContent/Materials/M_Glass.uasset b/Content/StarterContent/Materials/M_Glass.uasset new file mode 100644 index 0000000..7168e4f Binary files /dev/null and b/Content/StarterContent/Materials/M_Glass.uasset differ diff --git a/Content/StarterContent/Materials/M_Ground_Grass.uasset b/Content/StarterContent/Materials/M_Ground_Grass.uasset new file mode 100644 index 0000000..1cbe2a5 Binary files /dev/null and b/Content/StarterContent/Materials/M_Ground_Grass.uasset differ diff --git a/Content/StarterContent/Materials/M_Ground_Gravel.uasset b/Content/StarterContent/Materials/M_Ground_Gravel.uasset new file mode 100644 index 0000000..7d3d68f Binary files /dev/null and b/Content/StarterContent/Materials/M_Ground_Gravel.uasset differ diff --git a/Content/StarterContent/Materials/M_Ground_Moss.uasset b/Content/StarterContent/Materials/M_Ground_Moss.uasset new file mode 100644 index 0000000..ff1f454 Binary files /dev/null and b/Content/StarterContent/Materials/M_Ground_Moss.uasset differ diff --git a/Content/StarterContent/Materials/M_Metal_Brushed_Nickel.uasset b/Content/StarterContent/Materials/M_Metal_Brushed_Nickel.uasset new file mode 100644 index 0000000..e34b606 Binary files /dev/null and b/Content/StarterContent/Materials/M_Metal_Brushed_Nickel.uasset differ diff --git a/Content/StarterContent/Materials/M_Metal_Burnished_Steel.uasset b/Content/StarterContent/Materials/M_Metal_Burnished_Steel.uasset new file mode 100644 index 0000000..5091518 Binary files /dev/null and b/Content/StarterContent/Materials/M_Metal_Burnished_Steel.uasset differ diff --git a/Content/StarterContent/Materials/M_Metal_Chrome.uasset b/Content/StarterContent/Materials/M_Metal_Chrome.uasset new file mode 100644 index 0000000..2997cde Binary files /dev/null and b/Content/StarterContent/Materials/M_Metal_Chrome.uasset differ diff --git a/Content/StarterContent/Materials/M_Metal_Copper.uasset b/Content/StarterContent/Materials/M_Metal_Copper.uasset new file mode 100644 index 0000000..2f3841c Binary files /dev/null and b/Content/StarterContent/Materials/M_Metal_Copper.uasset differ diff --git a/Content/StarterContent/Materials/M_Metal_Gold.uasset b/Content/StarterContent/Materials/M_Metal_Gold.uasset new file mode 100644 index 0000000..0fc3df3 Binary files /dev/null and b/Content/StarterContent/Materials/M_Metal_Gold.uasset differ diff --git a/Content/StarterContent/Materials/M_Metal_Rust.uasset b/Content/StarterContent/Materials/M_Metal_Rust.uasset new file mode 100644 index 0000000..8402144 Binary files /dev/null and b/Content/StarterContent/Materials/M_Metal_Rust.uasset differ diff --git a/Content/StarterContent/Materials/M_Metal_Steel.uasset b/Content/StarterContent/Materials/M_Metal_Steel.uasset new file mode 100644 index 0000000..e303340 Binary files /dev/null and b/Content/StarterContent/Materials/M_Metal_Steel.uasset differ diff --git a/Content/StarterContent/Materials/M_Rock_Basalt.uasset b/Content/StarterContent/Materials/M_Rock_Basalt.uasset new file mode 100644 index 0000000..d2cf1ba Binary files /dev/null and b/Content/StarterContent/Materials/M_Rock_Basalt.uasset differ diff --git a/Content/StarterContent/Materials/M_Rock_Marble_Polished.uasset b/Content/StarterContent/Materials/M_Rock_Marble_Polished.uasset new file mode 100644 index 0000000..d177e32 Binary files /dev/null and b/Content/StarterContent/Materials/M_Rock_Marble_Polished.uasset differ diff --git a/Content/StarterContent/Materials/M_Rock_Sandstone.uasset b/Content/StarterContent/Materials/M_Rock_Sandstone.uasset new file mode 100644 index 0000000..4ca7e31 Binary files /dev/null and b/Content/StarterContent/Materials/M_Rock_Sandstone.uasset differ diff --git a/Content/StarterContent/Materials/M_Rock_Slate.uasset b/Content/StarterContent/Materials/M_Rock_Slate.uasset new file mode 100644 index 0000000..53f6bb8 Binary files /dev/null and b/Content/StarterContent/Materials/M_Rock_Slate.uasset differ diff --git a/Content/StarterContent/Materials/M_Tech_Checker_Dot.uasset b/Content/StarterContent/Materials/M_Tech_Checker_Dot.uasset new file mode 100644 index 0000000..041b0f8 Binary files /dev/null and b/Content/StarterContent/Materials/M_Tech_Checker_Dot.uasset differ diff --git a/Content/StarterContent/Materials/M_Tech_Hex_Tile.uasset b/Content/StarterContent/Materials/M_Tech_Hex_Tile.uasset new file mode 100644 index 0000000..f102368 Binary files /dev/null and b/Content/StarterContent/Materials/M_Tech_Hex_Tile.uasset differ diff --git a/Content/StarterContent/Materials/M_Tech_Hex_Tile_Pulse.uasset b/Content/StarterContent/Materials/M_Tech_Hex_Tile_Pulse.uasset new file mode 100644 index 0000000..570262a Binary files /dev/null and b/Content/StarterContent/Materials/M_Tech_Hex_Tile_Pulse.uasset differ diff --git a/Content/StarterContent/Materials/M_Tech_Panel.uasset b/Content/StarterContent/Materials/M_Tech_Panel.uasset new file mode 100644 index 0000000..1afccae Binary files /dev/null and b/Content/StarterContent/Materials/M_Tech_Panel.uasset differ diff --git a/Content/StarterContent/Materials/M_Water_Lake.uasset b/Content/StarterContent/Materials/M_Water_Lake.uasset new file mode 100644 index 0000000..88a6333 Binary files /dev/null and b/Content/StarterContent/Materials/M_Water_Lake.uasset differ diff --git a/Content/StarterContent/Materials/M_Water_Ocean.uasset b/Content/StarterContent/Materials/M_Water_Ocean.uasset new file mode 100644 index 0000000..1ff0460 Binary files /dev/null and b/Content/StarterContent/Materials/M_Water_Ocean.uasset differ diff --git a/Content/StarterContent/Materials/M_Wood_Floor_Walnut_Polished.uasset b/Content/StarterContent/Materials/M_Wood_Floor_Walnut_Polished.uasset new file mode 100644 index 0000000..8bbba08 Binary files /dev/null and b/Content/StarterContent/Materials/M_Wood_Floor_Walnut_Polished.uasset differ diff --git a/Content/StarterContent/Materials/M_Wood_Floor_Walnut_Worn.uasset b/Content/StarterContent/Materials/M_Wood_Floor_Walnut_Worn.uasset new file mode 100644 index 0000000..229a294 Binary files /dev/null and b/Content/StarterContent/Materials/M_Wood_Floor_Walnut_Worn.uasset differ diff --git a/Content/StarterContent/Materials/M_Wood_Oak.uasset b/Content/StarterContent/Materials/M_Wood_Oak.uasset new file mode 100644 index 0000000..d722444 Binary files /dev/null and b/Content/StarterContent/Materials/M_Wood_Oak.uasset differ diff --git a/Content/StarterContent/Materials/M_Wood_Pine.uasset b/Content/StarterContent/Materials/M_Wood_Pine.uasset new file mode 100644 index 0000000..b02101c Binary files /dev/null and b/Content/StarterContent/Materials/M_Wood_Pine.uasset differ diff --git a/Content/StarterContent/Materials/M_Wood_Walnut.uasset b/Content/StarterContent/Materials/M_Wood_Walnut.uasset new file mode 100644 index 0000000..6e76341 Binary files /dev/null and b/Content/StarterContent/Materials/M_Wood_Walnut.uasset differ diff --git a/Content/StarterContent/Particles/Materials/M_Burst.uasset b/Content/StarterContent/Particles/Materials/M_Burst.uasset new file mode 100644 index 0000000..12caa0a Binary files /dev/null and b/Content/StarterContent/Particles/Materials/M_Burst.uasset differ diff --git a/Content/StarterContent/Particles/Materials/M_Dust_Particle.uasset b/Content/StarterContent/Particles/Materials/M_Dust_Particle.uasset new file mode 100644 index 0000000..4f665d0 Binary files /dev/null and b/Content/StarterContent/Particles/Materials/M_Dust_Particle.uasset differ diff --git a/Content/StarterContent/Particles/Materials/M_Fire_SubUV.uasset b/Content/StarterContent/Particles/Materials/M_Fire_SubUV.uasset new file mode 100644 index 0000000..73f3eaa Binary files /dev/null and b/Content/StarterContent/Particles/Materials/M_Fire_SubUV.uasset differ diff --git a/Content/StarterContent/Particles/Materials/M_Heat_Distortion.uasset b/Content/StarterContent/Particles/Materials/M_Heat_Distortion.uasset new file mode 100644 index 0000000..d34ee58 Binary files /dev/null and b/Content/StarterContent/Particles/Materials/M_Heat_Distortion.uasset differ diff --git a/Content/StarterContent/Particles/Materials/M_Radial_Gradient.uasset b/Content/StarterContent/Particles/Materials/M_Radial_Gradient.uasset new file mode 100644 index 0000000..9829b9a Binary files /dev/null and b/Content/StarterContent/Particles/Materials/M_Radial_Gradient.uasset differ diff --git a/Content/StarterContent/Particles/Materials/M_Spark.uasset b/Content/StarterContent/Particles/Materials/M_Spark.uasset new file mode 100644 index 0000000..6f6f699 Binary files /dev/null and b/Content/StarterContent/Particles/Materials/M_Spark.uasset differ diff --git a/Content/StarterContent/Particles/Materials/M_explosion_subUV.uasset b/Content/StarterContent/Particles/Materials/M_explosion_subUV.uasset new file mode 100644 index 0000000..1af76e6 Binary files /dev/null and b/Content/StarterContent/Particles/Materials/M_explosion_subUV.uasset differ diff --git a/Content/StarterContent/Particles/Materials/M_radial_ramp.uasset b/Content/StarterContent/Particles/Materials/M_radial_ramp.uasset new file mode 100644 index 0000000..b022826 Binary files /dev/null and b/Content/StarterContent/Particles/Materials/M_radial_ramp.uasset differ diff --git a/Content/StarterContent/Particles/Materials/M_smoke_subUV.uasset b/Content/StarterContent/Particles/Materials/M_smoke_subUV.uasset new file mode 100644 index 0000000..2086e5f Binary files /dev/null and b/Content/StarterContent/Particles/Materials/M_smoke_subUV.uasset differ diff --git a/Content/StarterContent/Particles/Materials/m_flare_01.uasset b/Content/StarterContent/Particles/Materials/m_flare_01.uasset new file mode 100644 index 0000000..824b44b Binary files /dev/null and b/Content/StarterContent/Particles/Materials/m_flare_01.uasset differ diff --git a/Content/StarterContent/Particles/P_Ambient_Dust.uasset b/Content/StarterContent/Particles/P_Ambient_Dust.uasset new file mode 100644 index 0000000..38b6cab Binary files /dev/null and b/Content/StarterContent/Particles/P_Ambient_Dust.uasset differ diff --git a/Content/StarterContent/Particles/P_Explosion.uasset b/Content/StarterContent/Particles/P_Explosion.uasset new file mode 100644 index 0000000..8f6e03a Binary files /dev/null and b/Content/StarterContent/Particles/P_Explosion.uasset differ diff --git a/Content/StarterContent/Particles/P_Fire.uasset b/Content/StarterContent/Particles/P_Fire.uasset new file mode 100644 index 0000000..3fb74a8 Binary files /dev/null and b/Content/StarterContent/Particles/P_Fire.uasset differ diff --git a/Content/StarterContent/Particles/P_Smoke.uasset b/Content/StarterContent/Particles/P_Smoke.uasset new file mode 100644 index 0000000..a6014df Binary files /dev/null and b/Content/StarterContent/Particles/P_Smoke.uasset differ diff --git a/Content/StarterContent/Particles/P_Sparks.uasset b/Content/StarterContent/Particles/P_Sparks.uasset new file mode 100644 index 0000000..8a6dc37 Binary files /dev/null and b/Content/StarterContent/Particles/P_Sparks.uasset differ diff --git a/Content/StarterContent/Particles/P_Steam_Lit.uasset b/Content/StarterContent/Particles/P_Steam_Lit.uasset new file mode 100644 index 0000000..3e96da7 Binary files /dev/null and b/Content/StarterContent/Particles/P_Steam_Lit.uasset differ diff --git a/Content/StarterContent/Props/MaterialSphere.uasset b/Content/StarterContent/Props/MaterialSphere.uasset new file mode 100644 index 0000000..6a2538f Binary files /dev/null and b/Content/StarterContent/Props/MaterialSphere.uasset differ diff --git a/Content/StarterContent/Props/Materials/M_Bush.uasset b/Content/StarterContent/Props/Materials/M_Bush.uasset new file mode 100644 index 0000000..eaa4a2a Binary files /dev/null and b/Content/StarterContent/Props/Materials/M_Bush.uasset differ diff --git a/Content/StarterContent/Props/Materials/M_Chair.uasset b/Content/StarterContent/Props/Materials/M_Chair.uasset new file mode 100644 index 0000000..e7446be Binary files /dev/null and b/Content/StarterContent/Props/Materials/M_Chair.uasset differ diff --git a/Content/StarterContent/Props/Materials/M_Door.uasset b/Content/StarterContent/Props/Materials/M_Door.uasset new file mode 100644 index 0000000..714d0f6 Binary files /dev/null and b/Content/StarterContent/Props/Materials/M_Door.uasset differ diff --git a/Content/StarterContent/Props/Materials/M_Frame.uasset b/Content/StarterContent/Props/Materials/M_Frame.uasset new file mode 100644 index 0000000..2a2dff8 Binary files /dev/null and b/Content/StarterContent/Props/Materials/M_Frame.uasset differ diff --git a/Content/StarterContent/Props/Materials/M_Lamp.uasset b/Content/StarterContent/Props/Materials/M_Lamp.uasset new file mode 100644 index 0000000..3eb6663 Binary files /dev/null and b/Content/StarterContent/Props/Materials/M_Lamp.uasset differ diff --git a/Content/StarterContent/Props/Materials/M_Rock.uasset b/Content/StarterContent/Props/Materials/M_Rock.uasset new file mode 100644 index 0000000..2d59537 Binary files /dev/null and b/Content/StarterContent/Props/Materials/M_Rock.uasset differ diff --git a/Content/StarterContent/Props/Materials/M_Shelf.uasset b/Content/StarterContent/Props/Materials/M_Shelf.uasset new file mode 100644 index 0000000..2444258 Binary files /dev/null and b/Content/StarterContent/Props/Materials/M_Shelf.uasset differ diff --git a/Content/StarterContent/Props/Materials/M_Statue.uasset b/Content/StarterContent/Props/Materials/M_Statue.uasset new file mode 100644 index 0000000..775313d Binary files /dev/null and b/Content/StarterContent/Props/Materials/M_Statue.uasset differ diff --git a/Content/StarterContent/Props/Materials/M_StatueGlass.uasset b/Content/StarterContent/Props/Materials/M_StatueGlass.uasset new file mode 100644 index 0000000..d1592b3 Binary files /dev/null and b/Content/StarterContent/Props/Materials/M_StatueGlass.uasset differ diff --git a/Content/StarterContent/Props/Materials/M_TableRound.uasset b/Content/StarterContent/Props/Materials/M_TableRound.uasset new file mode 100644 index 0000000..66b487c Binary files /dev/null and b/Content/StarterContent/Props/Materials/M_TableRound.uasset differ diff --git a/Content/StarterContent/Props/SM_Bush.uasset b/Content/StarterContent/Props/SM_Bush.uasset new file mode 100644 index 0000000..060a376 Binary files /dev/null and b/Content/StarterContent/Props/SM_Bush.uasset differ diff --git a/Content/StarterContent/Props/SM_Chair.uasset b/Content/StarterContent/Props/SM_Chair.uasset new file mode 100644 index 0000000..e062426 Binary files /dev/null and b/Content/StarterContent/Props/SM_Chair.uasset differ diff --git a/Content/StarterContent/Props/SM_CornerFrame.uasset b/Content/StarterContent/Props/SM_CornerFrame.uasset new file mode 100644 index 0000000..5710151 Binary files /dev/null and b/Content/StarterContent/Props/SM_CornerFrame.uasset differ diff --git a/Content/StarterContent/Props/SM_Couch.uasset b/Content/StarterContent/Props/SM_Couch.uasset new file mode 100644 index 0000000..cc7d408 Binary files /dev/null and b/Content/StarterContent/Props/SM_Couch.uasset differ diff --git a/Content/StarterContent/Props/SM_Door.uasset b/Content/StarterContent/Props/SM_Door.uasset new file mode 100644 index 0000000..22c9bfc Binary files /dev/null and b/Content/StarterContent/Props/SM_Door.uasset differ diff --git a/Content/StarterContent/Props/SM_DoorFrame.uasset b/Content/StarterContent/Props/SM_DoorFrame.uasset new file mode 100644 index 0000000..ab5e96f Binary files /dev/null and b/Content/StarterContent/Props/SM_DoorFrame.uasset differ diff --git a/Content/StarterContent/Props/SM_GlassWindow.uasset b/Content/StarterContent/Props/SM_GlassWindow.uasset new file mode 100644 index 0000000..93863f4 Binary files /dev/null and b/Content/StarterContent/Props/SM_GlassWindow.uasset differ diff --git a/Content/StarterContent/Props/SM_Lamp_Ceiling.uasset b/Content/StarterContent/Props/SM_Lamp_Ceiling.uasset new file mode 100644 index 0000000..4e55f04 Binary files /dev/null and b/Content/StarterContent/Props/SM_Lamp_Ceiling.uasset differ diff --git a/Content/StarterContent/Props/SM_Lamp_Wall.uasset b/Content/StarterContent/Props/SM_Lamp_Wall.uasset new file mode 100644 index 0000000..a1b112f Binary files /dev/null and b/Content/StarterContent/Props/SM_Lamp_Wall.uasset differ diff --git a/Content/StarterContent/Props/SM_PillarFrame.uasset b/Content/StarterContent/Props/SM_PillarFrame.uasset new file mode 100644 index 0000000..7cafefe Binary files /dev/null and b/Content/StarterContent/Props/SM_PillarFrame.uasset differ diff --git a/Content/StarterContent/Props/SM_PillarFrame300.uasset b/Content/StarterContent/Props/SM_PillarFrame300.uasset new file mode 100644 index 0000000..c681a0a Binary files /dev/null and b/Content/StarterContent/Props/SM_PillarFrame300.uasset differ diff --git a/Content/StarterContent/Props/SM_Rock.uasset b/Content/StarterContent/Props/SM_Rock.uasset new file mode 100644 index 0000000..419f4d5 Binary files /dev/null and b/Content/StarterContent/Props/SM_Rock.uasset differ diff --git a/Content/StarterContent/Props/SM_Shelf.uasset b/Content/StarterContent/Props/SM_Shelf.uasset new file mode 100644 index 0000000..7ebb820 Binary files /dev/null and b/Content/StarterContent/Props/SM_Shelf.uasset differ diff --git a/Content/StarterContent/Props/SM_Stairs.uasset b/Content/StarterContent/Props/SM_Stairs.uasset new file mode 100644 index 0000000..d0e84cc Binary files /dev/null and b/Content/StarterContent/Props/SM_Stairs.uasset differ diff --git a/Content/StarterContent/Props/SM_Statue.uasset b/Content/StarterContent/Props/SM_Statue.uasset new file mode 100644 index 0000000..d0e5b8d Binary files /dev/null and b/Content/StarterContent/Props/SM_Statue.uasset differ diff --git a/Content/StarterContent/Props/SM_TableRound.uasset b/Content/StarterContent/Props/SM_TableRound.uasset new file mode 100644 index 0000000..317b8ff Binary files /dev/null and b/Content/StarterContent/Props/SM_TableRound.uasset differ diff --git a/Content/StarterContent/Props/SM_WindowFrame.uasset b/Content/StarterContent/Props/SM_WindowFrame.uasset new file mode 100644 index 0000000..bfc9f90 Binary files /dev/null and b/Content/StarterContent/Props/SM_WindowFrame.uasset differ diff --git a/Content/StarterContent/Shapes/Shape_Cone.uasset b/Content/StarterContent/Shapes/Shape_Cone.uasset new file mode 100644 index 0000000..200f0a2 Binary files /dev/null and b/Content/StarterContent/Shapes/Shape_Cone.uasset differ diff --git a/Content/StarterContent/Shapes/Shape_Cube.uasset b/Content/StarterContent/Shapes/Shape_Cube.uasset new file mode 100644 index 0000000..4d169fe Binary files /dev/null and b/Content/StarterContent/Shapes/Shape_Cube.uasset differ diff --git a/Content/StarterContent/Shapes/Shape_Cylinder.uasset b/Content/StarterContent/Shapes/Shape_Cylinder.uasset new file mode 100644 index 0000000..06541d9 Binary files /dev/null and b/Content/StarterContent/Shapes/Shape_Cylinder.uasset differ diff --git a/Content/StarterContent/Shapes/Shape_NarrowCapsule.uasset b/Content/StarterContent/Shapes/Shape_NarrowCapsule.uasset new file mode 100644 index 0000000..0322b31 Binary files /dev/null and b/Content/StarterContent/Shapes/Shape_NarrowCapsule.uasset differ diff --git a/Content/StarterContent/Shapes/Shape_Pipe.uasset b/Content/StarterContent/Shapes/Shape_Pipe.uasset new file mode 100644 index 0000000..f2549a3 Binary files /dev/null and b/Content/StarterContent/Shapes/Shape_Pipe.uasset differ diff --git a/Content/StarterContent/Shapes/Shape_Pipe_180.uasset b/Content/StarterContent/Shapes/Shape_Pipe_180.uasset new file mode 100644 index 0000000..b152330 Binary files /dev/null and b/Content/StarterContent/Shapes/Shape_Pipe_180.uasset differ diff --git a/Content/StarterContent/Shapes/Shape_Pipe_90.uasset b/Content/StarterContent/Shapes/Shape_Pipe_90.uasset new file mode 100644 index 0000000..db79ad4 Binary files /dev/null and b/Content/StarterContent/Shapes/Shape_Pipe_90.uasset differ diff --git a/Content/StarterContent/Shapes/Shape_Plane.uasset b/Content/StarterContent/Shapes/Shape_Plane.uasset new file mode 100644 index 0000000..f338efa Binary files /dev/null and b/Content/StarterContent/Shapes/Shape_Plane.uasset differ diff --git a/Content/StarterContent/Shapes/Shape_QuadPyramid.uasset b/Content/StarterContent/Shapes/Shape_QuadPyramid.uasset new file mode 100644 index 0000000..e228f15 Binary files /dev/null and b/Content/StarterContent/Shapes/Shape_QuadPyramid.uasset differ diff --git a/Content/StarterContent/Shapes/Shape_Sphere.uasset b/Content/StarterContent/Shapes/Shape_Sphere.uasset new file mode 100644 index 0000000..0b7fc69 Binary files /dev/null and b/Content/StarterContent/Shapes/Shape_Sphere.uasset differ diff --git a/Content/StarterContent/Shapes/Shape_Torus.uasset b/Content/StarterContent/Shapes/Shape_Torus.uasset new file mode 100644 index 0000000..cfbaac4 Binary files /dev/null and b/Content/StarterContent/Shapes/Shape_Torus.uasset differ diff --git a/Content/StarterContent/Shapes/Shape_TriPyramid.uasset b/Content/StarterContent/Shapes/Shape_TriPyramid.uasset new file mode 100644 index 0000000..f28d857 Binary files /dev/null and b/Content/StarterContent/Shapes/Shape_TriPyramid.uasset differ diff --git a/Content/StarterContent/Shapes/Shape_Trim.uasset b/Content/StarterContent/Shapes/Shape_Trim.uasset new file mode 100644 index 0000000..0909161 Binary files /dev/null and b/Content/StarterContent/Shapes/Shape_Trim.uasset differ diff --git a/Content/StarterContent/Shapes/Shape_Trim_90_In.uasset b/Content/StarterContent/Shapes/Shape_Trim_90_In.uasset new file mode 100644 index 0000000..6e33a90 Binary files /dev/null and b/Content/StarterContent/Shapes/Shape_Trim_90_In.uasset differ diff --git a/Content/StarterContent/Shapes/Shape_Trim_90_Out.uasset b/Content/StarterContent/Shapes/Shape_Trim_90_Out.uasset new file mode 100644 index 0000000..8125f77 Binary files /dev/null and b/Content/StarterContent/Shapes/Shape_Trim_90_Out.uasset differ diff --git a/Content/StarterContent/Shapes/Shape_Tube.uasset b/Content/StarterContent/Shapes/Shape_Tube.uasset new file mode 100644 index 0000000..b2e9a43 Binary files /dev/null and b/Content/StarterContent/Shapes/Shape_Tube.uasset differ diff --git a/Content/StarterContent/Shapes/Shape_Wedge_A.uasset b/Content/StarterContent/Shapes/Shape_Wedge_A.uasset new file mode 100644 index 0000000..b99fde7 Binary files /dev/null and b/Content/StarterContent/Shapes/Shape_Wedge_A.uasset differ diff --git a/Content/StarterContent/Shapes/Shape_Wedge_B.uasset b/Content/StarterContent/Shapes/Shape_Wedge_B.uasset new file mode 100644 index 0000000..2e8f430 Binary files /dev/null and b/Content/StarterContent/Shapes/Shape_Wedge_B.uasset differ diff --git a/Content/StarterContent/Shapes/Shape_WideCapsule.uasset b/Content/StarterContent/Shapes/Shape_WideCapsule.uasset new file mode 100644 index 0000000..830b90d Binary files /dev/null and b/Content/StarterContent/Shapes/Shape_WideCapsule.uasset differ diff --git a/Content/StarterContent/Textures/T_Brick_Clay_Beveled_D.uasset b/Content/StarterContent/Textures/T_Brick_Clay_Beveled_D.uasset new file mode 100644 index 0000000..8ea9227 Binary files /dev/null and b/Content/StarterContent/Textures/T_Brick_Clay_Beveled_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Brick_Clay_Beveled_M.uasset b/Content/StarterContent/Textures/T_Brick_Clay_Beveled_M.uasset new file mode 100644 index 0000000..995cc82 Binary files /dev/null and b/Content/StarterContent/Textures/T_Brick_Clay_Beveled_M.uasset differ diff --git a/Content/StarterContent/Textures/T_Brick_Clay_Beveled_N.uasset b/Content/StarterContent/Textures/T_Brick_Clay_Beveled_N.uasset new file mode 100644 index 0000000..bf6633d Binary files /dev/null and b/Content/StarterContent/Textures/T_Brick_Clay_Beveled_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Brick_Clay_New_D.uasset b/Content/StarterContent/Textures/T_Brick_Clay_New_D.uasset new file mode 100644 index 0000000..5d32850 Binary files /dev/null and b/Content/StarterContent/Textures/T_Brick_Clay_New_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Brick_Clay_New_M.uasset b/Content/StarterContent/Textures/T_Brick_Clay_New_M.uasset new file mode 100644 index 0000000..e386e9d Binary files /dev/null and b/Content/StarterContent/Textures/T_Brick_Clay_New_M.uasset differ diff --git a/Content/StarterContent/Textures/T_Brick_Clay_New_N.uasset b/Content/StarterContent/Textures/T_Brick_Clay_New_N.uasset new file mode 100644 index 0000000..f4dc14a Binary files /dev/null and b/Content/StarterContent/Textures/T_Brick_Clay_New_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Brick_Clay_Old_D.uasset b/Content/StarterContent/Textures/T_Brick_Clay_Old_D.uasset new file mode 100644 index 0000000..acec520 Binary files /dev/null and b/Content/StarterContent/Textures/T_Brick_Clay_Old_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Brick_Clay_Old_N.uasset b/Content/StarterContent/Textures/T_Brick_Clay_Old_N.uasset new file mode 100644 index 0000000..49fac3f Binary files /dev/null and b/Content/StarterContent/Textures/T_Brick_Clay_Old_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Brick_Cut_Stone_D.uasset b/Content/StarterContent/Textures/T_Brick_Cut_Stone_D.uasset new file mode 100644 index 0000000..1f76e63 Binary files /dev/null and b/Content/StarterContent/Textures/T_Brick_Cut_Stone_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Brick_Cut_Stone_N.uasset b/Content/StarterContent/Textures/T_Brick_Cut_Stone_N.uasset new file mode 100644 index 0000000..9cf63ce Binary files /dev/null and b/Content/StarterContent/Textures/T_Brick_Cut_Stone_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Brick_Hewn_Stone_D.uasset b/Content/StarterContent/Textures/T_Brick_Hewn_Stone_D.uasset new file mode 100644 index 0000000..cf67614 Binary files /dev/null and b/Content/StarterContent/Textures/T_Brick_Hewn_Stone_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Brick_Hewn_Stone_M.uasset b/Content/StarterContent/Textures/T_Brick_Hewn_Stone_M.uasset new file mode 100644 index 0000000..81c5fcf Binary files /dev/null and b/Content/StarterContent/Textures/T_Brick_Hewn_Stone_M.uasset differ diff --git a/Content/StarterContent/Textures/T_Brick_Hewn_Stone_N.uasset b/Content/StarterContent/Textures/T_Brick_Hewn_Stone_N.uasset new file mode 100644 index 0000000..27c49b5 Binary files /dev/null and b/Content/StarterContent/Textures/T_Brick_Hewn_Stone_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Burst_M.uasset b/Content/StarterContent/Textures/T_Burst_M.uasset new file mode 100644 index 0000000..35b26fc Binary files /dev/null and b/Content/StarterContent/Textures/T_Burst_M.uasset differ diff --git a/Content/StarterContent/Textures/T_Bush_D.uasset b/Content/StarterContent/Textures/T_Bush_D.uasset new file mode 100644 index 0000000..d539936 Binary files /dev/null and b/Content/StarterContent/Textures/T_Bush_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Bush_N.uasset b/Content/StarterContent/Textures/T_Bush_N.uasset new file mode 100644 index 0000000..a9f1c7e Binary files /dev/null and b/Content/StarterContent/Textures/T_Bush_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Ceramic_Tile_M.uasset b/Content/StarterContent/Textures/T_Ceramic_Tile_M.uasset new file mode 100644 index 0000000..8214218 Binary files /dev/null and b/Content/StarterContent/Textures/T_Ceramic_Tile_M.uasset differ diff --git a/Content/StarterContent/Textures/T_Ceramic_Tile_N.uasset b/Content/StarterContent/Textures/T_Ceramic_Tile_N.uasset new file mode 100644 index 0000000..343aeb8 Binary files /dev/null and b/Content/StarterContent/Textures/T_Ceramic_Tile_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Chair_M.uasset b/Content/StarterContent/Textures/T_Chair_M.uasset new file mode 100644 index 0000000..40e1e6f Binary files /dev/null and b/Content/StarterContent/Textures/T_Chair_M.uasset differ diff --git a/Content/StarterContent/Textures/T_Chair_N.uasset b/Content/StarterContent/Textures/T_Chair_N.uasset new file mode 100644 index 0000000..af1c8a4 Binary files /dev/null and b/Content/StarterContent/Textures/T_Chair_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Checker_Noise_M.uasset b/Content/StarterContent/Textures/T_Checker_Noise_M.uasset new file mode 100644 index 0000000..58b5668 Binary files /dev/null and b/Content/StarterContent/Textures/T_Checker_Noise_M.uasset differ diff --git a/Content/StarterContent/Textures/T_CobbleStone_Pebble_D.uasset b/Content/StarterContent/Textures/T_CobbleStone_Pebble_D.uasset new file mode 100644 index 0000000..bc3db66 Binary files /dev/null and b/Content/StarterContent/Textures/T_CobbleStone_Pebble_D.uasset differ diff --git a/Content/StarterContent/Textures/T_CobbleStone_Pebble_M.uasset b/Content/StarterContent/Textures/T_CobbleStone_Pebble_M.uasset new file mode 100644 index 0000000..7a953e9 Binary files /dev/null and b/Content/StarterContent/Textures/T_CobbleStone_Pebble_M.uasset differ diff --git a/Content/StarterContent/Textures/T_CobbleStone_Pebble_N.uasset b/Content/StarterContent/Textures/T_CobbleStone_Pebble_N.uasset new file mode 100644 index 0000000..46da547 Binary files /dev/null and b/Content/StarterContent/Textures/T_CobbleStone_Pebble_N.uasset differ diff --git a/Content/StarterContent/Textures/T_CobbleStone_Rough_D.uasset b/Content/StarterContent/Textures/T_CobbleStone_Rough_D.uasset new file mode 100644 index 0000000..1bc4666 Binary files /dev/null and b/Content/StarterContent/Textures/T_CobbleStone_Rough_D.uasset differ diff --git a/Content/StarterContent/Textures/T_CobbleStone_Rough_N.uasset b/Content/StarterContent/Textures/T_CobbleStone_Rough_N.uasset new file mode 100644 index 0000000..935d1af Binary files /dev/null and b/Content/StarterContent/Textures/T_CobbleStone_Rough_N.uasset differ diff --git a/Content/StarterContent/Textures/T_CobbleStone_Smooth_D.uasset b/Content/StarterContent/Textures/T_CobbleStone_Smooth_D.uasset new file mode 100644 index 0000000..44e5597 Binary files /dev/null and b/Content/StarterContent/Textures/T_CobbleStone_Smooth_D.uasset differ diff --git a/Content/StarterContent/Textures/T_CobbleStone_Smooth_M.uasset b/Content/StarterContent/Textures/T_CobbleStone_Smooth_M.uasset new file mode 100644 index 0000000..165106f Binary files /dev/null and b/Content/StarterContent/Textures/T_CobbleStone_Smooth_M.uasset differ diff --git a/Content/StarterContent/Textures/T_CobbleStone_Smooth_N.uasset b/Content/StarterContent/Textures/T_CobbleStone_Smooth_N.uasset new file mode 100644 index 0000000..4207398 Binary files /dev/null and b/Content/StarterContent/Textures/T_CobbleStone_Smooth_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Concrete_Grime_D.uasset b/Content/StarterContent/Textures/T_Concrete_Grime_D.uasset new file mode 100644 index 0000000..d6667d2 Binary files /dev/null and b/Content/StarterContent/Textures/T_Concrete_Grime_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Concrete_Panels_D.uasset b/Content/StarterContent/Textures/T_Concrete_Panels_D.uasset new file mode 100644 index 0000000..75134e3 Binary files /dev/null and b/Content/StarterContent/Textures/T_Concrete_Panels_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Concrete_Panels_N.uasset b/Content/StarterContent/Textures/T_Concrete_Panels_N.uasset new file mode 100644 index 0000000..6db0432 Binary files /dev/null and b/Content/StarterContent/Textures/T_Concrete_Panels_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Concrete_Poured_D.uasset b/Content/StarterContent/Textures/T_Concrete_Poured_D.uasset new file mode 100644 index 0000000..f2d651c Binary files /dev/null and b/Content/StarterContent/Textures/T_Concrete_Poured_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Concrete_Poured_N.uasset b/Content/StarterContent/Textures/T_Concrete_Poured_N.uasset new file mode 100644 index 0000000..edc2e1b Binary files /dev/null and b/Content/StarterContent/Textures/T_Concrete_Poured_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Concrete_Tiles_D.uasset b/Content/StarterContent/Textures/T_Concrete_Tiles_D.uasset new file mode 100644 index 0000000..b98f3a7 Binary files /dev/null and b/Content/StarterContent/Textures/T_Concrete_Tiles_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Concrete_Tiles_M.uasset b/Content/StarterContent/Textures/T_Concrete_Tiles_M.uasset new file mode 100644 index 0000000..cc1fe76 Binary files /dev/null and b/Content/StarterContent/Textures/T_Concrete_Tiles_M.uasset differ diff --git a/Content/StarterContent/Textures/T_Concrete_Tiles_N.uasset b/Content/StarterContent/Textures/T_Concrete_Tiles_N.uasset new file mode 100644 index 0000000..d5d6b3a Binary files /dev/null and b/Content/StarterContent/Textures/T_Concrete_Tiles_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Concrete_Tiles_Variation_M.uasset b/Content/StarterContent/Textures/T_Concrete_Tiles_Variation_M.uasset new file mode 100644 index 0000000..5edef8f Binary files /dev/null and b/Content/StarterContent/Textures/T_Concrete_Tiles_Variation_M.uasset differ diff --git a/Content/StarterContent/Textures/T_Detail_Rocky_N.uasset b/Content/StarterContent/Textures/T_Detail_Rocky_N.uasset new file mode 100644 index 0000000..a80dc77 Binary files /dev/null and b/Content/StarterContent/Textures/T_Detail_Rocky_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Door_M.uasset b/Content/StarterContent/Textures/T_Door_M.uasset new file mode 100644 index 0000000..b5eec21 Binary files /dev/null and b/Content/StarterContent/Textures/T_Door_M.uasset differ diff --git a/Content/StarterContent/Textures/T_Door_N.uasset b/Content/StarterContent/Textures/T_Door_N.uasset new file mode 100644 index 0000000..93e2c30 Binary files /dev/null and b/Content/StarterContent/Textures/T_Door_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Dust_Particle_D.uasset b/Content/StarterContent/Textures/T_Dust_Particle_D.uasset new file mode 100644 index 0000000..d80b3a0 Binary files /dev/null and b/Content/StarterContent/Textures/T_Dust_Particle_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Explosion_SubUV.uasset b/Content/StarterContent/Textures/T_Explosion_SubUV.uasset new file mode 100644 index 0000000..d30f842 Binary files /dev/null and b/Content/StarterContent/Textures/T_Explosion_SubUV.uasset differ diff --git a/Content/StarterContent/Textures/T_Fire_SubUV.uasset b/Content/StarterContent/Textures/T_Fire_SubUV.uasset new file mode 100644 index 0000000..6e87ac7 Binary files /dev/null and b/Content/StarterContent/Textures/T_Fire_SubUV.uasset differ diff --git a/Content/StarterContent/Textures/T_Fire_Tiled_D.uasset b/Content/StarterContent/Textures/T_Fire_Tiled_D.uasset new file mode 100644 index 0000000..825765f Binary files /dev/null and b/Content/StarterContent/Textures/T_Fire_Tiled_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Frame_M.uasset b/Content/StarterContent/Textures/T_Frame_M.uasset new file mode 100644 index 0000000..4aeac1c Binary files /dev/null and b/Content/StarterContent/Textures/T_Frame_M.uasset differ diff --git a/Content/StarterContent/Textures/T_Frame_N.uasset b/Content/StarterContent/Textures/T_Frame_N.uasset new file mode 100644 index 0000000..b1a335d Binary files /dev/null and b/Content/StarterContent/Textures/T_Frame_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Gradinet_01.uasset b/Content/StarterContent/Textures/T_Gradinet_01.uasset new file mode 100644 index 0000000..a71d3dd Binary files /dev/null and b/Content/StarterContent/Textures/T_Gradinet_01.uasset differ diff --git a/Content/StarterContent/Textures/T_Ground_Grass_D.uasset b/Content/StarterContent/Textures/T_Ground_Grass_D.uasset new file mode 100644 index 0000000..0ce49d3 Binary files /dev/null and b/Content/StarterContent/Textures/T_Ground_Grass_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Ground_Grass_N.uasset b/Content/StarterContent/Textures/T_Ground_Grass_N.uasset new file mode 100644 index 0000000..c69da0d Binary files /dev/null and b/Content/StarterContent/Textures/T_Ground_Grass_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Ground_Gravel_D.uasset b/Content/StarterContent/Textures/T_Ground_Gravel_D.uasset new file mode 100644 index 0000000..3064541 Binary files /dev/null and b/Content/StarterContent/Textures/T_Ground_Gravel_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Ground_Gravel_N.uasset b/Content/StarterContent/Textures/T_Ground_Gravel_N.uasset new file mode 100644 index 0000000..e9f55a7 Binary files /dev/null and b/Content/StarterContent/Textures/T_Ground_Gravel_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Ground_Moss_N.uasset b/Content/StarterContent/Textures/T_Ground_Moss_N.uasset new file mode 100644 index 0000000..898e6ee Binary files /dev/null and b/Content/StarterContent/Textures/T_Ground_Moss_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Lamp_M.uasset b/Content/StarterContent/Textures/T_Lamp_M.uasset new file mode 100644 index 0000000..e1958b0 Binary files /dev/null and b/Content/StarterContent/Textures/T_Lamp_M.uasset differ diff --git a/Content/StarterContent/Textures/T_Lamp_N.uasset b/Content/StarterContent/Textures/T_Lamp_N.uasset new file mode 100644 index 0000000..77e47bd Binary files /dev/null and b/Content/StarterContent/Textures/T_Lamp_N.uasset differ diff --git a/Content/StarterContent/Textures/T_MacroVariation.uasset b/Content/StarterContent/Textures/T_MacroVariation.uasset new file mode 100644 index 0000000..dca6463 Binary files /dev/null and b/Content/StarterContent/Textures/T_MacroVariation.uasset differ diff --git a/Content/StarterContent/Textures/T_Metal_Aluminum_D.uasset b/Content/StarterContent/Textures/T_Metal_Aluminum_D.uasset new file mode 100644 index 0000000..225628a Binary files /dev/null and b/Content/StarterContent/Textures/T_Metal_Aluminum_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Metal_Copper_D.uasset b/Content/StarterContent/Textures/T_Metal_Copper_D.uasset new file mode 100644 index 0000000..df0cacb Binary files /dev/null and b/Content/StarterContent/Textures/T_Metal_Copper_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Metal_Gold_D.uasset b/Content/StarterContent/Textures/T_Metal_Gold_D.uasset new file mode 100644 index 0000000..0762c01 Binary files /dev/null and b/Content/StarterContent/Textures/T_Metal_Gold_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Metal_Gold_N.uasset b/Content/StarterContent/Textures/T_Metal_Gold_N.uasset new file mode 100644 index 0000000..938e7c3 Binary files /dev/null and b/Content/StarterContent/Textures/T_Metal_Gold_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Metal_Rust_D.uasset b/Content/StarterContent/Textures/T_Metal_Rust_D.uasset new file mode 100644 index 0000000..2a47b53 Binary files /dev/null and b/Content/StarterContent/Textures/T_Metal_Rust_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Metal_Rust_N.uasset b/Content/StarterContent/Textures/T_Metal_Rust_N.uasset new file mode 100644 index 0000000..c94e24d Binary files /dev/null and b/Content/StarterContent/Textures/T_Metal_Rust_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Metal_Steel_D.uasset b/Content/StarterContent/Textures/T_Metal_Steel_D.uasset new file mode 100644 index 0000000..bc8ee97 Binary files /dev/null and b/Content/StarterContent/Textures/T_Metal_Steel_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Metal_Steel_N.uasset b/Content/StarterContent/Textures/T_Metal_Steel_N.uasset new file mode 100644 index 0000000..bd90253 Binary files /dev/null and b/Content/StarterContent/Textures/T_Metal_Steel_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Perlin_Noise_M.uasset b/Content/StarterContent/Textures/T_Perlin_Noise_M.uasset new file mode 100644 index 0000000..a71f39d Binary files /dev/null and b/Content/StarterContent/Textures/T_Perlin_Noise_M.uasset differ diff --git a/Content/StarterContent/Textures/T_RockMesh_M.uasset b/Content/StarterContent/Textures/T_RockMesh_M.uasset new file mode 100644 index 0000000..91a8dbe Binary files /dev/null and b/Content/StarterContent/Textures/T_RockMesh_M.uasset differ diff --git a/Content/StarterContent/Textures/T_RockMesh_N.uasset b/Content/StarterContent/Textures/T_RockMesh_N.uasset new file mode 100644 index 0000000..cf18346 Binary files /dev/null and b/Content/StarterContent/Textures/T_RockMesh_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Rock_Basalt_D.uasset b/Content/StarterContent/Textures/T_Rock_Basalt_D.uasset new file mode 100644 index 0000000..15197b2 Binary files /dev/null and b/Content/StarterContent/Textures/T_Rock_Basalt_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Rock_Basalt_N.uasset b/Content/StarterContent/Textures/T_Rock_Basalt_N.uasset new file mode 100644 index 0000000..17ac16e Binary files /dev/null and b/Content/StarterContent/Textures/T_Rock_Basalt_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Rock_Marble_Polished_D.uasset b/Content/StarterContent/Textures/T_Rock_Marble_Polished_D.uasset new file mode 100644 index 0000000..cc564e5 Binary files /dev/null and b/Content/StarterContent/Textures/T_Rock_Marble_Polished_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Rock_Sandstone_D.uasset b/Content/StarterContent/Textures/T_Rock_Sandstone_D.uasset new file mode 100644 index 0000000..efc7c83 Binary files /dev/null and b/Content/StarterContent/Textures/T_Rock_Sandstone_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Rock_Sandstone_N.uasset b/Content/StarterContent/Textures/T_Rock_Sandstone_N.uasset new file mode 100644 index 0000000..942331b Binary files /dev/null and b/Content/StarterContent/Textures/T_Rock_Sandstone_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Rock_Slate_D.uasset b/Content/StarterContent/Textures/T_Rock_Slate_D.uasset new file mode 100644 index 0000000..b460e81 Binary files /dev/null and b/Content/StarterContent/Textures/T_Rock_Slate_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Rock_Slate_N.uasset b/Content/StarterContent/Textures/T_Rock_Slate_N.uasset new file mode 100644 index 0000000..3eb6b14 Binary files /dev/null and b/Content/StarterContent/Textures/T_Rock_Slate_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Rock_Smooth_Granite_D.uasset b/Content/StarterContent/Textures/T_Rock_Smooth_Granite_D.uasset new file mode 100644 index 0000000..9c11db2 Binary files /dev/null and b/Content/StarterContent/Textures/T_Rock_Smooth_Granite_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Shelf_M.uasset b/Content/StarterContent/Textures/T_Shelf_M.uasset new file mode 100644 index 0000000..40bea03 Binary files /dev/null and b/Content/StarterContent/Textures/T_Shelf_M.uasset differ diff --git a/Content/StarterContent/Textures/T_Shelf_N.uasset b/Content/StarterContent/Textures/T_Shelf_N.uasset new file mode 100644 index 0000000..5cb6c71 Binary files /dev/null and b/Content/StarterContent/Textures/T_Shelf_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Single_Tile_N.uasset b/Content/StarterContent/Textures/T_Single_Tile_N.uasset new file mode 100644 index 0000000..ddc0828 Binary files /dev/null and b/Content/StarterContent/Textures/T_Single_Tile_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Smoke_SubUV.uasset b/Content/StarterContent/Textures/T_Smoke_SubUV.uasset new file mode 100644 index 0000000..5c8a2d9 Binary files /dev/null and b/Content/StarterContent/Textures/T_Smoke_SubUV.uasset differ diff --git a/Content/StarterContent/Textures/T_Smoke_Tiled_D.uasset b/Content/StarterContent/Textures/T_Smoke_Tiled_D.uasset new file mode 100644 index 0000000..aad7a5e Binary files /dev/null and b/Content/StarterContent/Textures/T_Smoke_Tiled_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Spark_Core.uasset b/Content/StarterContent/Textures/T_Spark_Core.uasset new file mode 100644 index 0000000..3881b88 Binary files /dev/null and b/Content/StarterContent/Textures/T_Spark_Core.uasset differ diff --git a/Content/StarterContent/Textures/T_Statue_M.uasset b/Content/StarterContent/Textures/T_Statue_M.uasset new file mode 100644 index 0000000..d43158a Binary files /dev/null and b/Content/StarterContent/Textures/T_Statue_M.uasset differ diff --git a/Content/StarterContent/Textures/T_Statue_N.uasset b/Content/StarterContent/Textures/T_Statue_N.uasset new file mode 100644 index 0000000..787d2d5 Binary files /dev/null and b/Content/StarterContent/Textures/T_Statue_N.uasset differ diff --git a/Content/StarterContent/Textures/T_TableRound_M.uasset b/Content/StarterContent/Textures/T_TableRound_M.uasset new file mode 100644 index 0000000..a76573e Binary files /dev/null and b/Content/StarterContent/Textures/T_TableRound_M.uasset differ diff --git a/Content/StarterContent/Textures/T_TableRound_N.uasset b/Content/StarterContent/Textures/T_TableRound_N.uasset new file mode 100644 index 0000000..619c420 Binary files /dev/null and b/Content/StarterContent/Textures/T_TableRound_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Tech_Dot_M.uasset b/Content/StarterContent/Textures/T_Tech_Dot_M.uasset new file mode 100644 index 0000000..fb692b3 Binary files /dev/null and b/Content/StarterContent/Textures/T_Tech_Dot_M.uasset differ diff --git a/Content/StarterContent/Textures/T_Tech_Dot_N.uasset b/Content/StarterContent/Textures/T_Tech_Dot_N.uasset new file mode 100644 index 0000000..50d81c2 Binary files /dev/null and b/Content/StarterContent/Textures/T_Tech_Dot_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Tech_Hex_Tile_M.uasset b/Content/StarterContent/Textures/T_Tech_Hex_Tile_M.uasset new file mode 100644 index 0000000..502170b Binary files /dev/null and b/Content/StarterContent/Textures/T_Tech_Hex_Tile_M.uasset differ diff --git a/Content/StarterContent/Textures/T_Tech_Hex_Tile_N.uasset b/Content/StarterContent/Textures/T_Tech_Hex_Tile_N.uasset new file mode 100644 index 0000000..549633c Binary files /dev/null and b/Content/StarterContent/Textures/T_Tech_Hex_Tile_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Tech_Panel_M.uasset b/Content/StarterContent/Textures/T_Tech_Panel_M.uasset new file mode 100644 index 0000000..192a8e4 Binary files /dev/null and b/Content/StarterContent/Textures/T_Tech_Panel_M.uasset differ diff --git a/Content/StarterContent/Textures/T_Tech_Panel_N.uasset b/Content/StarterContent/Textures/T_Tech_Panel_N.uasset new file mode 100644 index 0000000..b12087e Binary files /dev/null and b/Content/StarterContent/Textures/T_Tech_Panel_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Water_M.uasset b/Content/StarterContent/Textures/T_Water_M.uasset new file mode 100644 index 0000000..63e9b4e Binary files /dev/null and b/Content/StarterContent/Textures/T_Water_M.uasset differ diff --git a/Content/StarterContent/Textures/T_Water_N.uasset b/Content/StarterContent/Textures/T_Water_N.uasset new file mode 100644 index 0000000..dc83c1b Binary files /dev/null and b/Content/StarterContent/Textures/T_Water_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Wood_Floor_Walnut_D.uasset b/Content/StarterContent/Textures/T_Wood_Floor_Walnut_D.uasset new file mode 100644 index 0000000..0598d9e Binary files /dev/null and b/Content/StarterContent/Textures/T_Wood_Floor_Walnut_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Wood_Floor_Walnut_M.uasset b/Content/StarterContent/Textures/T_Wood_Floor_Walnut_M.uasset new file mode 100644 index 0000000..1af473f Binary files /dev/null and b/Content/StarterContent/Textures/T_Wood_Floor_Walnut_M.uasset differ diff --git a/Content/StarterContent/Textures/T_Wood_Floor_Walnut_N.uasset b/Content/StarterContent/Textures/T_Wood_Floor_Walnut_N.uasset new file mode 100644 index 0000000..dae4bb4 Binary files /dev/null and b/Content/StarterContent/Textures/T_Wood_Floor_Walnut_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Wood_Oak_D.uasset b/Content/StarterContent/Textures/T_Wood_Oak_D.uasset new file mode 100644 index 0000000..c5494a9 Binary files /dev/null and b/Content/StarterContent/Textures/T_Wood_Oak_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Wood_Oak_N.uasset b/Content/StarterContent/Textures/T_Wood_Oak_N.uasset new file mode 100644 index 0000000..71543aa Binary files /dev/null and b/Content/StarterContent/Textures/T_Wood_Oak_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Wood_Pine_D.uasset b/Content/StarterContent/Textures/T_Wood_Pine_D.uasset new file mode 100644 index 0000000..eac50af Binary files /dev/null and b/Content/StarterContent/Textures/T_Wood_Pine_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Wood_Pine_N.uasset b/Content/StarterContent/Textures/T_Wood_Pine_N.uasset new file mode 100644 index 0000000..051a794 Binary files /dev/null and b/Content/StarterContent/Textures/T_Wood_Pine_N.uasset differ diff --git a/Content/StarterContent/Textures/T_Wood_Walnut_D.uasset b/Content/StarterContent/Textures/T_Wood_Walnut_D.uasset new file mode 100644 index 0000000..bc3c3df Binary files /dev/null and b/Content/StarterContent/Textures/T_Wood_Walnut_D.uasset differ diff --git a/Content/StarterContent/Textures/T_Wood_Walnut_N.uasset b/Content/StarterContent/Textures/T_Wood_Walnut_N.uasset new file mode 100644 index 0000000..856a1f8 Binary files /dev/null and b/Content/StarterContent/Textures/T_Wood_Walnut_N.uasset differ diff --git a/Content/StarterContent/Textures/T_ground_Moss_D.uasset b/Content/StarterContent/Textures/T_ground_Moss_D.uasset new file mode 100644 index 0000000..2b9ca5b Binary files /dev/null and b/Content/StarterContent/Textures/T_ground_Moss_D.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/0M/LYKU8MRWM4BO3O1FDZBG2U.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/0M/LYKU8MRWM4BO3O1FDZBG2U.uasset new file mode 100644 index 0000000..e4d3cea Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/0M/LYKU8MRWM4BO3O1FDZBG2U.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/7P/QZX5AESKLO855EVPT5JU20.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/7P/QZX5AESKLO855EVPT5JU20.uasset new file mode 100644 index 0000000..a0d9e2c Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/7P/QZX5AESKLO855EVPT5JU20.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/CL/381LM03PFI8AF9NED1SEV2.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/CL/381LM03PFI8AF9NED1SEV2.uasset new file mode 100644 index 0000000..6215a03 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/CL/381LM03PFI8AF9NED1SEV2.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/GO/I8WEFD3RY9V3NVQLSU6QM4.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/GO/I8WEFD3RY9V3NVQLSU6QM4.uasset new file mode 100644 index 0000000..f192f74 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/GO/I8WEFD3RY9V3NVQLSU6QM4.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/NB/NWWEVRQSGT6ARVZ8HQLCM9.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/NB/NWWEVRQSGT6ARVZ8HQLCM9.uasset new file mode 100644 index 0000000..0891db0 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/NB/NWWEVRQSGT6ARVZ8HQLCM9.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/XV/VTAF5COFGLO9YT51MQCVTR.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/XV/VTAF5COFGLO9YT51MQCVTR.uasset new file mode 100644 index 0000000..1f62e85 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/0/XV/VTAF5COFGLO9YT51MQCVTR.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/2J/R4MRTH8FEAO7ML1BCJFIZ2.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/2J/R4MRTH8FEAO7ML1BCJFIZ2.uasset new file mode 100644 index 0000000..efd5343 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/2J/R4MRTH8FEAO7ML1BCJFIZ2.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/63/MG6FOV6QQX2CAZCGF7O9MM.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/63/MG6FOV6QQX2CAZCGF7O9MM.uasset new file mode 100644 index 0000000..b69a6d7 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/63/MG6FOV6QQX2CAZCGF7O9MM.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/JT/XIHYQ8ZTVL6F9GCUZX1AQ2.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/JT/XIHYQ8ZTVL6F9GCUZX1AQ2.uasset new file mode 100644 index 0000000..9ac2332 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/JT/XIHYQ8ZTVL6F9GCUZX1AQ2.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/JW/IQ4HLH5ISNNAXZQ2O2OR6P.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/JW/IQ4HLH5ISNNAXZQ2O2OR6P.uasset new file mode 100644 index 0000000..f18d5ae Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/JW/IQ4HLH5ISNNAXZQ2O2OR6P.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/OD/YPSPM063O6XAJVKSDHY2JX.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/OD/YPSPM063O6XAJVKSDHY2JX.uasset new file mode 100644 index 0000000..415d604 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/1/OD/YPSPM063O6XAJVKSDHY2JX.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/3/0O/4IRR0TBO7VGKMMYSZRQTB1.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/3/0O/4IRR0TBO7VGKMMYSZRQTB1.uasset new file mode 100644 index 0000000..4d9cfb3 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/3/0O/4IRR0TBO7VGKMMYSZRQTB1.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/3/AI/0XWE3RNM2XQC0ST1KXG02O.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/3/AI/0XWE3RNM2XQC0ST1KXG02O.uasset new file mode 100644 index 0000000..86a5c92 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/3/AI/0XWE3RNM2XQC0ST1KXG02O.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/3/C8/Z38FT77DKZLKDXTQ7PZNM4.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/3/C8/Z38FT77DKZLKDXTQ7PZNM4.uasset new file mode 100644 index 0000000..0361117 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/3/C8/Z38FT77DKZLKDXTQ7PZNM4.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/3/CP/XRLOR3HVYVHJA3N9PKGXZH.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/3/CP/XRLOR3HVYVHJA3N9PKGXZH.uasset new file mode 100644 index 0000000..80aa393 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/3/CP/XRLOR3HVYVHJA3N9PKGXZH.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/4/CR/SRVPLA8UNZ8XIIP0E036DI.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/4/CR/SRVPLA8UNZ8XIIP0E036DI.uasset new file mode 100644 index 0000000..be81427 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/4/CR/SRVPLA8UNZ8XIIP0E036DI.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/4/E5/6XON0XLIRNWJCBCE62P2VV.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/4/E5/6XON0XLIRNWJCBCE62P2VV.uasset new file mode 100644 index 0000000..2ec1344 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/4/E5/6XON0XLIRNWJCBCE62P2VV.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/4/G2/DXY1ROMU8NVTUPH999VNGV.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/4/G2/DXY1ROMU8NVTUPH999VNGV.uasset new file mode 100644 index 0000000..967bc8f Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/4/G2/DXY1ROMU8NVTUPH999VNGV.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/4/PT/ZXUQMNLL9GZ2UNQ5D0R4A4.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/4/PT/ZXUQMNLL9GZ2UNQ5D0R4A4.uasset new file mode 100644 index 0000000..73a00da Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/4/PT/ZXUQMNLL9GZ2UNQ5D0R4A4.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/5/80/QQN0UFFAA797E1UT4IMD29.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/5/80/QQN0UFFAA797E1UT4IMD29.uasset new file mode 100644 index 0000000..aeee2d3 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/5/80/QQN0UFFAA797E1UT4IMD29.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/5/DI/1JZHHCOBVQ2F5XRUWSES1X.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/5/DI/1JZHHCOBVQ2F5XRUWSES1X.uasset new file mode 100644 index 0000000..4496c0f Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/5/DI/1JZHHCOBVQ2F5XRUWSES1X.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/5/SI/6K90CL2ZSQWKILI9NQQLEA.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/5/SI/6K90CL2ZSQWKILI9NQQLEA.uasset new file mode 100644 index 0000000..6eab154 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/5/SI/6K90CL2ZSQWKILI9NQQLEA.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/5/W4/MXSOOLN47B2MJB5ZNQINHQ.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/5/W4/MXSOOLN47B2MJB5ZNQINHQ.uasset new file mode 100644 index 0000000..0103c32 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/5/W4/MXSOOLN47B2MJB5ZNQINHQ.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/0Z/5RQIHCZ9W3UXRGL4LTLQAK.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/0Z/5RQIHCZ9W3UXRGL4LTLQAK.uasset new file mode 100644 index 0000000..3203a3f Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/0Z/5RQIHCZ9W3UXRGL4LTLQAK.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/7T/GM0EQ2Z7BN3RV91M3TA1BD.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/7T/GM0EQ2Z7BN3RV91M3TA1BD.uasset new file mode 100644 index 0000000..d4ec6d5 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/7T/GM0EQ2Z7BN3RV91M3TA1BD.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/7Z/7EHFAZ5HVWXAWQ04QO5TH0.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/7Z/7EHFAZ5HVWXAWQ04QO5TH0.uasset new file mode 100644 index 0000000..084bfad Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/7Z/7EHFAZ5HVWXAWQ04QO5TH0.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/AJ/2XZ3RUK0LFB63FVNQE7P5R.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/AJ/2XZ3RUK0LFB63FVNQE7P5R.uasset new file mode 100644 index 0000000..ce51006 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/AJ/2XZ3RUK0LFB63FVNQE7P5R.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/HC/FI3CQDKJY4J00D2B21FYQZ.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/HC/FI3CQDKJY4J00D2B21FYQZ.uasset new file mode 100644 index 0000000..381dbe6 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/6/HC/FI3CQDKJY4J00D2B21FYQZ.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/5X/6EW8RE9VA2GGHRWK614FCI.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/5X/6EW8RE9VA2GGHRWK614FCI.uasset new file mode 100644 index 0000000..d0457c5 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/5X/6EW8RE9VA2GGHRWK614FCI.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/8K/0OLPBOSZCPU1X7E3PCLCGF.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/8K/0OLPBOSZCPU1X7E3PCLCGF.uasset new file mode 100644 index 0000000..2b8bdf2 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/8K/0OLPBOSZCPU1X7E3PCLCGF.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/DF/1GID8P6B00XRWKYCXU7HT1.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/DF/1GID8P6B00XRWKYCXU7HT1.uasset new file mode 100644 index 0000000..4e958e8 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/DF/1GID8P6B00XRWKYCXU7HT1.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/GI/GZM47KS5FPIQH5TLSYC1ME.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/GI/GZM47KS5FPIQH5TLSYC1ME.uasset new file mode 100644 index 0000000..aa10913 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/GI/GZM47KS5FPIQH5TLSYC1ME.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/I8/LH9T10MU22N3EEPTZ4GAFC.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/I8/LH9T10MU22N3EEPTZ4GAFC.uasset new file mode 100644 index 0000000..aefad10 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/I8/LH9T10MU22N3EEPTZ4GAFC.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/L5/1ZJ54FMA0DAL3I2Q8RFAIB.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/L5/1ZJ54FMA0DAL3I2Q8RFAIB.uasset new file mode 100644 index 0000000..2a3eba8 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/7/L5/1ZJ54FMA0DAL3I2Q8RFAIB.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/3M/4ATOKH0ZGPCVBS85MPKAXK.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/3M/4ATOKH0ZGPCVBS85MPKAXK.uasset new file mode 100644 index 0000000..33592c4 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/3M/4ATOKH0ZGPCVBS85MPKAXK.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/80/RCXALNT3NG94XMV0V6D4XE.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/80/RCXALNT3NG94XMV0V6D4XE.uasset new file mode 100644 index 0000000..badd240 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/80/RCXALNT3NG94XMV0V6D4XE.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/CF/ZNIOCRD90Z70MMV9NMW778.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/CF/ZNIOCRD90Z70MMV9NMW778.uasset new file mode 100644 index 0000000..4d40449 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/CF/ZNIOCRD90Z70MMV9NMW778.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/CW/6HT16P8P5RAXNJG3EVYWE9.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/CW/6HT16P8P5RAXNJG3EVYWE9.uasset new file mode 100644 index 0000000..cc18cf4 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/CW/6HT16P8P5RAXNJG3EVYWE9.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/N6/7HWHBG6K5ONLNTKPMLXMYR.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/N6/7HWHBG6K5ONLNTKPMLXMYR.uasset new file mode 100644 index 0000000..9e4facd Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/N6/7HWHBG6K5ONLNTKPMLXMYR.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/SZ/D1AHM62WL9TXSNPYQDXQMZ.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/SZ/D1AHM62WL9TXSNPYQDXQMZ.uasset new file mode 100644 index 0000000..07e1045 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/SZ/D1AHM62WL9TXSNPYQDXQMZ.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/Y4/KY9ZXT77SAVGWBRTNCFCSC.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/Y4/KY9ZXT77SAVGWBRTNCFCSC.uasset new file mode 100644 index 0000000..c6c879a Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/Y4/KY9ZXT77SAVGWBRTNCFCSC.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/Z7/W1SXRCM1KAKBJOIZDLHZ47.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/Z7/W1SXRCM1KAKBJOIZDLHZ47.uasset new file mode 100644 index 0000000..5e70b62 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/8/Z7/W1SXRCM1KAKBJOIZDLHZ47.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/6K/53TOYTOLDEUBMS5SLUFP3V.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/6K/53TOYTOLDEUBMS5SLUFP3V.uasset new file mode 100644 index 0000000..3725193 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/6K/53TOYTOLDEUBMS5SLUFP3V.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/JW/IY5R6I5N0YWU9LYWKXFXH9.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/JW/IY5R6I5N0YWU9LYWKXFXH9.uasset new file mode 100644 index 0000000..9a7d4aa Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/JW/IY5R6I5N0YWU9LYWKXFXH9.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/OJ/9MHHMH0XHVZ04YDZ7NPC32.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/OJ/9MHHMH0XHVZ04YDZ7NPC32.uasset new file mode 100644 index 0000000..ce950b0 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/OJ/9MHHMH0XHVZ04YDZ7NPC32.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/Q2/TOKV0KMMZ7RIQ78R0UEDQL.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/Q2/TOKV0KMMZ7RIQ78R0UEDQL.uasset new file mode 100644 index 0000000..1dfe396 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/Q2/TOKV0KMMZ7RIQ78R0UEDQL.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/VP/FVTPO8KZ0WPMCSQLVJE6O9.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/VP/FVTPO8KZ0WPMCSQLVJE6O9.uasset new file mode 100644 index 0000000..d574514 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/9/VP/FVTPO8KZ0WPMCSQLVJE6O9.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/A/2W/U0XT0R08XQA6C15NK8ILFA.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/A/2W/U0XT0R08XQA6C15NK8ILFA.uasset new file mode 100644 index 0000000..28bfe8b Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/A/2W/U0XT0R08XQA6C15NK8ILFA.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/A/KU/12YG9I1QW2GU72MG8QQX1K.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/A/KU/12YG9I1QW2GU72MG8QQX1K.uasset new file mode 100644 index 0000000..554da4f Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/A/KU/12YG9I1QW2GU72MG8QQX1K.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/A/RJ/Z7CLKO8GGJ7RXH5PUAF4T4.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/A/RJ/Z7CLKO8GGJ7RXH5PUAF4T4.uasset new file mode 100644 index 0000000..4a1fa7a Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/A/RJ/Z7CLKO8GGJ7RXH5PUAF4T4.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/A/XJ/HL558UUAGCS9HVVOI0S7PX.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/A/XJ/HL558UUAGCS9HVVOI0S7PX.uasset new file mode 100644 index 0000000..d8b9650 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/A/XJ/HL558UUAGCS9HVVOI0S7PX.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/B/51/6JKB4DNGJP09QUHY23FHRV.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/B/51/6JKB4DNGJP09QUHY23FHRV.uasset new file mode 100644 index 0000000..a6135d5 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/B/51/6JKB4DNGJP09QUHY23FHRV.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/B/DD/654T6CAPVSXAN1LXEX71EI.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/B/DD/654T6CAPVSXAN1LXEX71EI.uasset new file mode 100644 index 0000000..2a6da42 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/B/DD/654T6CAPVSXAN1LXEX71EI.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/B/EF/G3O7YJR3QU51OHQGRYB635.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/B/EF/G3O7YJR3QU51OHQGRYB635.uasset new file mode 100644 index 0000000..740e2c2 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/B/EF/G3O7YJR3QU51OHQGRYB635.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/B/YQ/KT6JL4FVCNJJ9VFOCSF32J.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/B/YQ/KT6JL4FVCNJJ9VFOCSF32J.uasset new file mode 100644 index 0000000..050478f Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/B/YQ/KT6JL4FVCNJJ9VFOCSF32J.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/C/P8/0GJ9TLQE2YKOIFZ6YHG33H.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/C/P8/0GJ9TLQE2YKOIFZ6YHG33H.uasset new file mode 100644 index 0000000..5d4e371 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/C/P8/0GJ9TLQE2YKOIFZ6YHG33H.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/C/VO/VMN4G7K3NKKV6F8HTPHHDB.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/C/VO/VMN4G7K3NKKV6F8HTPHHDB.uasset new file mode 100644 index 0000000..eb741c8 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/C/VO/VMN4G7K3NKKV6F8HTPHHDB.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/D/0W/E1FKEGVKGOLM7HGLQPCIPO.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/D/0W/E1FKEGVKGOLM7HGLQPCIPO.uasset new file mode 100644 index 0000000..8a7f150 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/D/0W/E1FKEGVKGOLM7HGLQPCIPO.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/D/OJ/2028JO54KEAJB1N98IRKL0.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/D/OJ/2028JO54KEAJB1N98IRKL0.uasset new file mode 100644 index 0000000..d4edc29 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/D/OJ/2028JO54KEAJB1N98IRKL0.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/E/MX/R1GV431P5FDO08OFULRA01.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/E/MX/R1GV431P5FDO08OFULRA01.uasset new file mode 100644 index 0000000..9f9f3bb Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/E/MX/R1GV431P5FDO08OFULRA01.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/E/UE/YUZ9741T50O1SYRX90OB0S.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/E/UE/YUZ9741T50O1SYRX90OB0S.uasset new file mode 100644 index 0000000..1304e83 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/E/UE/YUZ9741T50O1SYRX90OB0S.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/E/V3/ICWLYCF62EJ63XTK5ZSZWV.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/E/V3/ICWLYCF62EJ63XTK5ZSZWV.uasset new file mode 100644 index 0000000..3f9a52a Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/E/V3/ICWLYCF62EJ63XTK5ZSZWV.uasset differ diff --git a/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/F/2F/0SPQG8P507LI9VUAFG20OA.uasset b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/F/2F/0SPQG8P507LI9VUAFG20OA.uasset new file mode 100644 index 0000000..a4fe216 Binary files /dev/null and b/Content/__ExternalActors__/FirstPerson/Maps/FirstPersonMap/F/2F/0SPQG8P507LI9VUAFG20OA.uasset differ diff --git a/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/1/KG/WXBHR5YF7EMN5ENSKZGERE.uasset b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/1/KG/WXBHR5YF7EMN5ENSKZGERE.uasset new file mode 100644 index 0000000..4f8efdd Binary files /dev/null and b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/1/KG/WXBHR5YF7EMN5ENSKZGERE.uasset differ diff --git a/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/3/BY/K2NKB37FY83282ZJ5Q84B9.uasset b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/3/BY/K2NKB37FY83282ZJ5Q84B9.uasset new file mode 100644 index 0000000..c060d56 Binary files /dev/null and b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/3/BY/K2NKB37FY83282ZJ5Q84B9.uasset differ diff --git a/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/5/68/DK3EWP7A4H1CU1MWJ4M3SR.uasset b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/5/68/DK3EWP7A4H1CU1MWJ4M3SR.uasset new file mode 100644 index 0000000..492668b Binary files /dev/null and b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/5/68/DK3EWP7A4H1CU1MWJ4M3SR.uasset differ diff --git a/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/6/B8/RE8N15L5TGXIQNKLJO5ONQ.uasset b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/6/B8/RE8N15L5TGXIQNKLJO5ONQ.uasset new file mode 100644 index 0000000..58faa97 Binary files /dev/null and b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/6/B8/RE8N15L5TGXIQNKLJO5ONQ.uasset differ diff --git a/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/6/VE/TF378B0L0V6R2E9RYZ61WK.uasset b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/6/VE/TF378B0L0V6R2E9RYZ61WK.uasset new file mode 100644 index 0000000..df555a6 Binary files /dev/null and b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/6/VE/TF378B0L0V6R2E9RYZ61WK.uasset differ diff --git a/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/7/XG/B4XEEQD3M51IAE3XXUCIGI.uasset b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/7/XG/B4XEEQD3M51IAE3XXUCIGI.uasset new file mode 100644 index 0000000..bcff0f3 Binary files /dev/null and b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/7/XG/B4XEEQD3M51IAE3XXUCIGI.uasset differ diff --git a/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/9/NP/OGSW48O49NB75KV3Y5NAUU.uasset b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/9/NP/OGSW48O49NB75KV3Y5NAUU.uasset new file mode 100644 index 0000000..f8cd35f Binary files /dev/null and b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/9/NP/OGSW48O49NB75KV3Y5NAUU.uasset differ diff --git a/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/E/D1/9XTHNJ7RYMHRDCEYQKNIYP.uasset b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/E/D1/9XTHNJ7RYMHRDCEYQKNIYP.uasset new file mode 100644 index 0000000..24caa46 Binary files /dev/null and b/Content/__ExternalObjects__/FirstPerson/Maps/FirstPersonMap/E/D1/9XTHNJ7RYMHRDCEYQKNIYP.uasset differ diff --git a/Shaders/Private/DeformationCS.usf b/Shaders/Private/DeformationCS.usf new file mode 100644 index 0000000..445c94b --- /dev/null +++ b/Shaders/Private/DeformationCS.usf @@ -0,0 +1,64 @@ +// DeformationCS.usf +#include "/Engine/Public/Platform.ush" +// 输入输出定义 +Texture2D InputTexture; +RWTexture2D OutputTexture; +// 参数缓冲区 +cbuffer Parameters +{ + float3 ImpactPoint; + float ImpactForce; + float3 ImpactNormal; + float DeformationRadius; + float Plasticity; + int3 TextureSize; + int3 UpdateRegionMin; + int3 UpdateRegionSize; +}; +// 线程组大小 +#define THREADGROUP_SIZE_X 8 +#define THREADGROUP_SIZE_Y 8 +[numthreads(THREADGROUP_SIZE_X, THREADGROUP_SIZE_Y, 1)] +void MainCS( + uint3 GroupID : SV_GroupID, + uint3 GroupThreadID : SV_GroupThreadID, + uint3 DispatchThreadID : SV_DispatchThreadID +) +{ + // 计算全局像素坐标 + int2 PixelCoord = DispatchThreadID.xy + int2(UpdateRegionMin.xy); + + // 检查是否在有效区域内 + if (PixelCoord.x >= UpdateRegionMin.x + UpdateRegionSize.x || + PixelCoord.y >= UpdateRegionMin.y + UpdateRegionSize.y) + { + return; + } + + // 从输入纹理读取位置 + float4 OriginalPos = InputTexture.Load(int3(PixelCoord, 0)); + + // 计算到碰撞点的距离 + float dist = distance(OriginalPos.xyz, ImpactPoint); + + // 在变形半径内处理 + if (dist < DeformationRadius) + { + // 计算变形衰减 (高斯衰减) + float falloff = exp(-(dist * dist) / (2.0 * DeformationRadius * DeformationRadius)); + + // 计算变形量 (考虑法线方向) + float3 deformation = ImpactNormal * ImpactForce * falloff * 0.01; + + // 应用塑性变形 + float3 newPos = OriginalPos.xyz + deformation * Plasticity; + + // 写入新位置 + OutputTexture[PixelCoord] = float4(newPos, OriginalPos.w); + } + else + { + // 保持原位置 + OutputTexture[PixelCoord] = OriginalPos; + } +} \ No newline at end of file diff --git a/Source/BladeSmith.Target.cs b/Source/BladeSmith.Target.cs new file mode 100644 index 0000000..be02ca5 --- /dev/null +++ b/Source/BladeSmith.Target.cs @@ -0,0 +1,15 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using UnrealBuildTool; +using System.Collections.Generic; + +public class BladeSmithTarget : TargetRules +{ + public BladeSmithTarget(TargetInfo Target) : base(Target) + { + Type = TargetType.Game; + DefaultBuildSettings = BuildSettingsVersion.V5; + IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_5; + ExtraModuleNames.Add("BladeSmith"); + } +} diff --git a/Source/BladeSmith/BladeSmith.Build.cs b/Source/BladeSmith/BladeSmith.Build.cs new file mode 100644 index 0000000..bbac650 --- /dev/null +++ b/Source/BladeSmith/BladeSmith.Build.cs @@ -0,0 +1,13 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using UnrealBuildTool; + +public class BladeSmith : ModuleRules +{ + public BladeSmith(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "EnhancedInput","RenderCore","RHI" }); + } +} diff --git a/Source/BladeSmith/BladeSmith.cpp b/Source/BladeSmith/BladeSmith.cpp new file mode 100644 index 0000000..16e2074 --- /dev/null +++ b/Source/BladeSmith/BladeSmith.cpp @@ -0,0 +1,7 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "BladeSmith.h" +#include "Modules/ModuleManager.h" + +IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, BladeSmith, "BladeSmith" ); + \ No newline at end of file diff --git a/Source/BladeSmith/BladeSmith.h b/Source/BladeSmith/BladeSmith.h new file mode 100644 index 0000000..ddbf2e2 --- /dev/null +++ b/Source/BladeSmith/BladeSmith.h @@ -0,0 +1,5 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" diff --git a/Source/BladeSmith/BladeSmithCharacter.cpp b/Source/BladeSmith/BladeSmithCharacter.cpp new file mode 100644 index 0000000..1470af9 --- /dev/null +++ b/Source/BladeSmith/BladeSmithCharacter.cpp @@ -0,0 +1,102 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "BladeSmithCharacter.h" +#include "BladeSmithProjectile.h" +#include "Animation/AnimInstance.h" +#include "Camera/CameraComponent.h" +#include "Components/CapsuleComponent.h" +#include "Components/SkeletalMeshComponent.h" +#include "EnhancedInputComponent.h" +#include "EnhancedInputSubsystems.h" +#include "InputActionValue.h" +#include "Engine/LocalPlayer.h" + +DEFINE_LOG_CATEGORY(LogTemplateCharacter); + +////////////////////////////////////////////////////////////////////////// +// ABladeSmithCharacter + +ABladeSmithCharacter::ABladeSmithCharacter() +{ + // Set size for collision capsule + GetCapsuleComponent()->InitCapsuleSize(55.f, 96.0f); + + // Create a CameraComponent + FirstPersonCameraComponent = CreateDefaultSubobject(TEXT("FirstPersonCamera")); + FirstPersonCameraComponent->SetupAttachment(GetCapsuleComponent()); + FirstPersonCameraComponent->SetRelativeLocation(FVector(-10.f, 0.f, 60.f)); // Position the camera + FirstPersonCameraComponent->bUsePawnControlRotation = true; + + // Create a mesh component that will be used when being viewed from a '1st person' view (when controlling this pawn) + Mesh1P = CreateDefaultSubobject(TEXT("CharacterMesh1P")); + Mesh1P->SetOnlyOwnerSee(true); + Mesh1P->SetupAttachment(FirstPersonCameraComponent); + Mesh1P->bCastDynamicShadow = false; + Mesh1P->CastShadow = false; + Mesh1P->SetRelativeLocation(FVector(-30.f, 0.f, -150.f)); + +} + +//////////////////////////////////////////////////////////////////////////// Input + +void ABladeSmithCharacter::NotifyControllerChanged() +{ + Super::NotifyControllerChanged(); + + // Add Input Mapping Context + if (APlayerController* PlayerController = Cast(Controller)) + { + if (UEnhancedInputLocalPlayerSubsystem* Subsystem = ULocalPlayer::GetSubsystem(PlayerController->GetLocalPlayer())) + { + Subsystem->AddMappingContext(DefaultMappingContext, 0); + } + } +} + +void ABladeSmithCharacter::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent) +{ + // Set up action bindings + if (UEnhancedInputComponent* EnhancedInputComponent = Cast(PlayerInputComponent)) + { + // Jumping + EnhancedInputComponent->BindAction(JumpAction, ETriggerEvent::Started, this, &ACharacter::Jump); + EnhancedInputComponent->BindAction(JumpAction, ETriggerEvent::Completed, this, &ACharacter::StopJumping); + + // Moving + EnhancedInputComponent->BindAction(MoveAction, ETriggerEvent::Triggered, this, &ABladeSmithCharacter::Move); + + // Looking + EnhancedInputComponent->BindAction(LookAction, ETriggerEvent::Triggered, this, &ABladeSmithCharacter::Look); + } + else + { + UE_LOG(LogTemplateCharacter, Error, TEXT("'%s' Failed to find an Enhanced Input Component! This template is built to use the Enhanced Input system. If you intend to use the legacy system, then you will need to update this C++ file."), *GetNameSafe(this)); + } +} + + +void ABladeSmithCharacter::Move(const FInputActionValue& Value) +{ + // input is a Vector2D + FVector2D MovementVector = Value.Get(); + + if (Controller != nullptr) + { + // add movement + AddMovementInput(GetActorForwardVector(), MovementVector.Y); + AddMovementInput(GetActorRightVector(), MovementVector.X); + } +} + +void ABladeSmithCharacter::Look(const FInputActionValue& Value) +{ + // input is a Vector2D + FVector2D LookAxisVector = Value.Get(); + + if (Controller != nullptr) + { + // add yaw and pitch input to controller + AddControllerYawInput(LookAxisVector.X); + AddControllerPitchInput(LookAxisVector.Y); + } +} \ No newline at end of file diff --git a/Source/BladeSmith/BladeSmithCharacter.h b/Source/BladeSmith/BladeSmithCharacter.h new file mode 100644 index 0000000..33b7594 --- /dev/null +++ b/Source/BladeSmith/BladeSmithCharacter.h @@ -0,0 +1,71 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "GameFramework/Character.h" +#include "Logging/LogMacros.h" +#include "BladeSmithCharacter.generated.h" + +class UInputComponent; +class USkeletalMeshComponent; +class UCameraComponent; +class UInputAction; +class UInputMappingContext; +struct FInputActionValue; + +DECLARE_LOG_CATEGORY_EXTERN(LogTemplateCharacter, Log, All); + +UCLASS(config=Game) +class ABladeSmithCharacter : public ACharacter +{ + GENERATED_BODY() + + /** Pawn mesh: 1st person view (arms; seen only by self) */ + UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category=Mesh, meta = (AllowPrivateAccess = "true")) + USkeletalMeshComponent* Mesh1P; + + /** First person camera */ + UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera, meta = (AllowPrivateAccess = "true")) + UCameraComponent* FirstPersonCameraComponent; + + /** MappingContext */ + UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Input, meta = (AllowPrivateAccess = "true")) + UInputMappingContext* DefaultMappingContext; + + /** Jump Input Action */ + UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=Input, meta=(AllowPrivateAccess = "true")) + UInputAction* JumpAction; + + /** Move Input Action */ + UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=Input, meta=(AllowPrivateAccess = "true")) + UInputAction* MoveAction; + + /** Look Input Action */ + UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Input, meta = (AllowPrivateAccess = "true")) + class UInputAction* LookAction; + +public: + ABladeSmithCharacter(); + +protected: + /** Called for movement input */ + void Move(const FInputActionValue& Value); + + /** Called for looking input */ + void Look(const FInputActionValue& Value); + +protected: + // APawn interface + virtual void NotifyControllerChanged() override; + virtual void SetupPlayerInputComponent(UInputComponent* InputComponent) override; + // End of APawn interface + +public: + /** Returns Mesh1P subobject **/ + USkeletalMeshComponent* GetMesh1P() const { return Mesh1P; } + /** Returns FirstPersonCameraComponent subobject **/ + UCameraComponent* GetFirstPersonCameraComponent() const { return FirstPersonCameraComponent; } + +}; + diff --git a/Source/BladeSmith/BladeSmithGameMode.cpp b/Source/BladeSmith/BladeSmithGameMode.cpp new file mode 100644 index 0000000..323b29d --- /dev/null +++ b/Source/BladeSmith/BladeSmithGameMode.cpp @@ -0,0 +1,14 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "BladeSmithGameMode.h" +#include "BladeSmithCharacter.h" +#include "UObject/ConstructorHelpers.h" + +ABladeSmithGameMode::ABladeSmithGameMode() + : Super() +{ + // set default pawn class to our Blueprinted character + static ConstructorHelpers::FClassFinder PlayerPawnClassFinder(TEXT("/Game/FirstPerson/Blueprints/BP_FirstPersonCharacter")); + DefaultPawnClass = PlayerPawnClassFinder.Class; + +} diff --git a/Source/BladeSmith/BladeSmithGameMode.h b/Source/BladeSmith/BladeSmithGameMode.h new file mode 100644 index 0000000..cc7ddc6 --- /dev/null +++ b/Source/BladeSmith/BladeSmithGameMode.h @@ -0,0 +1,19 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "GameFramework/GameModeBase.h" +#include "BladeSmithGameMode.generated.h" + +UCLASS(minimalapi) +class ABladeSmithGameMode : public AGameModeBase +{ + GENERATED_BODY() + +public: + ABladeSmithGameMode(); +}; + + + diff --git a/Source/BladeSmith/BladeSmithPickUpComponent.cpp b/Source/BladeSmith/BladeSmithPickUpComponent.cpp new file mode 100644 index 0000000..0470aa5 --- /dev/null +++ b/Source/BladeSmith/BladeSmithPickUpComponent.cpp @@ -0,0 +1,31 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "BladeSmithPickUpComponent.h" + +UBladeSmithPickUpComponent::UBladeSmithPickUpComponent() +{ + // Setup the Sphere Collision + SphereRadius = 32.f; +} + +void UBladeSmithPickUpComponent::BeginPlay() +{ + Super::BeginPlay(); + + // Register our Overlap Event + OnComponentBeginOverlap.AddDynamic(this, &UBladeSmithPickUpComponent::OnSphereBeginOverlap); +} + +void UBladeSmithPickUpComponent::OnSphereBeginOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult) +{ + // Checking if it is a First Person Character overlapping + ABladeSmithCharacter* Character = Cast(OtherActor); + if(Character != nullptr) + { + // Notify that the actor is being picked up + OnPickUp.Broadcast(Character); + + // Unregister from the Overlap Event so it is no longer triggered + OnComponentBeginOverlap.RemoveAll(this); + } +} diff --git a/Source/BladeSmith/BladeSmithPickUpComponent.h b/Source/BladeSmith/BladeSmithPickUpComponent.h new file mode 100644 index 0000000..ac8ecb2 --- /dev/null +++ b/Source/BladeSmith/BladeSmithPickUpComponent.h @@ -0,0 +1,34 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Components/SphereComponent.h" +#include "BladeSmithCharacter.h" +#include "BladeSmithPickUpComponent.generated.h" + +// Declaration of the delegate that will be called when someone picks this up +// The character picking this up is the parameter sent with the notification +DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPickUp, ABladeSmithCharacter*, PickUpCharacter); + +UCLASS(Blueprintable, BlueprintType, ClassGroup = (Custom), meta = (BlueprintSpawnableComponent)) +class BLADESMITH_API UBladeSmithPickUpComponent : public USphereComponent +{ + GENERATED_BODY() + +public: + + /** Delegate to whom anyone can subscribe to receive this event */ + UPROPERTY(BlueprintAssignable, Category = "Interaction") + FOnPickUp OnPickUp; + + UBladeSmithPickUpComponent(); +protected: + + /** Called when the game starts */ + virtual void BeginPlay() override; + + /** Code for when something overlaps this component */ + UFUNCTION() + void OnSphereBeginOverlap(UPrimitiveComponent* OverlappedComponent, AActor* OtherActor, UPrimitiveComponent* OtherComp, int32 OtherBodyIndex, bool bFromSweep, const FHitResult& SweepResult); +}; \ No newline at end of file diff --git a/Source/BladeSmith/BladeSmithProjectile.cpp b/Source/BladeSmith/BladeSmithProjectile.cpp new file mode 100644 index 0000000..5a1552a --- /dev/null +++ b/Source/BladeSmith/BladeSmithProjectile.cpp @@ -0,0 +1,43 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "BladeSmithProjectile.h" +#include "GameFramework/ProjectileMovementComponent.h" +#include "Components/SphereComponent.h" + +ABladeSmithProjectile::ABladeSmithProjectile() +{ + // Use a sphere as a simple collision representation + CollisionComp = CreateDefaultSubobject(TEXT("SphereComp")); + CollisionComp->InitSphereRadius(5.0f); + CollisionComp->BodyInstance.SetCollisionProfileName("Projectile"); + CollisionComp->OnComponentHit.AddDynamic(this, &ABladeSmithProjectile::OnHit); // set up a notification for when this component hits something blocking + + // Players can't walk on it + CollisionComp->SetWalkableSlopeOverride(FWalkableSlopeOverride(WalkableSlope_Unwalkable, 0.f)); + CollisionComp->CanCharacterStepUpOn = ECB_No; + + // Set as root component + RootComponent = CollisionComp; + + // Use a ProjectileMovementComponent to govern this projectile's movement + ProjectileMovement = CreateDefaultSubobject(TEXT("ProjectileComp")); + ProjectileMovement->UpdatedComponent = CollisionComp; + ProjectileMovement->InitialSpeed = 3000.f; + ProjectileMovement->MaxSpeed = 3000.f; + ProjectileMovement->bRotationFollowsVelocity = true; + ProjectileMovement->bShouldBounce = true; + + // Die after 3 seconds by default + InitialLifeSpan = 3.0f; +} + +void ABladeSmithProjectile::OnHit(UPrimitiveComponent* HitComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit) +{ + // Only add impulse and destroy projectile if we hit a physics + if ((OtherActor != nullptr) && (OtherActor != this) && (OtherComp != nullptr) && OtherComp->IsSimulatingPhysics()) + { + OtherComp->AddImpulseAtLocation(GetVelocity() * 100.0f, GetActorLocation()); + + Destroy(); + } +} \ No newline at end of file diff --git a/Source/BladeSmith/BladeSmithProjectile.h b/Source/BladeSmith/BladeSmithProjectile.h new file mode 100644 index 0000000..fff19fc --- /dev/null +++ b/Source/BladeSmith/BladeSmithProjectile.h @@ -0,0 +1,37 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "GameFramework/Actor.h" +#include "BladeSmithProjectile.generated.h" + +class USphereComponent; +class UProjectileMovementComponent; + +UCLASS(config=Game) +class ABladeSmithProjectile : public AActor +{ + GENERATED_BODY() + + /** Sphere collision component */ + UPROPERTY(VisibleDefaultsOnly, Category=Projectile) + USphereComponent* CollisionComp; + + /** Projectile movement component */ + UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Movement, meta = (AllowPrivateAccess = "true")) + UProjectileMovementComponent* ProjectileMovement; + +public: + ABladeSmithProjectile(); + + /** called when projectile hits something */ + UFUNCTION() + void OnHit(UPrimitiveComponent* HitComp, AActor* OtherActor, UPrimitiveComponent* OtherComp, FVector NormalImpulse, const FHitResult& Hit); + + /** Returns CollisionComp subobject **/ + USphereComponent* GetCollisionComp() const { return CollisionComp; } + /** Returns ProjectileMovement subobject **/ + UProjectileMovementComponent* GetProjectileMovement() const { return ProjectileMovement; } +}; + diff --git a/Source/BladeSmith/BladeSmithWeaponComponent.cpp b/Source/BladeSmith/BladeSmithWeaponComponent.cpp new file mode 100644 index 0000000..68e2df6 --- /dev/null +++ b/Source/BladeSmith/BladeSmithWeaponComponent.cpp @@ -0,0 +1,119 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + + +#include "BladeSmithWeaponComponent.h" +#include "BladeSmithCharacter.h" +#include "BladeSmithProjectile.h" +#include "GameFramework/PlayerController.h" +#include "Camera/PlayerCameraManager.h" +#include "Kismet/GameplayStatics.h" +#include "EnhancedInputComponent.h" +#include "EnhancedInputSubsystems.h" +#include "Animation/AnimInstance.h" +#include "Engine/LocalPlayer.h" +#include "Engine/World.h" + +// Sets default values for this component's properties +UBladeSmithWeaponComponent::UBladeSmithWeaponComponent() +{ + // Default offset from the character location for projectiles to spawn + MuzzleOffset = FVector(100.0f, 0.0f, 10.0f); +} + + +void UBladeSmithWeaponComponent::Fire() +{ + if (Character == nullptr || Character->GetController() == nullptr) + { + return; + } + + // Try and fire a projectile + if (ProjectileClass != nullptr) + { + UWorld* const World = GetWorld(); + if (World != nullptr) + { + APlayerController* PlayerController = Cast(Character->GetController()); + const FRotator SpawnRotation = PlayerController->PlayerCameraManager->GetCameraRotation(); + // MuzzleOffset is in camera space, so transform it to world space before offsetting from the character location to find the final muzzle position + const FVector SpawnLocation = GetOwner()->GetActorLocation() + SpawnRotation.RotateVector(MuzzleOffset); + + //Set Spawn Collision Handling Override + FActorSpawnParameters ActorSpawnParams; + ActorSpawnParams.SpawnCollisionHandlingOverride = ESpawnActorCollisionHandlingMethod::AdjustIfPossibleButDontSpawnIfColliding; + + // Spawn the projectile at the muzzle + World->SpawnActor(ProjectileClass, SpawnLocation, SpawnRotation, ActorSpawnParams); + } + } + + // Try and play the sound if specified + if (FireSound != nullptr) + { + UGameplayStatics::PlaySoundAtLocation(this, FireSound, Character->GetActorLocation()); + } + + // Try and play a firing animation if specified + if (FireAnimation != nullptr) + { + // Get the animation object for the arms mesh + UAnimInstance* AnimInstance = Character->GetMesh1P()->GetAnimInstance(); + if (AnimInstance != nullptr) + { + AnimInstance->Montage_Play(FireAnimation, 1.f); + } + } +} + +bool UBladeSmithWeaponComponent::AttachWeapon(ABladeSmithCharacter* TargetCharacter) +{ + Character = TargetCharacter; + + // Check that the character is valid, and has no weapon component yet + if (Character == nullptr || Character->GetInstanceComponents().FindItemByClass()) + { + return false; + } + + // Attach the weapon to the First Person Character + FAttachmentTransformRules AttachmentRules(EAttachmentRule::SnapToTarget, true); + AttachToComponent(Character->GetMesh1P(), AttachmentRules, FName(TEXT("GripPoint"))); + + // Set up action bindings + if (APlayerController* PlayerController = Cast(Character->GetController())) + { + if (UEnhancedInputLocalPlayerSubsystem* Subsystem = ULocalPlayer::GetSubsystem(PlayerController->GetLocalPlayer())) + { + // Set the priority of the mapping to 1, so that it overrides the Jump action with the Fire action when using touch input + Subsystem->AddMappingContext(FireMappingContext, 1); + } + + if (UEnhancedInputComponent* EnhancedInputComponent = Cast(PlayerController->InputComponent)) + { + // Fire + EnhancedInputComponent->BindAction(FireAction, ETriggerEvent::Triggered, this, &UBladeSmithWeaponComponent::Fire); + } + } + + return true; +} + +void UBladeSmithWeaponComponent::EndPlay(const EEndPlayReason::Type EndPlayReason) +{ + // ensure we have a character owner + if (Character != nullptr) + { + // remove the input mapping context from the Player Controller + if (APlayerController* PlayerController = Cast(Character->GetController())) + { + if (UEnhancedInputLocalPlayerSubsystem* Subsystem = ULocalPlayer::GetSubsystem(PlayerController->GetLocalPlayer())) + { + Subsystem->RemoveMappingContext(FireMappingContext); + } + } + } + + // maintain the EndPlay call chain + Super::EndPlay(EndPlayReason); +} \ No newline at end of file diff --git a/Source/BladeSmith/BladeSmithWeaponComponent.h b/Source/BladeSmith/BladeSmithWeaponComponent.h new file mode 100644 index 0000000..d4e01e2 --- /dev/null +++ b/Source/BladeSmith/BladeSmithWeaponComponent.h @@ -0,0 +1,60 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Components/SkeletalMeshComponent.h" +#include "BladeSmithWeaponComponent.generated.h" + +class ABladeSmithCharacter; + +UCLASS(Blueprintable, BlueprintType, ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) ) +class BLADESMITH_API UBladeSmithWeaponComponent : public USkeletalMeshComponent +{ + GENERATED_BODY() + +public: + /** Projectile class to spawn */ + UPROPERTY(EditDefaultsOnly, Category=Projectile) + TSubclassOf ProjectileClass; + + /** Sound to play each time we fire */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=Gameplay) + USoundBase* FireSound; + + /** AnimMontage to play each time we fire */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Gameplay) + UAnimMontage* FireAnimation; + + /** Gun muzzle's offset from the characters location */ + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=Gameplay) + FVector MuzzleOffset; + + /** MappingContext */ + UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=Input, meta=(AllowPrivateAccess = "true")) + class UInputMappingContext* FireMappingContext; + + /** Fire Input Action */ + UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=Input, meta=(AllowPrivateAccess = "true")) + class UInputAction* FireAction; + + /** Sets default values for this component's properties */ + UBladeSmithWeaponComponent(); + + /** Attaches the actor to a FirstPersonCharacter */ + UFUNCTION(BlueprintCallable, Category="Weapon") + bool AttachWeapon(ABladeSmithCharacter* TargetCharacter); + + /** Make the weapon Fire a Projectile */ + UFUNCTION(BlueprintCallable, Category="Weapon") + void Fire(); + +protected: + /** Ends gameplay for this component. */ + UFUNCTION() + virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override; + +private: + /** The Character holding this weapon*/ + ABladeSmithCharacter* Character; +}; diff --git a/Source/BladeSmith/FDeformComputeShader.cpp b/Source/BladeSmith/FDeformComputeShader.cpp new file mode 100644 index 0000000..05ffcd0 --- /dev/null +++ b/Source/BladeSmith/FDeformComputeShader.cpp @@ -0,0 +1,79 @@ +#include "FDeformComputeShader.h" +// DeformationCS.cpp +#include "RenderGraphUtils.h" +#include "ShaderParameterUtils.h" +#include "RHICommandList.h" +IMPLEMENT_GLOBAL_SHADER(FDeformationCS, "/CustomShaders/DeformationCS.usf", "MainCS", SF_Compute); +FThreadSafeDeformationParams GDeformationParams; +void FDeformationCS::Dispatch( + FRHICommandListImmediate& RHICmdList, + const FDeformationCSDispatchParams& Params) +{ + // 获取Shader引用 + TShaderMapRef ComputeShader(GetGlobalShaderMap(GMaxRHIFeatureLevel)); + + // 设置参数 + FParameters ShaderParams; + ShaderParams.ImpactPoint = FVector3f(Params.ImpactPoint); + ShaderParams.ImpactNormal = FVector3f(Params.ImpactNormal); + ShaderParams.ImpactForce = Params.ImpactForce; + ShaderParams.DeformationRadius = Params.DeformationRadius; + ShaderParams.Plasticity = Params.Plasticity; + ShaderParams.InputTexture = Params.InputTexture; + FRHIResourceCreateInfo CreateInfo(TEXT("DeformationCS_UAV")); + ShaderParams.OutputTexture = RHICmdList.CreateUnorderedAccessView(Params.OutputTexture,0); + ShaderParams.TextureSize = Params.TextureSize; + ShaderParams.UpdateRegionMin = FIntVector(Params.UpdateRegion.Min.X, Params.UpdateRegion.Min.Y, 0); + ShaderParams.UpdateRegionSize = FIntVector(Params.UpdateRegion.Width(), Params.UpdateRegion.Height(), 1); + + // 设置计算Shader + FComputeShaderUtils::Dispatch( + RHICmdList, + ComputeShader, + ShaderParams, + FIntVector( + FMath::DivideAndRoundUp(Params.UpdateRegion.Width(), 8), + FMath::DivideAndRoundUp(Params.UpdateRegion.Height(), 8), + 1 + ) + ); +} +// 渲染线程入口点 +void DispatchDeformationComputeShaders(FRHICommandListImmediate& RHICmdList) +{ + FDeformationCSDispatchParams Params; + while(GDeformationParams.ConsumeParams(Params)) + { + FDeformationCS::Dispatch(RHICmdList, Params); + + // 复制结果回源纹理 + if(Params.InputTexture && Params.OutputTexture) + { + FRHICopyTextureInfo CopyInfo; + CopyInfo.SourcePosition = FIntVector(Params.UpdateRegion.Min.X, Params.UpdateRegion.Min.Y, 0); + CopyInfo.DestPosition = CopyInfo.SourcePosition; + CopyInfo.Size = FIntVector(Params.UpdateRegion.Width(), Params.UpdateRegion.Height(), 1); + + RHICmdList.CopyTexture( + Params.OutputTexture, + Params.InputTexture, + CopyInfo + ); + } + } +} +// 注册到渲染线程 +void SetupDeformationShutdown(); +FAutoConsoleCommand RegisterDeformationCmd( + TEXT("r.Deformation.Compute"), + TEXT(""), + FConsoleCommandDelegate::CreateStatic(SetupDeformationShutdown) +); +void SetupDeformationShutdown() +{ + // 每帧结束时调用 + ENQUEUE_RENDER_COMMAND(DeformationShutdown)( + [](FRHICommandListImmediate& RHICmdList) { + DispatchDeformationComputeShaders(RHICmdList); + }); +} \ No newline at end of file diff --git a/Source/BladeSmith/FDeformComputeShader.h b/Source/BladeSmith/FDeformComputeShader.h new file mode 100644 index 0000000..0499694 --- /dev/null +++ b/Source/BladeSmith/FDeformComputeShader.h @@ -0,0 +1,109 @@ +#pragma once +#include "GlobalShader.h" +// DeformComputeShader.h + +// DeformationCS.h +#pragma once +#include "CoreMinimal.h" +#include "RHI.h" +#include "RHIResources.h" +#include "ShaderParameterStruct.h" + +// Compute Shader参数结构体 +struct FDeformationCSDispatchParams +{ + // 碰撞参数 + FVector ImpactPoint; + FVector ImpactNormal; + float ImpactForce; + float DeformationRadius; + float Plasticity; + + // 纹理资源 + FTextureRHIRef InputTexture; + FTextureRHIRef OutputTexture; + + // 更新区域 (优化部分更新) + FIntRect UpdateRegion; + + // 纹理尺寸 + FIntVector TextureSize; + + FDeformationCSDispatchParams() : ImpactPoint(0,0,0), + ImpactNormal(0,0,0), + ImpactForce(0.0f), + DeformationRadius(10.0f), + Plasticity(0.7f), + TextureSize(FIntVector::ZeroValue) + { + } +}; +// 支持多实例的线程安全参数 +struct FThreadSafeDeformationParams +{ + FCriticalSection ParamsCriticalSection; + TArray PendingParams; + + void AddParams(const FDeformationCSDispatchParams& NewParams) + { + FScopeLock Lock(&ParamsCriticalSection); + PendingParams.Add(NewParams); + } + + bool ConsumeParams(FDeformationCSDispatchParams& OutParams) + { + FScopeLock Lock(&ParamsCriticalSection); + if(PendingParams.Num() > 0) + { + OutParams = PendingParams[0]; + PendingParams.RemoveAt(0); + return true; + } + return false; + } +}; +// 全局参数存储 +extern FThreadSafeDeformationParams GDeformationParams; + +// DeformationCS.h (续) +// Compute Shader类 +class FDeformationCS : public FGlobalShader +{ + DECLARE_GLOBAL_SHADER(FDeformationCS); + SHADER_USE_PARAMETER_STRUCT(FDeformationCS, FGlobalShader); + + BEGIN_SHADER_PARAMETER_STRUCT(FParameters, ) + // 碰撞参数 + SHADER_PARAMETER(FVector3f, ImpactPoint) + SHADER_PARAMETER(FVector3f, ImpactNormal) + SHADER_PARAMETER(float, ImpactForce) + SHADER_PARAMETER(float, DeformationRadius) + SHADER_PARAMETER(float, Plasticity) + + // 纹理参数 + SHADER_PARAMETER_TEXTURE(Texture2D, InputTexture) + SHADER_PARAMETER_UAV(RWTexture2D, OutputTexture) + + // 更新区域 + SHADER_PARAMETER(FIntVector, TextureSize) + SHADER_PARAMETER(FIntVector, UpdateRegionMin) + SHADER_PARAMETER(FIntVector, UpdateRegionSize) + END_SHADER_PARAMETER_STRUCT() + + static bool ShouldCompilePermutation(const FGlobalShaderPermutationParameters& Parameters) + { + return IsFeatureLevelSupported(Parameters.Platform, ERHIFeatureLevel::SM5); + } + + static void ModifyCompilationEnvironment(const FGlobalShaderPermutationParameters& Parameters, FShaderCompilerEnvironment& OutEnvironment) + { + FGlobalShader::ModifyCompilationEnvironment(Parameters, OutEnvironment); + OutEnvironment.SetDefine(TEXT("THREADGROUP_SIZE_X"), 8); + OutEnvironment.SetDefine(TEXT("THREADGROUP_SIZE_Y"), 8); + } + + // 分派函数 + static void Dispatch( + FRHICommandListImmediate& RHICmdList, + const FDeformationCSDispatchParams& Params); +}; \ No newline at end of file diff --git a/Source/BladeSmith/IronBlock.cpp b/Source/BladeSmith/IronBlock.cpp new file mode 100644 index 0000000..9f8c503 --- /dev/null +++ b/Source/BladeSmith/IronBlock.cpp @@ -0,0 +1,403 @@ +// Fill out your copyright notice in the Description page of Project Settings. + + +#include "IronBlock.h" + +#include "FDeformComputeShader.h" +#include "StaticMeshResources.h" +#include "TextureResource.h" +#include "Engine/TextureRenderTarget2D.h" +#include "Engine/Texture.h" +#include "Engine/StaticMesh.h" +#include "Engine/Texture2D.h" +#include "Materials/MaterialInstanceDynamic.h" +#include "PhysicsEngine/BodySetup.h" +// Sets default values +AIronBlock::AIronBlock(): StaticMeshComp(nullptr), PositionTexture0(nullptr), PositionTexture1(nullptr), + PositionRenderTarget(nullptr), + DynMaterial(nullptr), + CurrentImpactPoint(), + CurrentImpactNormal() +{ + // Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it. + PrimaryActorTick.bCanEverTick = true; +} + +// Called when the game starts or when spawned +void AIronBlock::BeginPlay() +{ + Super::BeginPlay(); + CalculateLocalBounds(); + InitializePositionTexture(); +} + +UTexture2D* AIronBlock::CreatePositionTexture(const FString& TexName, int32 Size, const TArray& InitialData) +{ + // 创建纹理对象 + UTexture2D* NewTexture = NewObject( + this, + FName(*TexName), + RF_Transient + ); + + // 设置基本属性 + NewTexture->Filter = TF_Nearest; + NewTexture->SRGB = false; + NewTexture->CompressionSettings = TC_HDR; + NewTexture->MipGenSettings = TMGS_NoMipmaps; + NewTexture->NeverStream = true; + + // 设置纹理尺寸和格式 + NewTexture->SetPlatformData(new FTexturePlatformData()); + NewTexture->GetPlatformData()->SizeX = Size; + NewTexture->GetPlatformData()->SizeY = Size; + NewTexture->GetPlatformData()->PixelFormat = PF_A32B32G32R32F; + + // 添加初始Mip + FTexture2DMipMap* Mip = new FTexture2DMipMap(); + NewTexture->GetPlatformData()->Mips.Add(Mip); + Mip->SizeX = Size; + Mip->SizeY = Size; + + // 如果有初始数据,填充纹理 + if (InitialData.Num() > 0) + { + const int32 DataSize = Size * Size * sizeof(FLinearColor); + Mip->BulkData.Lock(LOCK_READ_WRITE); + FMemory::Memcpy(Mip->BulkData.Realloc(DataSize), InitialData.GetData(), DataSize); + Mip->BulkData.Unlock(); + } + + // 标记需要更新资源 + NewTexture->UpdateResource(); + return NewTexture; +} + +void AIronBlock::OnEndFrameInitializeTextures() +{ + // 确保纹理资源已创建 + if (PositionTexture0 && PositionTexture0->GetResource() && + PositionTexture1 && PositionTexture1->GetResource() && + PositionRenderTarget && PositionRenderTarget->GetResource()) + { + // 初始化纹理对 + InitializeTexturePair(0); + InitializeTexturePair(1); + + // 移除委托 + FCoreDelegates::OnEndFrame.Remove(TextureInitHandle); + TextureInitHandle.Reset(); + + UE_LOG(LogTemp, Log, TEXT("Position textures initialized")); + } +} + + +void AIronBlock::EndPlay(const EEndPlayReason::Type EndPlayReason) +{ + // 清理资源 + if (TextureInitHandle.IsValid()) + { + FCoreDelegates::OnEndFrame.Remove(TextureInitHandle); + TextureInitHandle.Reset(); + } + + // 释放 RHI 资源 + ENQUEUE_RENDER_COMMAND(ReleaseResources)( + [this](FRHICommandListImmediate& RHICmdList) + { + for (int i = 0; i < 2; i++) + { + TexturePairs->ReleaseRHI(); + } + }); + + Super::EndPlay(EndPlayReason); +} + +void AIronBlock::InitializeTexturePair(int32 Index) +{ + if (Index < 0 || Index > 1) return; + + UTexture2D* Texture = (Index == 0) ? PositionTexture0 : PositionTexture1; + if (!Texture || !Texture->GetResource()) return; + + // 获取纹理引用 + TexturePairs[Index].RHITexture = Texture->GetResource()->TextureRHI; + FTextureRHIRef RHITexture = Texture->GetResource()->GetTexture2DRHI(); + if (!RHITexture.IsValid()) return; + + // 在渲染线程创建 UAV + ENQUEUE_RENDER_COMMAND(CreateTextureUAV)( + [this, Index](FRHICommandListImmediate& RHICmdList) + { + FRHIViewDesc::FTextureUAV::FInitializer ViewDesc = FRHIViewDesc::CreateTextureUAV(); + TexturePairs[Index].UAV = RHICmdList.CreateUnorderedAccessView(TexturePairs[Index].RHITexture,ViewDesc); + + UE_LOG(LogTemp, Log, TEXT("Created UAV for texture %d"), Index); + } + ); +} + +void AIronBlock::GetStaticMeshVertexPositions(TArray& OutPositions) +{ + OutPositions.Empty(); + + if (!StaticMeshComp || !StaticMeshComp->GetStaticMesh()) + return; + + // 获取静态网格资源 + UStaticMesh* StaticMesh = StaticMeshComp->GetStaticMesh(); + if (StaticMesh->GetRenderData() && StaticMesh->GetRenderData()->LODResources.Num() > 0) + { + // 获取LOD0的顶点数据 + FStaticMeshLODResources& LOD = StaticMesh->GetRenderData()->LODResources[0]; + const FPositionVertexBuffer& VertexBuffer = LOD.VertexBuffers.PositionVertexBuffer; + + const int32 VertexCount = VertexBuffer.GetNumVertices(); + OutPositions.SetNum(VertexCount); + + for (int32 i = 0; i < VertexCount; i++) + { + OutPositions[i] = VertexBuffer.VertexPosition(i); + } + } +} + +void AIronBlock::InitializePositionTexture() +{ + // 获取顶点数据 + TArray VertexPositions; + GetStaticMeshVertexPositions(VertexPositions); + + // 创建初始数据数组 + TArray InitialData; + const int32 TexSize = FMath::RoundUpToPowerOfTwo(FMath::Sqrt((float)VertexPositions.Num())); + //int32 TexSize = 512; + InitialData.SetNumZeroed(TexSize * TexSize); + for (int32 i = 0; i < VertexPositions.Num() && i < InitialData.Num(); i++) + { + InitialData[i] = FLinearColor(VertexPositions[i]); + } + + // 创建纹理 + PositionTexture0 = CreatePositionTexture("PosTex0", TexSize, InitialData); + PositionTexture1 = CreatePositionTexture("PosTex1", TexSize, InitialData); + // 初始化纹理对 + TexturePairs[0].RHITexture = PositionTexture0->GetResource()->TextureRHI; + TexturePairs[1].RHITexture = PositionTexture1->GetResource()->TextureRHI; + // 创建渲染目标 + PositionRenderTarget = NewObject(this); + PositionRenderTarget->RenderTargetFormat = RTF_RGBA32f; + PositionRenderTarget->bCanCreateUAV = true; + PositionRenderTarget->InitAutoFormat(TexSize, TexSize); + PositionRenderTarget->UpdateResource(); + + // 注册纹理初始化委托 + TextureInitHandle = FCoreDelegates::OnEndFrame.AddUObject(this, &AIronBlock::OnEndFrameInitializeTextures); + + // 设置材质实例 + SetupDeformationMaterial(); +} + +void AIronBlock::CalculateLocalBounds() +{ + if (!StaticMeshComp) + { + StaticMeshComp = GetComponentByClass(); + } + if (StaticMeshComp && StaticMeshComp->GetStaticMesh()) + { + // 获取本地空间包围盒 + LocalBounds = StaticMeshComp->GetStaticMesh()->GetBoundingBox(); + } + else + { + // 智能默认值 + float Extent = 50.0f; + LocalBounds = FBox( + FVector(-Extent, -Extent, 0), + FVector(Extent, Extent, Extent * 0.2f) + ); + } + + // 确保包围盒有效 + if (LocalBounds.GetVolume() <= 0) + { + LocalBounds = FBox(FVector(-50, -50, 0), FVector(50, 50, 10)); + } +} + +void AIronBlock::SetupDeformationMaterial() +{ + DynMaterial = UMaterialInstanceDynamic::Create(StaticMeshComp->GetMaterial(0), this); + StaticMeshComp->SetMaterial(0, DynMaterial); + + DynMaterial->SetTextureParameterValue("PositionTexture", PositionTexture0); + + DynMaterial->SetScalarParameterValue("EnableDeformation", 1.0f); +} + +void AIronBlock::OnHammerHit(const FHitResult& HitResult) +{ + // 获取锤子冲击力 + float ImpactForce = 0.0f; + if (HitResult.GetComponent() && HitResult.GetComponent()->GetPhysicsLinearVelocity().IsNearlyZero()) + { + ImpactForce = HitResult.GetComponent()->GetPhysicsLinearVelocity().Size(); + } + + // 默认冲击力 + if (ImpactForce < 10.0f) ImpactForce = 500.0f; + + // 转换到本地空间 + FVector ImpactPoint = HitResult.ImpactPoint; + FVector ImpactNormal = HitResult.ImpactNormal; + FVector LocalImpactPoint = GetTransform().InverseTransformPosition(ImpactPoint); + FVector LocalImpactNormal = GetTransform().InverseTransformVector(ImpactNormal); + + UpdateComputeShaderParams(LocalImpactPoint, LocalImpactNormal, ImpactForce); + + ExecuteDeformationCS(); +} + +// 安全的纹理资源获取 +FTextureRHIRef AIronBlock::GetTextureRHI(UTexture2D* Texture) +{ + return Texture && Texture->GetResource() ? Texture->GetResource()->TextureRHI : nullptr; +} +// 安全的渲染目标获取 +FTextureRHIRef AIronBlock::GetRenderTargetRHI(UTextureRenderTarget2D* RT) +{ + if (!RT || !RT->GetResource()) return nullptr; + return RT->GetResource()->TextureRHI; +} + +void AIronBlock::UpdateComputeShaderParams(FVector LocalImpactPoint, FVector LocalImpactNormal, float ImpactForce) +{ + // 更新碰撞参数 + CurrentImpactPoint = LocalImpactPoint; + CurrentImpactNormal = LocalImpactNormal.GetSafeNormal(); + CurrentImpactForce = FMath::Clamp(ImpactForce, 0.0f, 5000.0f); + + // 根据冲击力计算动态变形半径 + CurrentDeformationRadius = FMath::Lerp(5.0f, 30.0f, CurrentImpactForce / 2000.0f); + + // 根据材质类型调整塑性系数 + UMaterialInterface* Material = StaticMeshComp->GetMaterial(0); + if(Material && Material->GetName().Contains("Steel")) + { + CurrentPlasticity = 0.4f; // 钢材塑性较低 + } + else + { + CurrentPlasticity = 0.8f; // 默认高塑性 + } + + // 切换纹理缓冲 + CurrentTextureIndex = 1 - CurrentTextureIndex; +} + +void AIronBlock::ExecuteDeformationCS() +{ + // 确保纹理资源有效 + if (!PositionTexture0 || !PositionTexture0->GetResource() || + !PositionTexture1 || !PositionTexture1->GetResource()) + { + UE_LOG(LogTemp, Error, TEXT("Position textures not initialized!")); + return; + } + // 获取当前纹理资源 + UTexture2D* CurrentTex = (CurrentTextureIndex == 0) ? PositionTexture0 : PositionTexture1; + UTexture2D* PrevTex = (CurrentTextureIndex == 0) ? PositionTexture1 : PositionTexture0; + // 获取纹理RHI资源 - 使用GetResource()方法 + FTextureRHIRef InputRHI = GetTextureRHI(PrevTex); + FTextureRHIRef OutputRHI = GetRenderTargetRHI(PositionRenderTarget); + + if (!InputRHI || !OutputRHI) + { + UE_LOG(LogTemp, Error, TEXT("Invalid texture RHI resources!")); + return; + } + // 计算纹理UV坐标 + const int32 TexSize = PositionRenderTarget->SizeX; + FVector2D ImpactUV( + (CurrentImpactPoint.X - LocalBounds.Min.X) / LocalBounds.GetSize().X, + (CurrentImpactPoint.Y - LocalBounds.Min.Y) / LocalBounds.GetSize().Y + ); + + // 计算更新区域 (只更新受影响部分) + const float RadiusRatio = CurrentDeformationRadius / LocalBounds.GetExtent().GetMax(); + FIntRect UpdateRegion; + UpdateRegion.Min.X = FMath::Clamp((ImpactUV.X - RadiusRatio) * TexSize, 0, TexSize); + UpdateRegion.Min.Y = FMath::Clamp((ImpactUV.Y - RadiusRatio) * TexSize, 0, TexSize); + UpdateRegion.Max.X = FMath::Min((ImpactUV.X + RadiusRatio) * TexSize, (float)TexSize); + UpdateRegion.Max.Y = FMath::Min((ImpactUV.Y + RadiusRatio) * TexSize, (float)TexSize); + + // 准备参数 + FDeformationCSDispatchParams Params; + Params.ImpactPoint = CurrentImpactPoint; + Params.ImpactNormal = CurrentImpactNormal; + Params.ImpactForce = CurrentImpactForce; + Params.DeformationRadius = CurrentDeformationRadius; + Params.Plasticity = CurrentPlasticity; + Params.InputTexture = InputRHI; + Params.OutputTexture = OutputRHI; + Params.UpdateRegion = UpdateRegion; + Params.TextureSize = FIntVector(TexSize, TexSize, 0); + + // 提交到渲染线程 + GDeformationParams.AddParams(Params); + + // 更新材质参数 + DynMaterial->SetTextureParameterValue("PositionTexture", CurrentTex); + + // 触发碰撞体更新 (异步) + GetWorld()->GetTimerManager().SetTimerForNextTick([this, UpdateRegion](){ + UpdateCollisionAsync(UpdateRegion); + }); +} +// 异步更新物理碰撞体 +void AIronBlock::UpdateCollisionAsync(const FIntRect& UpdateRegion) +{ + if (!PositionRenderTarget || !PositionRenderTarget->GetResource()) + { + return; + } + // 从GPU读取关键区域数据 + TArray SampledData; + FReadSurfaceDataFlags Flags; + Flags.SetLinearToGamma(false); + + PositionRenderTarget->GameThread_GetRenderTargetResource()->ReadPixels( + SampledData, + Flags, + FIntRect(UpdateRegion.Min.X, UpdateRegion.Min.Y, + UpdateRegion.Max.X, UpdateRegion.Max.Y) + ); + + // 创建临时碰撞体 + TArray CollisionVerts; + for(FColor& Pixel : SampledData) + { + FVector Pos( + Pixel.R * 255.0f / 10.0f, // 根据实际范围调整 + Pixel.G * 255.0f / 10.0f, + Pixel.B * 255.0f / 10.0f + ); + CollisionVerts.Add(Pos); + } + + // 更新简单碰撞体 + UBodySetup* BodySetup = StaticMeshComp->GetBodySetup(); + BodySetup->AggGeom.ConvexElems[0].VertexData = CollisionVerts; + BodySetup->CreatePhysicsMeshes(); +} + +// Called every frame +void AIronBlock::Tick(float DeltaTime) +{ + Super::Tick(DeltaTime); + +} + diff --git a/Source/BladeSmith/IronBlock.h b/Source/BladeSmith/IronBlock.h new file mode 100644 index 0000000..2fcda2e --- /dev/null +++ b/Source/BladeSmith/IronBlock.h @@ -0,0 +1,90 @@ +// Fill out your copyright notice in the Description page of Project Settings. + +#pragma once + +#include "CoreMinimal.h" +#include "GameFramework/Actor.h" +#include "IronBlock.generated.h" + +UCLASS() +class BLADESMITH_API AIronBlock : public AActor +{ + GENERATED_BODY() + + UPROPERTY(EditAnywhere) + UStaticMeshComponent* StaticMeshComp; + + UPROPERTY() + UTexture2D* PositionTexture0; + + UPROPERTY() + UTexture2D* PositionTexture1; + + UPROPERTY() + UTextureRenderTarget2D* PositionRenderTarget; + + UPROPERTY() + UMaterialInstanceDynamic* DynMaterial; +public: + // Sets default values for this actor's properties + AIronBlock(); + +protected: + // Called when the game starts or when spawned + virtual void BeginPlay() override; + virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override; + void InitializeTexturePair(int32 Index); + void GetStaticMeshVertexPositions(TArray& OutPositions); + UTexture2D* CreatePositionTexture(const FString& TexName, int32 Size, const TArray& InitialData); + void InitializePositionTexture(); + void OnEndFrameInitializeTextures(); + void SetupDeformationMaterial(); + UFUNCTION(BlueprintCallable) + void OnHammerHit(const FHitResult& HitResult); + FTextureRHIRef GetTextureRHI(UTexture2D* Texture); + FTextureRHIRef GetRenderTargetRHI(UTextureRenderTarget2D* RT); +private: + void UpdateComputeShaderParams(FVector LocalImpactPoint, FVector LocalImpactNormal, float ImpactForce); + void ExecuteDeformationCS(); + void UpdateCollisionAsync(const FIntRect& UpdateRegion); + void CalculateLocalBounds(); + + // 双缓冲纹理对结构体 + struct FDeformationTexturePair + { + // 纹理资源引用 + FTextureRHIRef RHITexture; + + // UAV 资源引用 + FUnorderedAccessViewRHIRef UAV; + + // 安全释放资源 + void ReleaseRHI() + { + UAV.SafeRelease(); + RHITexture.SafeRelease(); + } + }; + + // 双缓冲纹理对数组 [0] = 第一对, [1] = 第二对 + FDeformationTexturePair TexturePairs[2]; + + // 当前使用的纹理对索引 + int32 CurrentPairIndex = 0; + FBox LocalBounds; + // 纹理资源初始化委托 + FDelegateHandle TextureInitHandle; + // 当前碰撞参数 + FVector CurrentImpactPoint; + FVector CurrentImpactNormal; + float CurrentImpactForce = 0.0f; + float CurrentDeformationRadius = 10.0f; + float CurrentPlasticity = 0.7f; + + // 双缓冲纹理索引 + int32 CurrentTextureIndex = 0; +public: + // Called every frame + virtual void Tick(float DeltaTime) override; + +}; diff --git a/Source/BladeSmithEditor.Target.cs b/Source/BladeSmithEditor.Target.cs new file mode 100644 index 0000000..cf07111 --- /dev/null +++ b/Source/BladeSmithEditor.Target.cs @@ -0,0 +1,15 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using UnrealBuildTool; +using System.Collections.Generic; + +public class BladeSmithEditorTarget : TargetRules +{ + public BladeSmithEditorTarget(TargetInfo Target) : base(Target) + { + Type = TargetType.Editor; + DefaultBuildSettings = BuildSettingsVersion.V5; + IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_5; + ExtraModuleNames.Add("BladeSmith"); + } +}