Move ERLbach in correct folder, load into ModelList

This commit is contained in:
Tim
2025-04-29 00:46:04 +02:00
parent a2f368ce85
commit dc58bea7fd
7 changed files with 761 additions and 42 deletions

View File

@@ -1,9 +1,107 @@
public class Definitions
{
// BIKE PORTS
public const string PORT_BIKE_SPROCKET = "bikeSprocket";
public const string PORT_BIKE_PEDAL_L = "bikePedalL";
public const string PORT_BIKE_PEDAL_R = "bikePedalR";
public const string PORT_BIKE_STEER = "bikeSteer";
public const string PORT_BIKE_WHEEL = "bikeWheel";
public const string PORT_BIKE_DRIVER = "bikeDriver";
// ERLCAR PORTS
public const string PORT_ERLBACH_0 = "portErlbach0";
public const string PORT_ERLBACH_1 = "portErlbach1";
public const string PORT_ERLBACH_2 = "portErlbach2";
public const string PORT_ERLBACH_3 = "portErlbach3";
public const string PORT_ERLBACH_4 = "portErlbach4";
public const string PORT_ERLBACH_5 = "portErlbach5";
public const string PORT_ERLBACH_6 = "portErlbach6";
public const string PORT_ERLBACH_7 = "portErlbach7";
public const string PORT_ERLBACH_8 = "portErlbach8";
public const string PORT_ERLBACH_9 = "portErlbach9";
public const string PORT_ERLBACH_10 = "portErlbach10";
public const string PORT_ERLBACH_11 = "portErlbach11";
public const string PORT_ERLBACH_12 = "portErlbach12";
public const string PORT_ERLBACH_13 = "portErlbach13";
public const string PORT_ERLBACH_14 = "portErlbach14";
public const string PORT_ERLBACH_15 = "portErlbach15";
public const string PORT_ERLBACH_16 = "portErlbach16";
public const string PORT_ERLBACH_17 = "portErlbach17";
public const string PORT_ERLBACH_18 = "portErlbach18";
public const string PORT_ERLBACH_19 = "portErlbach19";
public const string PORT_ERLBACH_20 = "portErlbach20";
public const string PORT_ERLBACH_21 = "portErlbach21";
public const string PORT_ERLBACH_22 = "portErlbach22";
public const string PORT_ERLBACH_23 = "portErlbach23";
public const string PORT_ERLBACH_24 = "portErlbach24";
public const string PORT_ERLBACH_25 = "portErlbach25";
public const string PORT_ERLBACH_26 = "portErlbach26";
public const string PORT_ERLBACH_27 = "portErlbach27";
public const string PORT_ERLBACH_28 = "portErlbach28";
public const string PORT_ERLBACH_29 = "portErlbach29";
public const string PORT_ERLBACH_30 = "portErlbach30";
public const string PORT_ERLBACH_31 = "portErlbach31";
public const string PORT_ERLBACH_32 = "portErlbach32";
public const string PORT_ERLBACH_33 = "portErlbach33";
public const string PORT_ERLBACH_34 = "portErlbach34";
public const string PORT_ERLBACH_35 = "portErlbach35";
public const string PORT_ERLBACH_36 = "portErlbach36";
public const string PORT_ERLBACH_37 = "portErlbach37";
public const string PORT_ERLBACH_38 = "portErlbach38";
public const string PORT_ERLBACH_39 = "portErlbach39";
public const string PORT_ERLBACH_40 = "portErlbach40";
public const string PORT_ERLBACH_41 = "portErlbach41";
public const string PORT_ERLBACH_42 = "portErlbach42";
public const string PORT_ERLBACH_43 = "portErlbach43";
public const string PORT_ERLBACH_44 = "portErlbach44";
public const string PORT_ERLBACH_45 = "portErlbach45";
public const string PORT_ERLBACH_46 = "portErlbach46";
public const string PORT_ERLBACH_47 = "portErlbach47";
public const string PORT_ERLBACH_48 = "portErlbach48";
public const string PORT_ERLBACH_49 = "portErlbach49";
public const string PORT_ERLBACH_50 = "portErlbach50";
public const string PORT_ERLBACH_51 = "portErlbach51";
public const string PORT_ERLBACH_52 = "portErlbach52";
public const string PORT_ERLBACH_53 = "portErlbach53";
public const string PORT_ERLBACH_54 = "portErlbach54";
public const string PORT_ERLBACH_55 = "portErlbach55";
public const string PORT_ERLBACH_56 = "portErlbach56";
public const string PORT_ERLBACH_57 = "portErlbach57";
public const string PORT_ERLBACH_58 = "portErlbach58";
public const string PORT_ERLBACH_59 = "portErlbach59";
public const string PORT_ERLBACH_60 = "portErlbach60";
public const string PORT_ERLBACH_61 = "portErlbach61";
public const string PORT_ERLBACH_62 = "portErlbach62";
public const string PORT_ERLBACH_63 = "portErlbach63";
public const string PORT_ERLBACH_64 = "portErlbach64";
public const string PORT_ERLBACH_65 = "portErlbach65";
public const string PORT_ERLBACH_66 = "portErlbach66";
public const string PORT_ERLBACH_67 = "portErlbach67";
public const string PORT_ERLBACH_68 = "portErlbach68";
public const string PORT_ERLBACH_69 = "portErlbach69";
public const string PORT_ERLBACH_70 = "portErlbach70";
public const string PORT_ERLBACH_71 = "portErlbach71";
public const string PORT_ERLBACH_72 = "portErlbach72";
public const string PORT_ERLBACH_73 = "portErlbach73";
public const string PORT_ERLBACH_74 = "portErlbach74";
public const string PORT_ERLBACH_75 = "portErlbach75";
public const string PORT_ERLBACH_76 = "portErlbach76";
public const string PORT_ERLBACH_77 = "portErlbach77";
public const string PORT_ERLBACH_78 = "portErlbach78";
public const string PORT_ERLBACH_79 = "portErlbach79";
public const string PORT_ERLBACH_80 = "portErlbach80";
public const string PORT_ERLBACH_81 = "portErlbach81";
public const string PORT_ERLBACH_82 = "portErlbach82";
public const string PORT_ERLBACH_83 = "portErlbach83";
public const string PORT_ERLBACH_84 = "portErlbach84";
public const string PORT_ERLBACH_85 = "portErlbach85";
public const string PORT_ERLBACH_86 = "portErlbach86";
public const string PORT_ERLBACH_87 = "portErlbach87";
public const string PORT_ERLBACH_88 = "portErlbach88";
public const string PORT_ERLBACH_89 = "portErlbach89";
public const string PORT_ERLBACH_90 = "portErlbach90";
public const string PORT_ERLBACH_91 = "portErlbach91";
public const string PORT_ERLBACH_92 = "portErlbach92";
public const string PORT_ERLBACH_93 = "portErlbach93";
}

