Posts

Showing posts from December, 2020

7 Steps for Starting Every Game Project - from Jason Weimann

December 21, 2020 Setup for Every Game Dev Project Unity Setup Title: Do these 7 things for EVERY game! By: Jason Weimann Youtube - Information Description: 7 major steps to do for any non-minimal game development project, with a focus on Unity development. Overview This quick video is seven good steps to take when setting up a new game project assuming it is something you will be working on for any length of time. These tips range from general good practices that really should just be done on any project to helpful actions for keeping you organized and moving forward.

Architecture AI Pathing Project: Revit Data Applying Helper Class

December 9, 2020 File Reader Architecture AI Project Enhancing the Extendability of the Revit Parameter Data Application Class through Helper Class I got the basics of reading in a specified set of parameter data from Revit to apply to the model in Unity, but we would need to have options for possibly using many sets of data from there. To handle this I wanted to make it easy to add ways to handle all the differents types of logic with these sets of data. This started by creating a foundational interface that any class utilizing the data would implement, but I also needed a way to tie these specific classes to their corresponding data sets. I ended up doing this mostly with a helper class, named RevitModelDataHandlerManager, to the CSVReaderRevitModel class. Connecting Specific Data Handler Classes with Specific Data Sets Using a Dictionary Because of the nature of this data, we know that we will be searching for several different specific strings somewhere along the way,

Architecture AI Pathing Project: Applying Revit Parameter Data to Model in Unity

December 8, 2020 File Reader Architecture AI Project Applying Revit Parameter Data to Model in Unity After reading the Revit parameter data into Unity, it could now be used to modify the model within Unity itself. The original goal was to read the data to determine which objects within the model should be placed on which Unity layer, specifically the "Unwalkable" layer in most cases. It should then be extended to be able to add components to specific objects as well, meaning it needs to have a diverse functionality set available when modifying these individual objects. Building Data Arrays as Dictionaries for Flexibility Since the full extent of the use of this data is not fully known yet, having a flexible and extendable option for organizing and searching through the data made sense here. As the data is read in one sheet at a time and placed into separate 2D string arrays, I decided to organize those 2D arrays within a dictionary. The key of these dictionaries

Architecture AI Pathing Project: Another File Reader for Revit Model Data

December 3, 2020 File Reader Architecture AI Project Another File Reader: Revit Model Data After reconstructing the file reader to read in various coordinate data to be passed on to the A* pathing node grid, we also needed a file reader to read in data from the Revit model itself to reapply that data to the models in Unity. Revit allows the user to apply many parameters and lots of data to the models contained within it, and that data can be exported as a large Excel file. That data however is not being passed into Unity when exported as an .fbx file, so we needed a way to reapply that data using the exported data. Goal While this is a flexible enough concept to apply many parameters, the main problem this system is being created to solve was automating the process of labeling what parts of the model are "walkable" or "unwalkable". I had created a system to somewhat help do that in Unity, but this system will allow the user to do that work on the Revit

Architecture AI Pathing Project: File Reader and Different Resolutions of Data and A* Pathing Grid

December 1, 2020 File Reader Architecture AI Project File Reader Data Array Creation The file reader for this projects starts with the CSVReader class. This class is responsible for reading data in from .csv files generated by Revit to pass it on to the underlying A* pathing node grid for use by the agents when pathing. These .csv files have 2D coordinate values to locate the data, the actual data value, and a reference ID. The coordinate data and the data values themselves are separated and saved into many data objects within Unity (in a class named DataWithPosition). This prepares the data to be used to pass on to the A* pathing node grid. While the .csv data is generally consistently spaced based on coordinates, it can have many gaps as it does not assign a value somewhere where there is a gap in the model. This results in data that is not perfectly rectangular. To make the process of tying this data array in with the pathing grid more consistent, I manually make a recta