igx:backends:unity
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
igx:backends:unity [2014/11/20 11:06] – cr-wiki-admin | igx:backends:unity [2024/04/04 08:04] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== IG.GFX Unity-3D (IGX.Unity) SDK ====== | ||
+ | Welcome to IGX.Unity by intelligentgraphics, | ||
+ | |||
+ | ===== Getting Started with IGX.Unity, IGX Classes ===== | ||
+ | |||
+ | === Create an IGX Object === | ||
+ | |||
+ | - Import the Asset IGX.Unity.dll (see below) | ||
+ | - Create an empty // | ||
+ | - Assign Script // | ||
+ | - For object //world//, component // | ||
+ | - Run and see a loading object. Now try to open the doors/ | ||
+ | |||
+ | Note. It is likely that you need to add also the [[https:// | ||
+ | |||
+ | === Add Camera Control === | ||
+ | |||
+ | - Create a //Camera// | ||
+ | - Assign Script // | ||
+ | - Set camera' | ||
+ | |||
+ | === IGX.Unity.DLL === | ||
+ | |||
+ | The DLL is archived in this [[https:// | ||
+ | |||
+ | === IGXC Scene Repository === | ||
+ | |||
+ | This [[http:// | ||
+ | |||
+ | ===== Index of Integration Classes ===== | ||
+ | |||
+ | For any new projects we recommend the use of IGXScene and IGXObject from Section [[igx: | ||
+ | |||
+ | In the following, only selected classes are named. For a complete and more detailed description have a look into the [[https:// | ||
+ | |||
+ | ==== Section Core ==== | ||
+ | |||
+ | This section provides the core classes. | ||
+ | |||
+ | === EBDebug === | ||
+ | |||
+ | EBDebug is the central interface for debugging and logging. You may turn on/off logging globally, and enable logging for a specific context, such as product life cycle. | ||
+ | |||
+ | === EBLayers === | ||
+ | |||
+ | EBLayers defines Unity-3D layers to be used outside the Unity IDE, and also recursive assignment functions. | ||
+ | |||
+ | === EBMaterial === | ||
+ | |||
+ | EBMaterial is an abstract entity that covers multiple kinds of materials. It also contains a global repository for dynamically loaded materials and textures, and provides conversion methods for native material descriptions into a Unity material. | ||
+ | |||
+ | === EBRepresentation === | ||
+ | |||
+ | EBRepresentation is an abstract entity that covers multiple kind of geometric representations. | ||
+ | |||
+ | === EBWebResource === | ||
+ | |||
+ | EBWebResource is a base class implementing load state. | ||
+ | |||
+ | ==== Section Geometry ==== | ||
+ | |||
+ | === EBMeshData === | ||
+ | |||
+ | EBMeshData is an auxiliary class to be used by any native loaders. | ||
+ | |||
+ | === EBMeshRepository === | ||
+ | |||
+ | EBMeshRepository is a global repository managing native Unity-3D mesh arrays. | ||
+ | |||
+ | ==== Section IGX ==== | ||
+ | |||
+ | This section contains the primary support for dealing with IG.GFX. Currently this section is under development and **not** part of the IGX.Unity Standard Edition. | ||
+ | |||
+ | IGX has the following namespaces: | ||
+ | |||
+ | * IGX - The basis namespace | ||
+ | * IGX.Catalog - Simple Catalog with Configuration | ||
+ | * IGX.Core - Core types for the IG.GFX run time | ||
+ | * IGX.Demos - Classes for demo and test purpose | ||
+ | * IGX.Std - Standard interactors | ||
+ | |||
+ | === IGX.Material === | ||
+ | |||
+ | IGX.Material is a representation of the IG.GFX Material. | ||
+ | |||
+ | === IGX.MetaInformation === | ||
+ | |||
+ | IGX.MetaInformation is a data entity with additional information to be used in the context of IGXObjects. Such information is: | ||
+ | |||
+ | * a bounding box | ||
+ | * a list of attachment and definition points | ||
+ | * material categories and definitions | ||
+ | |||
+ | Note, the spatial properties are defined in IG.GFX space! | ||
+ | |||
+ | === IGX.Object === | ||
+ | |||
+ | IGX.Object extends--as a Unity Component--GameObject with data and behaviour needed in the context of IG.GFX (IGX). | ||
+ | |||
+ | === IGX.ObjectType === | ||
+ | |||
+ | IGX.ObjectType is an enumerator about the type of IGX.Object instances. | ||
+ | |||
+ | === IGX.Scene === | ||
+ | |||
+ | IGX.Scene is a singleton that controls an IG.GFX world. | ||
+ | |||
+ | === IGX.Demo.SampleScene === | ||
+ | |||
+ | IGX.Demo.SampleScene is an extension of IGX.Scene that offers samples. | ||
+ | |||
+ | === IGX.SelectionMode === | ||
+ | |||
+ | IGX.SelectionMode controls the selection behaviour of an IGX.Object. | ||
+ | |||
+ | === IGX.XPoint === | ||
+ | |||
+ | IGX.XPoint defines primarily an attachment point, but is also used to describe object' | ||
+ | |||
+ | === IGX.Core.Interactor === | ||
+ | |||
+ | IGX.Core.Interactor is the abstract base class of all interactor classes. | ||
+ | |||
+ | === IGX.Core.LocalInteractor === | ||
+ | |||
+ | IGX.Core.LocalInteractor is the abstract base class of all local, i.e. object-related interactor classes. | ||
+ | |||
+ | === IGX.Core.GlobalInteractor === | ||
+ | |||
+ | IGX.Core.GlobalInteractor is the abstract base class of all global, i.e. scene-related interactor classes. | ||
+ | |||
+ | ==== Section Import ==== | ||
+ | |||
+ | This section provides a few import classes. | ||
+ | |||
+ | === EBEOXImport === | ||
+ | |||
+ | EBEOXImport is a class for loading an EOX-GFX representation of a 3D object. The class itself is just a reader that uses other classes such as EBEOXScene and EBPartMeshData. Anyway, this class is your entry point of you want to load an EOX. | ||
+ | |||
+ | After successful loading two messages will be sent to the MonoBehaviour that invoked the loading: | ||
+ | |||
+ | * OnLoadingDone() - is an optional message after loading has been done | ||
+ | |||
+ | There are further callbacks, invoked on ancestors of the loaded object, which should **not** be used: | ||
+ | |||
+ | * NoLongerBusy() - is an optional message telling the behaviour that it's not busy any longer | ||
+ | * SelectRescan() - is a required message that should select the object and perform a rescan | ||
+ | |||
+ | === EBEOXScene === | ||
+ | |||
+ | EBEOXScene is an 1:1 representation of a 3D object described by a master XML (in format EOX-GFX) that links to low-level entities such as OBJs and MLIs. | ||
+ | |||
+ | Note. The class name is **eoxScene**. | ||
+ | |||
+ | === EBLoader === | ||
+ | |||
+ | EBLoader is an asynchronous loader for IGXC files, using IGXCImport, and EOX files, using EBEOXImport. | ||
+ | |||
+ | === EBObjectImport === | ||
+ | |||
+ | EBObjectImport is an abstract class for object-level importers such as IGXCImport and EBEOXImport. | ||
+ | |||
+ | === EBOBJImport === | ||
+ | |||
+ | EBOBJImport is a loader for OBJ files. This class is used in the context of the EOX loaders. | ||
+ | |||
+ | === EBOBJImport2 === | ||
+ | |||
+ | EBOBJImport2 is also a loader for OBJ files. This class can be used for stand-alone loading of OBJs. | ||
+ | |||
+ | === IGXCImport === | ||
+ | |||
+ | IGXCImport is a class for loading an IGXC representation of a 3D object. The class itself is just a reader that uses other classes such as EBOBJImport and EBPartMeshData. | ||
+ | |||
+ | === IGXCMetaImport === | ||
+ | |||
+ | IGXCMetaImport imports an IG.GFX metafile that defines material categories and materials, client-side packages, etc. An IG.GFX metafile links to an IGXC or EOX-GFX scene file, or describes only material definitions and assignments. | ||
+ | |||
+ | ==== Section Utilities ==== | ||
+ | |||
+ | This section provides a few utilities. | ||
+ | |||
+ | === EBCameraOrbiter === | ||
+ | |||
+ | EBCameraOrbiter is a class for the two-dimensional control of a perspective camera. | ||
+ | |||
+ | === EBUnusuableAreas === | ||
+ | |||
+ | EBUnusuableAreas is an auxiliary class that represents UI regions that should not react to interaction as they display buttons, etc. | ||
+ | |||
+ | === EBUtilities === | ||
+ | |||
+ | EBUtilities provides support functions: | ||
+ | |||
+ | * GetBoundsOfVertices() - computes the minimal bounding volume from a set of vertices | ||
+ | * CreateWireframeCube() - creates a unit cube but as a wireframe | ||
+ | |||
+ | ===== Technical Information ===== | ||
+ | |||
+ | The current Unity-3D reference versions are: 4.6.5 and 5.1.1 | ||
+ | |||
+ | IGX.Unity implements only **subsets** of EOX-GFX, OBJ and MTL. Please contact us to learn about the supported and non-supported features. | ||
+ | |||
+ | There' | ||
+ | |||
+ | //Copyright (C) 2012 - 2015 intelligentgraphics GmbH. All rights reserved.// |