View File

@@ -2,54 +2,173 @@
using Unity.Mathematics;
using UnityEngine;
/// <summary>
/// This class holds all Model Definitions that will be used in the ModelManager
/// Is Planned to be replaced with a JSON Serializer
/// </summary>
public class ModelList
{
public static readonly List<BaseModel> BaseModels = new List<BaseModel>()
{
new BaseModel(
"Fahrrad", "bike",
Resources.Load<Mesh>($"Model/Bicycle/Models/Low-Poly Bicycle"),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
"Fahrrad",
"bike",
Resources.Load<Mesh>("Model/Bicycle/Models/Low-Poly Bicycle"),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new List<Port>
{ //please dont ask about the numbers
new Port(Definitions.PORT_BIKE_SPROCKET, new Vector3(0.007933f,0.444f,-0.1614f), "idBikeSprocket"),
new Port(Definitions.PORT_BIKE_PEDAL_L, new Vector3(-0.1252177f,0.5490288f,-0.312027f), "idBikePedalL_1"),
new Port(Definitions.PORT_BIKE_PEDAL_R, new Vector3(0.1410843f,0.3393247f, -0.01154391f), "idBikePedalR_1"),
new Port(Definitions.PORT_BIKE_STEER, new Vector3(0.002989591f,1.214713f,0.4860705f), Quaternion.Euler(-30f,0f,0f), "idBikeHandlebars"),
new Port(Definitions.PORT_BIKE_WHEEL, new Vector3(-0.01431298f,0.4673222f,-0.7874681f), "idBikeWheel_Back1"),
new Port(Definitions.PORT_BIKE_WHEEL, new Vector3(0.01984263f,0.4673225f,0.9462124f), "idBikeWheel_Front1"),
new Port(Definitions.PORT_BIKE_DRIVER, new Vector3(0f,1.25f,-0.65f), Quaternion.Euler(70f,0f,0f), "nuke"),
}
{
//please dont ask about the numbers
new Port(Definitions.PORT_BIKE_SPROCKET, new Vector3(0.007933f, 0.444f, -0.1614f), "idBikeSprocket"),
new Port(Definitions.PORT_BIKE_PEDAL_L, new Vector3(-0.1252177f, 0.5490288f, -0.312027f), "idBikePedalL_1"),
new Port(Definitions.PORT_BIKE_PEDAL_R, new Vector3(0.1410843f, 0.3393247f, -0.01154391f), "idBikePedalR_1"),
new Port(Definitions.PORT_BIKE_STEER, new Vector3(0.002989591f, 1.214713f, 0.4860705f), Quaternion.Euler(-30f, 0f, 0f), "idBikeHandlebars"),
new Port(Definitions.PORT_BIKE_WHEEL, new Vector3(-0.01431298f, 0.4673222f, -0.7874681f), "idBikeWheel_Back1"),
new Port(Definitions.PORT_BIKE_WHEEL, new Vector3(0.01984263f, 0.4673225f, 0.9462124f), "idBikeWheel_Front1"),
new Port(Definitions.PORT_BIKE_DRIVER, new Vector3(0f, 1.25f, -0.65f), Quaternion.Euler(70f, 0f, 0f), "nuke"),
}
),
new BaseModel(
"ERL-Bach",
"erlbach",
Resources.Load<Mesh>("Model/ERLbach/02.01.98.0000-ERLbach_vereinfacht"),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new List<Port>
{
new Port(Definitions.PORT_ERLBACH_0, new Vector3(0f, 0f, 0f), "idErlbachPart0"),
new Port(Definitions.PORT_ERLBACH_1, new Vector3(0f, 0f, 0f), "idErlbachPart1"),
new Port(Definitions.PORT_ERLBACH_2, new Vector3(0f, 0f, 0f), "idErlbachPart2"),
new Port(Definitions.PORT_ERLBACH_3, new Vector3(0f, 0f, 0f), "idErlbachPart3"),
new Port(Definitions.PORT_ERLBACH_4, new Vector3(0f, 0f, 0f), "idErlbachPart4"),
new Port(Definitions.PORT_ERLBACH_5, new Vector3(0f, 0f, 0f), "idErlbachPart5"),
new Port(Definitions.PORT_ERLBACH_6, new Vector3(0f, 0f, 0f), "idErlbachPart6"),
new Port(Definitions.PORT_ERLBACH_7, new Vector3(0f, 0f, 0f), "idErlbachPart7"),
new Port(Definitions.PORT_ERLBACH_8, new Vector3(0f, 0f, 0f), "idErlbachPart8"),
new Port(Definitions.PORT_ERLBACH_9, new Vector3(0f, 0f, 0f), "idErlbachPart9"),
new Port(Definitions.PORT_ERLBACH_10, new Vector3(0f, 0f, 0f), "idErlbachPart10"),
new Port(Definitions.PORT_ERLBACH_11, new Vector3(0f, 0f, 0f), "idErlbachPart11"),
new Port(Definitions.PORT_ERLBACH_12, new Vector3(0f, 0f, 0f), "idErlbachPart12"),
new Port(Definitions.PORT_ERLBACH_13, new Vector3(0f, 0f, 0f), "idErlbachPart13"),
new Port(Definitions.PORT_ERLBACH_14, new Vector3(0f, 0f, 0f), "idErlbachPart14"),
new Port(Definitions.PORT_ERLBACH_15, new Vector3(0f, 0f, 0f), "idErlbachPart15"),
new Port(Definitions.PORT_ERLBACH_16, new Vector3(0f, 0f, 0f), "idErlbachPart16"),
new Port(Definitions.PORT_ERLBACH_17, new Vector3(0f, 0f, 0f), "idErlbachPart17"),
new Port(Definitions.PORT_ERLBACH_18, new Vector3(0f, 0f, 0f), "idErlbachPart18"),
new Port(Definitions.PORT_ERLBACH_19, new Vector3(0f, 0f, 0f), "idErlbachPart19"),
new Port(Definitions.PORT_ERLBACH_20, new Vector3(0f, 0f, 0f), "idErlbachPart20"),
new Port(Definitions.PORT_ERLBACH_21, new Vector3(0f, 0f, 0f), "idErlbachPart21"),
new Port(Definitions.PORT_ERLBACH_22, new Vector3(0f, 0f, 0f), "idErlbachPart22"),
new Port(Definitions.PORT_ERLBACH_23, new Vector3(0f, 0f, 0f), "idErlbachPart23"),
new Port(Definitions.PORT_ERLBACH_24, new Vector3(0f, 0f, 0f), "idErlbachPart24"),
new Port(Definitions.PORT_ERLBACH_25, new Vector3(0f, 0f, 0f), "idErlbachPart25"),
new Port(Definitions.PORT_ERLBACH_26, new Vector3(0f, 0f, 0f), "idErlbachPart26"),
new Port(Definitions.PORT_ERLBACH_27, new Vector3(0f, 0f, 0f), "idErlbachPart27"),
new Port(Definitions.PORT_ERLBACH_28, new Vector3(0f, 0f, 0f), "idErlbachPart28"),
new Port(Definitions.PORT_ERLBACH_29, new Vector3(0f, 0f, 0f), "idErlbachPart29"),
new Port(Definitions.PORT_ERLBACH_30, new Vector3(0f, 0f, 0f), "idErlbachPart30"),
new Port(Definitions.PORT_ERLBACH_31, new Vector3(0f, 0f, 0f), "idErlbachPart31"),
new Port(Definitions.PORT_ERLBACH_32, new Vector3(0f, 0f, 0f), "idErlbachPart32"),
new Port(Definitions.PORT_ERLBACH_33, new Vector3(0f, 0f, 0f), "idErlbachPart33"),
new Port(Definitions.PORT_ERLBACH_34, new Vector3(0f, 0f, 0f), "idErlbachPart34"),
new Port(Definitions.PORT_ERLBACH_35, new Vector3(0f, 0f, 0f), "idErlbachPart35"),
new Port(Definitions.PORT_ERLBACH_36, new Vector3(0f, 0f, 0f), "idErlbachPart36"),
new Port(Definitions.PORT_ERLBACH_37, new Vector3(0f, 0f, 0f), "idErlbachPart37"),
new Port(Definitions.PORT_ERLBACH_38, new Vector3(0f, 0f, 0f), "idErlbachPart38"),
new Port(Definitions.PORT_ERLBACH_39, new Vector3(0f, 0f, 0f), "idErlbachPart39"),
new Port(Definitions.PORT_ERLBACH_40, new Vector3(0f, 0f, 0f), "idErlbachPart40"),
new Port(Definitions.PORT_ERLBACH_41, new Vector3(0f, 0f, 0f), "idErlbachPart41"),
new Port(Definitions.PORT_ERLBACH_42, new Vector3(0f, 0f, 0f), "idErlbachPart42"),
new Port(Definitions.PORT_ERLBACH_43, new Vector3(0f, 0f, 0f), "idErlbachPart43"),
new Port(Definitions.PORT_ERLBACH_44, new Vector3(0f, 0f, 0f), "idErlbachPart44"),
new Port(Definitions.PORT_ERLBACH_45, new Vector3(0f, 0f, 0f), "idErlbachPart45"),
new Port(Definitions.PORT_ERLBACH_46, new Vector3(0f, 0f, 0f), "idErlbachPart46"),
new Port(Definitions.PORT_ERLBACH_47, new Vector3(0f, 0f, 0f), "idErlbachPart47"),
new Port(Definitions.PORT_ERLBACH_48, new Vector3(0f, 0f, 0f), "idErlbachPart48"),
new Port(Definitions.PORT_ERLBACH_49, new Vector3(0f, 0f, 0f), "idErlbachPart49"),
new Port(Definitions.PORT_ERLBACH_50, new Vector3(0f, 0f, 0f), "idErlbachPart50"),
new Port(Definitions.PORT_ERLBACH_51, new Vector3(0f, 0f, 0f), "idErlbachPart51"),
new Port(Definitions.PORT_ERLBACH_52, new Vector3(0f, 0f, 0f), "idErlbachPart52"),
new Port(Definitions.PORT_ERLBACH_53, new Vector3(0f, 0f, 0f), "idErlbachPart53"),
new Port(Definitions.PORT_ERLBACH_54, new Vector3(0f, 0f, 0f), "idErlbachPart54"),
new Port(Definitions.PORT_ERLBACH_55, new Vector3(0f, 0f, 0f), "idErlbachPart55"),
new Port(Definitions.PORT_ERLBACH_56, new Vector3(0f, 0f, 0f), "idErlbachPart56"),
new Port(Definitions.PORT_ERLBACH_57, new Vector3(0f, 0f, 0f), "idErlbachPart57"),
new Port(Definitions.PORT_ERLBACH_58, new Vector3(0f, 0f, 0f), "idErlbachPart58"),
new Port(Definitions.PORT_ERLBACH_59, new Vector3(0f, 0f, 0f), "idErlbachPart59"),
new Port(Definitions.PORT_ERLBACH_60, new Vector3(0f, 0f, 0f), "idErlbachPart60"),
new Port(Definitions.PORT_ERLBACH_61, new Vector3(0f, 0f, 0f), "idErlbachPart61"),
new Port(Definitions.PORT_ERLBACH_62, new Vector3(0f, 0f, 0f), "idErlbachPart62"),
new Port(Definitions.PORT_ERLBACH_63, new Vector3(0f, 0f, 0f), "idErlbachPart63"),
new Port(Definitions.PORT_ERLBACH_64, new Vector3(0f, 0f, 0f), "idErlbachPart64"),
new Port(Definitions.PORT_ERLBACH_65, new Vector3(0f, 0f, 0f), "idErlbachPart65"),
new Port(Definitions.PORT_ERLBACH_66, new Vector3(0f, 0f, 0f), "idErlbachPart66"),
new Port(Definitions.PORT_ERLBACH_67, new Vector3(0f, 0f, 0f), "idErlbachPart67"),
new Port(Definitions.PORT_ERLBACH_68, new Vector3(0f, 0f, 0f), "idErlbachPart68"),
new Port(Definitions.PORT_ERLBACH_69, new Vector3(0f, 0f, 0f), "idErlbachPart69"),
new Port(Definitions.PORT_ERLBACH_70, new Vector3(0f, 0f, 0f), "idErlbachPart70"),
new Port(Definitions.PORT_ERLBACH_71, new Vector3(0f, 0f, 0f), "idErlbachPart71"),
new Port(Definitions.PORT_ERLBACH_72, new Vector3(0f, 0f, 0f), "idErlbachPart72"),
new Port(Definitions.PORT_ERLBACH_73, new Vector3(0f, 0f, 0f), "idErlbachPart73"),
new Port(Definitions.PORT_ERLBACH_74, new Vector3(0f, 0f, 0f), "idErlbachPart74"),
new Port(Definitions.PORT_ERLBACH_75, new Vector3(0f, 0f, 0f), "idErlbachPart75"),
new Port(Definitions.PORT_ERLBACH_76, new Vector3(0f, 0f, 0f), "idErlbachPart76"),
new Port(Definitions.PORT_ERLBACH_77, new Vector3(0f, 0f, 0f), "idErlbachPart77"),
new Port(Definitions.PORT_ERLBACH_78, new Vector3(0f, 0f, 0f), "idErlbachPart78"),
new Port(Definitions.PORT_ERLBACH_79, new Vector3(0f, 0f, 0f), "idErlbachPart79"),
new Port(Definitions.PORT_ERLBACH_80, new Vector3(0f, 0f, 0f), "idErlbachPart80"),
new Port(Definitions.PORT_ERLBACH_81, new Vector3(0f, 0f, 0f), "idErlbachPart81"),
new Port(Definitions.PORT_ERLBACH_82, new Vector3(0f, 0f, 0f), "idErlbachPart82"),
new Port(Definitions.PORT_ERLBACH_83, new Vector3(0f, 0f, 0f), "idErlbachPart83"),
new Port(Definitions.PORT_ERLBACH_84, new Vector3(0f, 0f, 0f), "idErlbachPart84"),
new Port(Definitions.PORT_ERLBACH_85, new Vector3(0f, 0f, 0f), "idErlbachPart85"),
new Port(Definitions.PORT_ERLBACH_86, new Vector3(0f, 0f, 0f), "idErlbachPart86"),
new Port(Definitions.PORT_ERLBACH_87, new Vector3(0f, 0f, 0f), "idErlbachPart87"),
new Port(Definitions.PORT_ERLBACH_88, new Vector3(0f, 0f, 0f), "idErlbachPart88"),
new Port(Definitions.PORT_ERLBACH_89, new Vector3(0f, 0f, 0f), "idErlbachPart89"),
new Port(Definitions.PORT_ERLBACH_90, new Vector3(0f, 0f, 0f), "idErlbachPart90"),
new Port(Definitions.PORT_ERLBACH_91, new Vector3(0f, 0f, 0f), "idErlbachPart91"),
new Port(Definitions.PORT_ERLBACH_92, new Vector3(0f, 0f, 0f), "idErlbachPart92"),
new Port(Definitions.PORT_ERLBACH_93, new Vector3(0f, 0f, 0f), "idErlbachPart93")
}
)
};
public static readonly List<ChildModel> ChildModels = new List<ChildModel>()
{
new ChildModel(
"driver", "Bacteria", "bacteria",
"driver",
"Bacteria",
"bacteria",
Resources.Load<Mesh>("Plagues/Mesh/bacteria"),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
null
),
new ChildModel(
"driver", "ICBM", "nuke",
"driver",
"ICBM",
"nuke",
Resources.Load<Mesh>("Plagues/Mesh/Nuke"),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
null
),
new ChildModel(
Definitions.PORT_BIKE_WHEEL, "30 Zoller MehrSpeicherFelge", "bike30inchAlloy",
Definitions.PORT_BIKE_WHEEL,
"30 Zoller MehrSpeicherFelge",
"bike30inchAlloy",
Resources.Load<Mesh>("Plagues/Mesh/Hex"),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
null
),
new ChildModel(
"bikePedalR", "Pedal Rechts", "bikePedalR",
"bikePedalR",
"Pedal Rechts",
"bikePedalR",
Resources.Load<Mesh>("Plagues/Mesh/Hex"),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
null
),
new ChildModel(
"bikePedalL", "Pedal Links", "bikePedalL",
"bikePedalL",
"Pedal Links",
"bikePedalL",
Resources.Load<Mesh>("Plagues/Mesh/Hex"),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
null
@@ -58,8 +177,17 @@ public class ModelList
static ModelList()
{
// i love importing .fbx, maybe refactor this function some day
ChildModels.AddRange(ModelLoader.LoadChildModels(
// I love importing .fbx, maybe refactor this function some day
/*
* ██████ ██ ██ ██ ███████
* ██ ██ ██ ██ ██ ██
* ██████ ██ █████ █████
* ██ ██ ██ ██ ██ ██
* ██████ ██ ██ ██ ███████
*/
ModelLoader.LoadChildModelsFromPackedModel(
ChildModels,
new string[6] // port
{
Definitions.PORT_BIKE_SPROCKET,
@@ -107,6 +235,509 @@ public class ModelList
null,
},
1 //skip the first mesh, which is the basemodel
));
);
/*
* ███████ ██████ ██ ██████ █████ ██████ ██ ██
* ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
* █████ ██████ ██ █████ ██████ ███████ ██ ███████
* ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
* ███████ ██ ██ ███████ ██████ ██ ██ ██████ ██ ██
*/
ModelLoader.LoadChildModelsFromPackedModel(
ChildModels,
new string[94] // port
{
Definitions.PORT_ERLBACH_0,
Definitions.PORT_ERLBACH_1,
Definitions.PORT_ERLBACH_2,
Definitions.PORT_ERLBACH_3,
Definitions.PORT_ERLBACH_4,
Definitions.PORT_ERLBACH_5,
Definitions.PORT_ERLBACH_6,
Definitions.PORT_ERLBACH_7,
Definitions.PORT_ERLBACH_8,
Definitions.PORT_ERLBACH_9,
Definitions.PORT_ERLBACH_10,
Definitions.PORT_ERLBACH_11,
Definitions.PORT_ERLBACH_12,
Definitions.PORT_ERLBACH_13,
Definitions.PORT_ERLBACH_14,
Definitions.PORT_ERLBACH_15,
Definitions.PORT_ERLBACH_16,
Definitions.PORT_ERLBACH_17,
Definitions.PORT_ERLBACH_18,
Definitions.PORT_ERLBACH_19,
Definitions.PORT_ERLBACH_20,
Definitions.PORT_ERLBACH_21,
Definitions.PORT_ERLBACH_22,
Definitions.PORT_ERLBACH_23,
Definitions.PORT_ERLBACH_24,
Definitions.PORT_ERLBACH_25,
Definitions.PORT_ERLBACH_26,
Definitions.PORT_ERLBACH_27,
Definitions.PORT_ERLBACH_28,
Definitions.PORT_ERLBACH_29,
Definitions.PORT_ERLBACH_30,
Definitions.PORT_ERLBACH_31,
Definitions.PORT_ERLBACH_32,
Definitions.PORT_ERLBACH_33,
Definitions.PORT_ERLBACH_34,
Definitions.PORT_ERLBACH_35,
Definitions.PORT_ERLBACH_36,
Definitions.PORT_ERLBACH_37,
Definitions.PORT_ERLBACH_38,
Definitions.PORT_ERLBACH_39,
Definitions.PORT_ERLBACH_40,
Definitions.PORT_ERLBACH_41,
Definitions.PORT_ERLBACH_42,
Definitions.PORT_ERLBACH_43,
Definitions.PORT_ERLBACH_44,
Definitions.PORT_ERLBACH_45,
Definitions.PORT_ERLBACH_46,
Definitions.PORT_ERLBACH_47,
Definitions.PORT_ERLBACH_48,
Definitions.PORT_ERLBACH_49,
Definitions.PORT_ERLBACH_50,
Definitions.PORT_ERLBACH_51,
Definitions.PORT_ERLBACH_52,
Definitions.PORT_ERLBACH_53,
Definitions.PORT_ERLBACH_54,
Definitions.PORT_ERLBACH_55,
Definitions.PORT_ERLBACH_56,
Definitions.PORT_ERLBACH_57,
Definitions.PORT_ERLBACH_58,
Definitions.PORT_ERLBACH_59,
Definitions.PORT_ERLBACH_60,
Definitions.PORT_ERLBACH_61,
Definitions.PORT_ERLBACH_62,
Definitions.PORT_ERLBACH_63,
Definitions.PORT_ERLBACH_64,
Definitions.PORT_ERLBACH_65,
Definitions.PORT_ERLBACH_66,
Definitions.PORT_ERLBACH_67,
Definitions.PORT_ERLBACH_68,
Definitions.PORT_ERLBACH_69,
Definitions.PORT_ERLBACH_70,
Definitions.PORT_ERLBACH_71,
Definitions.PORT_ERLBACH_72,
Definitions.PORT_ERLBACH_73,
Definitions.PORT_ERLBACH_74,
Definitions.PORT_ERLBACH_75,
Definitions.PORT_ERLBACH_76,
Definitions.PORT_ERLBACH_77,
Definitions.PORT_ERLBACH_78,
Definitions.PORT_ERLBACH_79,
Definitions.PORT_ERLBACH_80,
Definitions.PORT_ERLBACH_81,
Definitions.PORT_ERLBACH_82,
Definitions.PORT_ERLBACH_83,
Definitions.PORT_ERLBACH_84,
Definitions.PORT_ERLBACH_85,
Definitions.PORT_ERLBACH_86,
Definitions.PORT_ERLBACH_87,
Definitions.PORT_ERLBACH_88,
Definitions.PORT_ERLBACH_89,
Definitions.PORT_ERLBACH_90,
Definitions.PORT_ERLBACH_91,
Definitions.PORT_ERLBACH_92,
Definitions.PORT_ERLBACH_93,
},
new string[94] //human name
{
"Erlbach Part 0",
"Erlbach Part 1",
"Erlbach Part 2",
"Erlbach Part 3",
"Erlbach Part 4",
"Erlbach Part 5",
"Erlbach Part 6",
"Erlbach Part 7",
"Erlbach Part 8",
"Erlbach Part 9",
"Erlbach Part 10",
"Erlbach Part 11",
"Erlbach Part 12",
"Erlbach Part 13",
"Erlbach Part 14",
"Erlbach Part 15",
"Erlbach Part 16",
"Erlbach Part 17",
"Erlbach Part 18",
"Erlbach Part 19",
"Erlbach Part 20",
"Erlbach Part 21",
"Erlbach Part 22",
"Erlbach Part 23",
"Erlbach Part 24",
"Erlbach Part 25",
"Erlbach Part 26",
"Erlbach Part 27",
"Erlbach Part 28",
"Erlbach Part 29",
"Erlbach Part 30",
"Erlbach Part 31",
"Erlbach Part 32",
"Erlbach Part 33",
"Erlbach Part 34",
"Erlbach Part 35",
"Erlbach Part 36",
"Erlbach Part 37",
"Erlbach Part 38",
"Erlbach Part 39",
"Erlbach Part 40",
"Erlbach Part 41",
"Erlbach Part 42",
"Erlbach Part 43",
"Erlbach Part 44",
"Erlbach Part 45",
"Erlbach Part 46",
"Erlbach Part 47",
"Erlbach Part 48",
"Erlbach Part 49",
"Erlbach Part 50",
"Erlbach Part 51",
"Erlbach Part 52",
"Erlbach Part 53",
"Erlbach Part 54",
"Erlbach Part 55",
"Erlbach Part 56",
"Erlbach Part 57",
"Erlbach Part 58",
"Erlbach Part 59",
"Erlbach Part 60",
"Erlbach Part 61",
"Erlbach Part 62",
"Erlbach Part 63",
"Erlbach Part 64",
"Erlbach Part 65",
"Erlbach Part 66",
"Erlbach Part 67",
"Erlbach Part 68",
"Erlbach Part 69",
"Erlbach Part 70",
"Erlbach Part 71",
"Erlbach Part 72",
"Erlbach Part 73",
"Erlbach Part 74",
"Erlbach Part 75",
"Erlbach Part 76",
"Erlbach Part 77",
"Erlbach Part 78",
"Erlbach Part 79",
"Erlbach Part 80",
"Erlbach Part 81",
"Erlbach Part 82",
"Erlbach Part 83",
"Erlbach Part 84",
"Erlbach Part 85",
"Erlbach Part 86",
"Erlbach Part 87",
"Erlbach Part 88",
"Erlbach Part 89",
"Erlbach Part 90",
"Erlbach Part 91",
"Erlbach Part 92",
"Erlbach Part 93",
},
new string[94] //id
{
"idErlbachPart0",
"idErlbachPart1",
"idErlbachPart2",
"idErlbachPart3",
"idErlbachPart4",
"idErlbachPart5",
"idErlbachPart6",
"idErlbachPart7",
"idErlbachPart8",
"idErlbachPart9",
"idErlbachPart10",
"idErlbachPart11",
"idErlbachPart12",
"idErlbachPart13",
"idErlbachPart14",
"idErlbachPart15",
"idErlbachPart16",
"idErlbachPart17",
"idErlbachPart18",
"idErlbachPart19",
"idErlbachPart20",
"idErlbachPart21",
"idErlbachPart22",
"idErlbachPart23",
"idErlbachPart24",
"idErlbachPart25",
"idErlbachPart26",
"idErlbachPart27",
"idErlbachPart28",
"idErlbachPart29",
"idErlbachPart30",
"idErlbachPart31",
"idErlbachPart32",
"idErlbachPart33",
"idErlbachPart34",
"idErlbachPart35",
"idErlbachPart36",
"idErlbachPart37",
"idErlbachPart38",
"idErlbachPart39",
"idErlbachPart40",
"idErlbachPart41",
"idErlbachPart42",
"idErlbachPart43",
"idErlbachPart44",
"idErlbachPart45",
"idErlbachPart46",
"idErlbachPart47",
"idErlbachPart48",
"idErlbachPart49",
"idErlbachPart50",
"idErlbachPart51",
"idErlbachPart52",
"idErlbachPart53",
"idErlbachPart54",
"idErlbachPart55",
"idErlbachPart56",
"idErlbachPart57",
"idErlbachPart58",
"idErlbachPart59",
"idErlbachPart60",
"idErlbachPart61",
"idErlbachPart62",
"idErlbachPart63",
"idErlbachPart64",
"idErlbachPart65",
"idErlbachPart66",
"idErlbachPart67",
"idErlbachPart68",
"idErlbachPart69",
"idErlbachPart70",
"idErlbachPart71",
"idErlbachPart72",
"idErlbachPart73",
"idErlbachPart74",
"idErlbachPart75",
"idErlbachPart76",
"idErlbachPart77",
"idErlbachPart78",
"idErlbachPart79",
"idErlbachPart80",
"idErlbachPart81",
"idErlbachPart82",
"idErlbachPart83",
"idErlbachPart84",
"idErlbachPart85",
"idErlbachPart86",
"idErlbachPart87",
"idErlbachPart88",
"idErlbachPart89",
"idErlbachPart90",
"idErlbachPart91",
"idErlbachPart92",
"idErlbachPart93",
},
Resources.LoadAll<Mesh>($"Model/ERLbach/02.01.98.0000-ERLbach_vereinfacht"),
new Material[94] //mat
{
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
new Material(Shader.Find("VR/SpatialMapping/Occlusion")),
},
new List<Port>[94] // ports
{
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
},
0 //skip the first mesh, which is the basemodel
);
}
}

View File

@@ -14,8 +14,6 @@ public class ModelManager : MonoBehaviour
public GameObject baseModel; //current baseModel
public AutoModelSelector autoModelSelector;
HashSet<ChildModel>.Enumerator enumerator;
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{
@@ -23,6 +21,8 @@ public class ModelManager : MonoBehaviour
portDict = new Dictionary<string, HashSet<ChildModel>>();
childModelDict = new Dictionary<string, ChildModel>();
baseModelList = new List<BaseModel>();
autoModelSelector = FindFirstObjectByType<AutoModelSelector>();
foreach (var baseModel in ModelList.BaseModels)
{
registerBaseModel(baseModel);
@@ -37,20 +37,12 @@ public class ModelManager : MonoBehaviour
//TODO: send into model selection
Debug.LogError("baseModel is null, fix the configuration");
}
//baseModel.GetComponent<BaseModelBehaviour>().UpdateModel(baseModelList[0]); //TODO: change later when there is a model selection
enumerator = getChildModelsForPort("bikeB").GetEnumerator(); // TODO: GUI später
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.Space)) //TODO: remove after testing
{
Debug.Log($"Space key was pressed a{enumerator.Current}");
}
}
void registerChildModel(ChildModel model)

