GithubHelp home page GithubHelp logo

vanjac / voxel-editor Goto Github PK

View Code? Open in Web Editor NEW
46.0 5.0 9.0 89.3 MB

N-Space: a mobile app for building 3D interactive worlds

Home Page: https://play.google.com/store/apps/details?id=com.vantjac.voxel

License: MIT License

C# 93.22% Shell 0.54% ShaderLab 5.79% Python 0.12% Objective-C 0.20% Makefile 0.13%
3d unity android voxel voxels level-editor map-editor ios

voxel-editor's Introduction

N-Space

Icon

A mobile app for building 3D interactive worlds. This is a work in progress.

Features

  • Sculpt indoor/outdoor 3D environments. It uses a voxel sculpting interface inspired by the Portal 2 Puzzle Maker, which is easy to use and very efficient for building complex spaces.
  • Paint surfaces with a selection of over 100 built-in materials/overlays, or import your own from your photos library.
  • Use the Bevel tool to create complex shapes including rounded edges and stair steps.
  • Use "substances" to build dynamic worlds with moving objects, water, triggers, and physics.
  • Simplified component system similar to Unity, and an extensive logic system for wiring up complex game logic. You can even build very simple "AI."
  • Customize the sky, lighting, and fog.
  • Import your own sound effects / music.
  • Experience your creations from a first person perspective. Make a game or just an interesting environment to explore.
  • Interactive tutorials and demos guide you through the interface and more advanced features of the app.
  • World files can be sent to/from other apps.

Screenshots

Using the app

The app opens to a list of "worlds" that you have created. Tap "New" to create a new world. Tap a world to open it in the Editor. Tap the menu button next to a world to access additional options, including sharing the worlds as .nspace files. You can open these files in N-Space from another app, like an email attachment or downloaded file.

N-Space has built-in documentation and tutorials, which you can access through the overflow () menu, by tapping Help.

Building the app yourself

The app has been tested with Unity 2020.3.X on Android and iOS. There is little platform-specific code (only for importing/exporting files). Most of the user interface requires touch input and will not work with a mouse, so you will need to use the Unity Remote App, or build for Android directly.

The repository does not come with textures from Poliigon, FreePBR, 3dtextures, and Genetica. You can purchase/download them yourself - look in the folders inside Assets/GameAssets for a list of .meta files which correspond to the missing textures. It is also possible to test N-Space without the textures at all. Materials will lack texture, but you can paint the walls with colors instead.

The app has four scenes:

  • Menu/menuScene: The file selection menu
  • VoxelEditor/editScene: The Editor interface. If you open this scene directly without first choosing a file, it will look for a file called mapsave.
  • Game/playScene: The gameplay interface. Again, without choosing a file it will look for mapsave.
  • Menu/fileReceiveScene: This scene will launch if you try to open a world file from another app using N-Space. This only works on Android.

Build Environment Setup

These notes are mostly for me, but you can read them too.

  • iOS: install Xcode
  • Install latest release of Unity 2020, with build tools for Android/iOS.
  • Clone repo. Don't open in Unity yet!!
  • Optional: Download/copy textures from Poliigon, FreePBR, 3dtextures, and Genetica (see above)
  • Open project in Unity, and switch platform to Android/iOS
  • Open Project Settings > Editor and switch Unity Remote device to Android
  • Android: open Player settings and browse for the keystore location.
  • iOS: download certificate from Apple and install, get private key and install

More info

MIT License

See credits.txt for sources of assets and libraries.

Contact me:

For questions / feedback / bug reports please email me

voxel-editor's People

Contributors

vanjac avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

voxel-editor's Issues

Shadows are bad

They should probably be disabled. They actually only seem to show up in the Unity Editor.

Paint eyedropper

Paint Panel would have an eyedropper icon at the top to select another face to copy its paint. Face Select Panel similar to the Entity Select Panel. Tapping a face should immediately copy the paint to the previously selected faces and switch back to the paint panel. Back button to cancel.

More reliable autosave

Try to do tests to determine how reliable saving is. Maybe we need to autosave periodically while using the editor (in a way that doesn't freeze the app for too long).

Select through X-Ray

There needs to be a way to select things behind substances with X-Ray. But there also needs to be a way to select substances with X-Ray, to turn it off.

#90 and #91 are two ways to do this.

Recent paint list

List of recent paints in Paint Panel. Row of small thumbnails at the top. Only saved for the current session (not saved in file). Paint is added when panel is closed, even if it wasn't changed.

Targeted behaviors

When a behavior is added, there should be an option to have it not affect its own entity, but instead another specific entity. Another option would allow affecting specifically the entity that "activated" the sensor.

Behaviors added to activator entities should first check if the entity matches the behavior rule.

Select all with tag

Option in the overflow menu to select all entities (including player) with a certain tag. Stored selection would be preserved but Add selection would be cleared first.

Clone substances

Properties panel would have a button to create a new substance which is identical to the selected one. This would open the Create Substance panel.

Speed up UpdateVoxel

This will improve load time and maybe adjusting large groups of faces. Maybe would improve #56

In game, merge voxels into single mesh

All wall voxels would be part of one mesh, and all voxels in a substance would be part of one mesh. Individual Voxel objects would still be created but not given meshes (and maybe not stored in the Voxel Array).

Delete substances

Properties panel would have a button to delete all voxels of the substance.

Eventually this should also have a temporary undo option. (#99)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.