Code Monkey home page Code Monkey logo

scriptingtools's Introduction

Scripting Tools

WARNING: The project crashes when compiling on Debug Mode when we try to open the Hierarchy window. On Release Mode everything works just fine.

Description

Final project for the subject Tool Scripting of the La Salle MVD. The project includes the customization of the debug system and gui interface, the proper exportation from 3Ds Max file to json and other improvements.

Exercises

  1. Map: You can find the 3ds project (with the materials folder as well) in the level_design folder.

  2. Scene export: Due to unknown reasons, the colliders do not seem to be working properly when exporting the scene (probably because the objects are not primitives). If needed, the user can navigate the scene with the freecam mode (aka pressing 'O')

  3. MovingPlatform component: This new component will add a repetitive translation between two points on any object of the scene. Speed, direction and distance will be editable parameters for this specific component. Instructions for the MovingPlatform addition:

  • Creation of MovingPlatform.cpp and MovingPlatform.h inside the components folder.
  • Addition of struct in Components.h, repeating the same steps as the Rotator.
  • Update and add similar code in EntityComponentStore.h.
  • Include the MovingPlatform.h in the required files.
  1. Renderer debug menu: Looking at the material struct (from GraphicsSystem.h) we can extract more information about the material (i.e. ambient, diffuse, specular, specular gloss) and show it with imgui on the render inspector to be editable parameters as well.

Material Inspector

  1. Console Scripts: Added 3 more new basic console scripts:
  • colorbackground - modifies the color of the glClearColor on the GraphicsSystem. The input parameters are 3 float from 0 to 1 (if not it is clamped to 1).

  • debug - enables the Debug Renderer Graphics for the colliders, rays, grid, etc. Turn it on and off with a 0 or a 1.

  • changecamera - changes the current main camera and type of movement (free or fps).

  1. Loading json for scene: Did not have time nor skills to finish this point.

  2. Adding delete button: Because the delete functionalityimplies to erase the index reference in the Entities vector (and thus, breaking the link/index reference with all components), we decided to implement a workaround. In our case, we've added a boolean in the Component struct to detect when an object is active. With that we can easily modify the GraphicsSystem to render or not the specific mesh.

Show/Hide Button

Authors

Screenshots

Perspective View

Top View

ingame

scriptingtools's People

Contributors

daliife avatar

Stargazers

 avatar

Watchers

 avatar  avatar

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.