View File

@@ -96,7 +96,7 @@ public class AutoModelSelector : MonoBehaviour
void CreateButtons()
{
float startY = 0; // Anfangsposition auf Y-Achse
float buttonHeight = 60f; // Abstand zwischen den Buttons
float buttonHeight = 0.5f; // Abstand zwischen den Buttons
foreach (var baseModel in ModelList.BaseModels)
{

View File

@@ -6,10 +6,9 @@ using UnityEngine;
/// </summary>
public class ModelLoader
{
public static List<ChildModel> LoadChildModels(string[] port, string[] nameHuman, string[] nameId, Mesh[] meshes, Material[] mats, List<Port>[] ports, int fromMesh = 0, int toMesh = -1)
public static void LoadChildModelsFromPackedModel(List<ChildModel> appendList, string[] port, string[] nameHuman, string[] nameId, Mesh[] meshes, Material[] mats, List<Port>[] ports, int fromMesh = 0, int toMesh = -1)
{
Debug.Log("LoadChildModels " + fromMesh + " to " + toMesh + " from " + mats.Length + " meshes");
List<ChildModel> models = new List<ChildModel>();
if (toMesh == -1)
{
toMesh = meshes.Length;
@@ -17,8 +16,7 @@ public class ModelLoader
for (int i = 0; i < toMesh - fromMesh; i++)
{
Debug.Log($"{i}. {nameId[i]}:{nameHuman[i]} with {port.Length} ports");
models.Add(new ChildModel(port[i], nameHuman[i], nameId[i], meshes[fromMesh + i], mats[i], ports[i]));
appendList.Add(new ChildModel(port[i], nameHuman[i], nameId[i], meshes[fromMesh + i], mats[i], ports[i]));
}
return models;
}
}