Jump to content

reepblue

Developers
  • Posts

    2,490
  • Joined

  • Last visited

Posts posted by reepblue

  1. I'm curious why if a material has a roughness of 1.0, it's still reflecting the scene with a probe. I want this texture to be 100% mat.

    image.thumb.png.49f736852a4e6560d7ad189f41e60571.png

     

    {
    	"material": {
    		"displacement": [
    			0.05000000074505806,
    			-0.02500000037252903
    		],
    		"metallic": 0.0,
    		"pickmode": true,
    		"roughness": 1.0,
    		"shaderfamily": "Shaders/PBR.fam",
    		"shadow": true,
    		"texture0": "./Textures/wall02.dds"
    	}
    }

     

  2. If you were to save this as a material, open it the editor, then do File -> Save on it, the custom property (myproperty) will be deleted.

    {
    	"material": {
    		"displacement": [
    			0.05000000074505806,
    			-0.02500000037252903
    		],
    		"metallic": 0.0,
    		"roughness": 1.0,
    		"shaderfamily": "Shaders/PBR.fam",
    		"shadow": true,
    		"texture0": "./grid01.dds",
    		"texture1": "./grid_normal.dds",
    		"myproperty": 1
    	}
    }

    I want to store the surface property in the material without worrying about it getting overwritten. 

    • Thanks 1
  3. Seems you can see some artificing with the cluster rendering when having the camera preform a zoom, The best way to demonstrate this is to install this component in a CPP project and replace the character in the start map with a simple camera that has this component. Use Z and X to toggle zoom.

    The zoom out code isn't right, but that's not important. I just recycled code I already had. 

    Also, I might add that the starting zoom value needs to be stored on start because Zoom affects the camera's FOV value.

    Zoomer.zip

    • Thanks 1
  4. Somethings I've brought up during the call.

    General

    • Beams (Like lasers but just stretches a sprite between one point to another w/o a raycast.)
    • Script (For loading and calling lua script functions.)
    • Ballsocket (For swinging ropes, lights, etc)
    • Tag Filters (Used with triggers to only allow entites with certain tags to trigger.)
    • An Animation Controller (Used to animate models that otherwise don't need any additional functionality. 

    Logic

    • Relay (Much like the one I posted)
    • Random Outputs
    • Auto Save

    Like I mentioned, I recorded the conversation so we can refer to that.

    • Like 1
  5. The separate window is the better route imo but I also hate losing the window.

    It's much better when you got a dual monitor setup though.

    I really don't like the idea of "It has to be one way or the other" since everyone had different setups.

  6. Wanted to get a start on these after today's discussion. Here is the first draft of the logic components. I'm kind of limited on what I can do without any argument support. 

    I've made the following:

    • Auto - Used to start things on Start or Level Load. (Inspired by logic_auto)
    • Relay - Used as a switch or a delay between connections. You can toggle the component to cut or rejoin connections. (Inspired by logic_relay)
    • RelayTimer - Fires outputs on every interval. (Inspired by logic_timer)
    • PrintMessage - Simply prints whatever to console. 

    This is only my first draft to continue the discussion!

    Logic.zip

    • Like 1
  7. No. Unlike Epic Games, Josh isn't 40%+ owned by a Chinese firm. 

    What modifications you have on mind? I'm sure Josh will be able to see if he can add it in as a future update. He has been pretty open in discussing how everything works too so you shouldn't need to do much reverse engineering.

    Source code would be nice but I personally don't see a need for it if everything is working. 

  8. 16 hours ago, Josh said:

    Yeah, I was thinking the brush fragments should be placed under a single pivot that gets created, if a carve operation results in more than one brush.

    If/when the group feature is implemented, it would be better to auto group the brush segments.

  9. This lua script will generate a working VS project with Premake. Replace "Game" with the title of your project. I store premake5.exe and this script in a "Tools" folder where my preprocessor also sits. 

    I might make a git repo in the future depending how often this will change. 

    -- Define Ultra Engine Paths
    UltraEnginePath = os.getenv("ULTRAENGINE")
    if UltraEnginePath==nil then return end
    
    -- Define Game Directory (Relative to this premake script)
    GameDir = path.getabsolute("..")
    
    -- Define Root Source Directory
    SourceDir = GameDir .. "/Source"
    
    -- Define Soultion Directory
    SoultionDir = GameDir
    
    -- Define tools Directory
    ToolsPath = GameDir .."/Tools"
    
    -- Workspace
    workspace "Game"
        location "%{SoultionDir}"
        startproject "Game"
        configurations { "Debug", "Release"}
    
        filter {"system:windows", "configurations:*"}
            architecture "x64"
    
        project "Game"
            targetname ("Game")
            location "%{SoultionDir}"
            language "C++"
            cppdialect "C++17"
            staticruntime "off"
            editandcontinue "on"
            flags { "MultiProcessorCompile" }
            conformancemode (false)
    
            -- Game Location
            targetdir("%{GameDir}")
            debugdir ("%{GameDir}")
    
            -- OBJ Output Location
            objdir ("%{prj.location}/.vs/%{cfg.buildcfg}")
    
            -- Include Directories
            includedirs
            {
                -- Engine
                "%{UltraEnginePath}/Include",
                "%{UltraEnginePath}/Include/Libraries/zlib",
                "%{UltraEnginePath}/Include/Libraries/Box2D",
                "$(UniversalCRT_LibraryPath)",
                "%{UltraEnginePath}/Include/Libraries/freetype/include",
                "%{UltraEnginePath}/Include/Libraries/OpenAL/include",
                "%{UltraEnginePath}/Include/Libraries/RecastNavigation/RecastDemo/Include",
                "%{UltraEnginePath}/Include/Libraries/RecastNavigation/DetourCrowd/Include",
                "%{UltraEnginePath}/Include/Libraries/RecastNavigation/DetourTileCache/Include",
                "%{UltraEnginePath}/Include/Libraries/RecastNavigation/DebugUtils/Include",
                "%{UltraEnginePath}/Include/Libraries/RecastNavigation/Recast/Include",
                "%{UltraEnginePath}/Include/Libraries/RecastNavigation/Detour/Include",
                "%{UltraEnginePath}/Include/Libraries/sol3/include",
                "%{UltraEnginePath}/Include/Libraries/Lua/src",
                "%{UltraEnginePath}/Include/Libraries/enet/include",
                "%{UltraEnginePath}/Include/Libraries/newton/sdk/dTinyxml",
                "%{UltraEnginePath}/Include/Libraries/newton/sdk/dExtensions",
                "%{UltraEnginePath}/Include/Libraries/newton/sdk/dlkSolver",
                "%{UltraEnginePath}/Include/Libraries/newton/sdk/dJoints",
                "%{UltraEnginePath}/Include/Libraries/newton/sdk/dModels/dVehicle",
                "%{UltraEnginePath}/Include/Libraries/newton/sdk/dModels/dCharacter",
                "%{UltraEnginePath}/Include/Libraries/newton/sdk/dModels",
                "%{UltraEnginePath}/Include/Libraries/newton/sdk/dParticles",
                "%{UltraEnginePath}/Include/Libraries/newton/sdk/dNewton",
                "%{UltraEnginePath}/Include/Libraries/newton/sdk/dCore",
                "%{UltraEnginePath}/Include/Libraries/newton/sdk/dCollision",
                "%{UltraEnginePath}/Include/Libraries/NewtonDynamics/sdk/dVehicle/dMultiBodyVehicle",
                "%{UltraEnginePath}/Include/Libraries/NewtonDynamics/sdk/dVehicle",
                "%{UltraEnginePath}/Include/Libraries/NewtonDynamics/sdk/dMath",
                "%{UltraEnginePath}/Include/Libraries/NewtonDynamics/sdk/dgCore",
                "%{UltraEnginePath}/Include/Libraries/NewtonDynamics/sdk/dgNewton",
                "%{UltraEnginePath}/Include/Libraries/NewtonDynamics/sdk/dAnimation",
                "%{UltraEnginePath}/Include/Libraries/NewtonDynamics/sdk/dgTimeTracker",
                "%{UltraEnginePath}/Include/Libraries/NewtonDynamics/sdk/dContainers",
                "%{UltraEnginePath}/Include/Libraries/NewtonDynamics/sdk/dCustomJoints",
    
                -- Local Source Directory
                "%{SourceDir}"
            }
    
            files
            {
                "%{SourceDir}/**.h",
                "%{SourceDir}/**.hpp",
                "%{SourceDir}/**.cpp",
            }
    
            -- Global Defines:
            defines
            {
                "_NEWTON_STATIC_LIB",
                "_CUSTOM_JOINTS_STATIC_LIB",
            }
    
            -- Shared PCH
            pchheader "UltraEngine.h"
    
        ---------------------------------------------------------
        -- Visual Studio Exclusive
        ---------------------------------------------------------
        filter "action:vs*"
            systemversion "latest"
            entrypoint "mainCRTStartup"
            pchsource "%{SourceDir}/UltraEngine.cpp"
    
            files
            {
                "%{SourceDir}/**.ico",
                "%{SourceDir}/**.rc"
            }
    
            libdirs 
            { 
                "%{UltraEnginePath}/Library"
            }
                
            defines
            {
                "NOMINMAX",
                "_HAS_STD_BYTE=0",
            }
    
            linkoptions 
            {
                "/delayload:openvr_api.dll" 
            }    
    
            -- Preprocessor
            prebuildcommands
    		{
    			--"\"%{ToolsPath}/preprocessor.exe\" +path ../"
    		}
    
        filter {"system:windows", "configurations:Debug"}            
            links 
            {
                "UltraEngine_d.lib"
            }
    
        filter {"system:windows", "configurations:Release"}
            links 
            {
                "UltraEngine.lib"
            }            
    
        filter "configurations:Debug"
             defines
            {
                "DEBUG",
                "_DEBUG"
            }
    
            kind "WindowedApp"
            targetsuffix "_d"
            runtime "Debug"
            symbols "on"
        
        filter "configurations:Release"
            defines
            {
                "NDEBUG"
            }
    
            kind "WindowedApp"
            runtime "Release"
            symbols "off"
            optimize "off"
        ---------------------------------------------------------
        ---------------------------------------------------------

    My batch script:

    @echo off
    
    :: Check to see if Ultra Engine is installed and defined.
    if not exist "%ULTRAENGINE%" (
    	echo ERROR: Unable to find Ultra Engine installed on this PC! Try running the editor first!
    	pause
    	EXIT /B 999
    )
    
    echo Found Ultra Engine at: "%ULTRAENGINE%"
    
    :: Go into the Tools folder.
    pushd .
    cd Tools
    premake5.exe --file=premake5.lua vs2022
    popd
    
    pause

     

    • Like 2
×
×
  • Create New...