Advertisement

Announcing U3D: creating the future for Urho3D

Started by January 13, 2023 01:10 AM
14 comments, last by Jesse Webb 1 year, 10 months ago

U3D is standing on the shoulders of giants: it is a fork from the last known stable version of Urho3D. The original engine has been going through a lot of changes, most of them with the potential of disrupting the workflow of current and future projects using it. U3D aims to stabilize the development of the engine, focusing on maintainability and continuing the legacy of Urho3D.

Right now, U3D is also the only place where you can get the latest stable build of Urho, and the latest up-to-date documentation.

The community also has the awesome rbfx fork. Those guys are pushing the engine into the future, with an amazing renderer, integrated editor, glTF standard support, and much more. U3D aims to be more conservative, rbfx is bleeding edge.

We invite everyone to get to know both U3D and rbfx and see how the community is changing Urho3D and creating a new future for it.

None

Hey, is this engine mostly for C++ programmers? I was curious if it would work well for someone like me, that doesn't know any C/C++, but could script the game logic using Lua? I've made a few small, 2d games with Lua and Python, but I don't know anything lower level.

Advertisement

celticwolf1986 said:

Hey, is this engine mostly for C++ programmers? I was curious if it would work well for someone like me, that doesn't know any C/C++, but could script the game logic using Lua? I've made a few small, 2d games with Lua and Python, but I don't know anything lower level.

You can script the game logic using either Lua or AngelScript. Here we have a version of all the samples (https://u3d.io/samples)​ written in Lua:

https://github.com/u3d-community/U3D/tree/master/bin/Data/LuaScripts

Or AngelScript:

https://github.com/u3d-community/U3D/tree/master/bin/Data/Scripts

None

@u3d Thank you. I'm not sure how hard it is for a beginner to get it up and running. I went to your website and then pressed "download". It took me to a Github page that said “There aren’t any releases here”. I guess that means I should look into compiling the engine myself? That might be above my current programming knowledge. I've never used CMake or anything.

I just drafted an alpha release so you can get your hands on some fresh binaries. However, I highly recommend that you try to build the engine on your own so you have more freedom. It's not that difficult! Which platform are you on?

None

u3d said:

I just drafted an alpha release so you can get your hands on some fresh binaries. However, I highly recommend that you try to build the engine on your own so you have more freedom. It's not that difficult! Which platform are you on?

I appreciate that. I'm on PopOS (Linux).

Advertisement

To compile U3D on Pop!_OS, you will need to install the following dependencies:

  • CMake
  • GCC or Clang
  • git
  • pkg-config
  • OpenGL

You can install these dependencies using the terminal and the package manager of Pop!_OS. For example:

sudo apt-get update
sudo apt-get install git build-essential libasound2-dev libdbus-1-dev libgl1-mesa-dev libglew-dev libibus-1.0-dev libpulse-dev libreadline6-dev libtbb-dev libudev-dev libxcursor-dev libxext-dev libxi-dev libxinerama-dev libxrandr-dev libxrender-dev libxss-dev pkg-config uuid-dev

Once you have these dependencies installed, you can follow these steps to compile U3D:

Download the U3D source code from the official website or from GitHub:

git clone git@github.com:u3d-community/U3D.git

Navigate to the extracted directory:

cd U3D

Run the command "cmake ." to generate the Makefiles.

cmake -S . -B build -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release

Run the command "cmake build" to start the compilation process.

cmake --build build --parallel 8 --target all -- -j8

This will build the U3D library and samples. The compiled library and samples can be found in the bin directory.

None

u3d said:

To compile U3D on Pop!_OS, you will need to install the following dependencies:

  • CMake
  • GCC or Clang
  • git
  • pkg-config
  • OpenGL

You can install these dependencies using the terminal and the package manager of Pop!_OS. For example:

sudo apt-get update
sudo apt-get install git build-essential libasound2-dev libdbus-1-dev libgl1-mesa-dev libglew-dev libibus-1.0-dev libpulse-dev libreadline6-dev libtbb-dev libudev-dev libxcursor-dev libxext-dev libxi-dev libxinerama-dev libxrandr-dev libxrender-dev libxss-dev pkg-config uuid-dev

Once you have these dependencies installed, you can follow these steps to compile U3D:

Download the U3D source code from the official website or from GitHub:

git clone git@github.com:u3d-community/U3D.git

Navigate to the extracted directory:

cd U3D

Run the command "cmake ." to generate the Makefiles.

cmake -S . -B build -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release

Run the command "cmake build" to start the compilation process.

cmake --build build --parallel 8 --target all -- -j8

This will build the U3D library and samples. The compiled library and samples can be found in the bin directory.

Thanks for all the help. I managed to get it compiled. The only issue I have left is that I get this error when trying to run Editor.sh “./Urho3DPlayer: not found”. I'm reading through the documentation right now, so maybe I'm just missing a step to get the editor open. I'm not seeing anything referencing Urho3DPlayer in the bin folder or anywhere else. Sorry for the multiple questions.

It seems like the URHO3D_PLAYER definition is being disabled in your build. Try re-configuring with this command:

cmake -S . -B build -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DURHO3D_PLAYER=1 -DURHO3D_SAMPLES=1

And then build again:

cmake --build build --parallel 8 --target all -- -j8

If it doesn't work, could you share the output of the first command?

None

u3d said:

It seems like the URHO3D_PLAYER definition is being disabled in your build. Try re-configuring with this command:

cmake -S . -B build -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DURHO3D_PLAYER=1 -DURHO3D_SAMPLES=1

And then build again:

cmake --build build --parallel 8 --target all -- -j8

If it doesn't work, could you share the output of the first command?

No, it didn't work. I still get the missing UrhoPlayer message. But this is the output of the first command:

CMake Warning (dev) at /usr/share/cmake-3.22/Modules/CMakeDependentOption.cmake:84 (message):

Policy CMP0127 is not set: cmake_dependent_option() supports full Condition

Syntax. Run "cmake --help-policy CMP0127" for policy details. Use the

cmake_policy command to set the policy and suppress this warning.

Call Stack (most recent call first):

cmake/Modules/UrhoCommon.cmake:148 (cmake_dependent_option)

CMakeLists.txt:33 (include)

This warning is for project developers. Use -Wno-dev to suppress it.

-- Could NOT find OSS development library (missing: OSS_LIBRARIES)

-- Could NOT find Jack Audio Connection Kit development library (missing: JACK_LIBRARIES JACK_INCLUDE_DIRS)

-- Could NOT find Esound development library (missing: ESOUND_LIBRARIES ESOUND_INCLUDE_DIRS)

-- Could NOT find aRts development library (missing: ARTS_LIBRARIES ARTS_INCLUDE_DIRS)

-- Could NOT find NetworkAudioSystem development library (missing: NAS_LIBRARIES NAS_INCLUDE_DIRS)

-- Could NOT find RoarAudio development library (missing: SNDIO_LIBRARIES SNDIO_INCLUDE_DIRS)

-- Could NOT find FusionSound development library (missing: FUSIONSOUND_LIBRARIES FUSIONSOUND_INCLUDE_DIRS) (Required is at least version "1.0.0")

-- Could NOT find Secret Rabbit Code (aka libsamplerate) development library (missing: SECRETRABBITCODE_LIBRARIES SECRETRABBITCODE_INCLUDE_DIRS)

-- Could NOT find Wayland display server (missing: WAYLAND_CLIENT WAYLAND_SCANNER WAYLAND_CURSOR WAYLAND_EGL XKB WAYLAND_INCLUDE_DIRS WAYLAND_CORE_PROTOCOL_DIR WAYLAND_PROTOCOLS_DIR)

-- Could NOT find Direct Rendering Manager development library (missing: DRM_LIBRARIES DRM_INCLUDE_DIRS)

-- Could NOT find Direct Generic Buffer Management development library (missing: GBM_LIBRARIES GBM_INCLUDE_DIRS)

Added tolua++ as an external project

-- Configuring done

-- Generating done

-- Build files have been written to: /home/username/Downloads/U3D/build

This topic is closed to new replies.

Advertisement