Posts by lenidcamper

    I have seen examples of TSC files with enumerated [elements] and with [0]

    I assumed the scenery loader needs to merge [element] entries from multiple TSC files into an internal list anyway so enumeration does not seem

    to be particularly relevant. Since it works without enumeration I did not bother to add it.

    As for the [autoheight_override] I am unclear on the interpretation. I forget where I copied the original snippet for the template but it did have [-1]

    Models I have placed at zero elevation in Sketchup seem to render at grade level with it set to [-1] (or [10] ) so I left it at [-1]

    For an object model with larger area, if there is a slight slope in the elevation data one edge may be floating or depressed.

    I had to extend the pylon piers well below grade to avoid floating pylon legs on steeper grades

    If [autoheight_override] is set to [0] only XREF objects will render (no user defined objects).

    As with the element index the autoheight_override did not seem broken so I did not fix it.

    Changing the default values is easy if there is a "correct" answer.

    Adding an optional model configuration element is more work so I would need to see good justification for the change.

    The models I have converted worked fine with a zero elevation in Sketchup and autoheight_override of -1

    Stu

    can you introduce an empty parking lot factor?

    You don't need dummy map entries.

    If you set the default model name to empty string and set the upperLimit on the random tag to be appropriately larger than the number of (real) entries in the model map, when there is no match in the model map the empty default model is exported.

    In v0.7 the [tmsimulator_scenery_object][element] will no longer be exported if the model name is blank (to avoid the "..\..\..\..\objects\.tmb' not found"messages in the TM.log)

    I had assumed that the default model was fail safe and would always exist , but that is no longer the case.


    Maybe when Jeff is farther along with vehicle animation

    the preview of Aerofly Life is very interesting.

    It may make ObjectGen traffic redundant.
    No indication yet of how the traffic is defined or how easy that will be for large areas.

    The same issues of multiple lanes and intersections need to be addressed.

    any creative solution for the car traffic at intersections?

    Variable density at intersections is pretty far down the list.

    There are more significant issues to deal with for crossing ways.

    Even in the motorway scenario there is the problem that there is no easy way to detect that the crossing way is actually an overpass (flyover) and no vehicles should be placed at the crossover unless it is a rail underpass then it is ok. A crossing line algorithm would be pretty slow for a node set in the thousands.

    At street intersections there is the problem of 2 lanes becoming 4 lanes without any change in the OSM way.

    Or a 4 way stop intersection with multiple turning lanes tagged (and drawn) as a roundabout.

    That is on top of the general way misalignment to highway center line issue.

    There are limits to the realism of vehicle cultivation without extreme efforts on the processing side and a lot of tweaking of the OSM data

    no one is always parking strictly to the front line

    The spacing can be randomized slightly.

    The offset could be a min max. Even for highway traffic the vehicles don't always stay centered in the lanes.

    Then of course we need a orientationMode of Random to give a mix of nose-in / node-out.

    Although in NA 95% of people park nose-in unless they can pull through.

    Or convert from orientationMode enum to orientationSense value

    100 => 100% Forward

    50 => 50/50 mix

    0 => 0% Forward ( ie 100% Reverse)

    I added the FORrotationOffSet attribute in version 0.6 to correct what I assumed would be an infrequent problem of models defined in a non standard frame of reference.

    It turns out there is some unanticipated functionality available with this attribute. It gives a way to tackle the parking lot scenario.

    There were no appropriate OSM features already defined for parking lots, so I added ways down the center lines of the parking rows and tagged them parking="double_row"

    With appropriate tweaking of spacing and offsets and using a FORrotationOffset of 90 I got what I think is a reasonable representation of a parking lot.

    A slightly sparse random mapping (without buses and trucks) leaves some empty spaces.

    PS

    Will update next release to not export nodes with blank model names to support sparse mapping scenario

    but avoiding "..\..\..\..\objects\.tmb' not found)" messages in tm.log

    Released version 0.6.0 ObjectGen

    Main feature is the virtualObjects capability.

    This will export objects along a way at a fixed or random spacing with a configurable offset from the path of the way.

    The obvious example is randomly spaced traffic along a highway. Oh, it must be construction season because we have construction markers on the lane divider line.

    This scene was generated with the example.xml in the release package. The scenario is expecting Rodeo's new car library to be available in the objects folder.

    As usual check out the readme and UserGuide for details of the new features.

    cheers

    Stu

    PS

    The construction markers are not just a joke. They give a useful indication of how well the ways align with the center line of the highway feature.

    In the screen shot above they align quite well, but in other sections they deviate by several meters and the traffic wanders off the road. You may need to tweak the highway feature alignment in your OSM editor.

    PPS

    wait till you see Rodeo's cars at night.:thumbup::thumbup::thumbup:

    Would this be an easy tweak to your oneObject code?

    No.

    ... but it will be possible with the upcoming virtualObjects feature.

    Assuming

    - there is appropriate tag data to select buildings of interest

    - the first point of the way is consistently defined wrt road frontage or desired sign location.

    A virtualObjects specification element with fixed (or small random range) starting distance and a very large spacing would export a single object at the starting distance along the way.

    The offset could be configured or hard coded in the model.

    Will 3D warehouse allow to publish models from their site in another public database?

    The 3d warehouse terms of use are quite flexible.

    From the terms of use FAQ

    "Can I download a model, modify it and then upload the modified model as my own?


    Answer: Yes, but note that the unmodified version will still be owned by the original developer. The original developer will also continue to own any unmodified portions of the original model you include in your model.

    You can modify and redistribute. the original authors retains ownership of the unmodified portions"

    Stu, have you attempted street light poles?

    No

    I have not tried that scenario

    It would require the introduction of a <virtualObjects> choice on the <wayconfiguration> as an alternative to <oneObject>

    with specifications for <spacing min= max= ... />, <offset left= right= .../> ...

    Does it require explicit <orientation= /> ? Or is left and right offsets with opposite orientation perpendicular to the way sufficient?

    Does it make sense to have a modelMap or is a single model sufficient? Choose model based on highway classification???

    If there is any variability in the spacing, the objects would not align with scenProc lights.

    Does this require light generation as well as the object generation?

    Are there other scenarios. What about barges or road vehicles? (or will those scenarios be handled by Aerofly Life??)

    I like to understand the full requirements before I design anything.

    However I stepped into a problem:

    Thomas

    Do you have 0.5.2?

    I updated 0.5 with a fixes for case where features cross the bounding box boundary. There was a clipping problem introduced with large file support.

    2) Can you please give an example for random orientation of oneObject nodes?

    The storage tank examples in the text.xml or test_expression.xml show random orientation (not #0.3.3.1 since it is single node not oneObject based)

    There was no clean way to allow optional configuration of random orientation. The is a redundancy in the TMC specifications. Regular objects] have the [orientation] property and animated objects have [rotation_in_degrees] property for the same purpose. So allowing both orientation and rotation_in_degrees on a model in the XML is awkward. I probably should have split the animated model out separately from the static model but that would have made the XML more complicated.

    Although I do not like that the choice of animated or static model is is implicit in the presence of animation attributes with the model configuration.

    No clean solution.

    /Stu

    Hi Nick

    exception trying to restitch when ortho image files had been deleted.


    Object reference not set to an instance of an object.

    at AeroScenery.ImageProcessing.TileStitcher.<>c__DisplayClass5_0.<StitchImageTilesAsync>b__0()

    at System.Threading.Tasks.Task.Execute()

    --- End of stack trace from previous location where exception was thrown ---

    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

    at AeroScenery.ImageProcessing.TileStitcher.<StitchImageTilesAsync>d__5.MoveNext()

    --- End of stack trace from previous location where exception was thrown ---

    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

    at AeroScenery.AeroSceneryManager.<StartSceneryGenerationProcessAsync>d__33.MoveNext()

    --- End of stack trace from previous location where exception was thrown ---

    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

    at AeroScenery.AeroSceneryManager.<<Initialize>b__28_0>d.MoveNext()

    --- End of stack trace from previous location where exception was thrown ---

    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

    Uploaded new release of ObjectGen

    Major change is a new SelectionExpression capability to allow compound selection conditions to to specified instead of simple AndCriteria

    Added general expression evaluation engine to evaluate the result of the expression.

    Some other smaller updates.

    See readme and UserGuide for details

    /Stu

    It looks like traffic signals are just Nodes but those Nodes are included in a street Way.

    If the node is referenced from a way it will be treated like the power pylon or ski lift and the orientation will be calculated from the way

    Seems like it would need 2 levels of parsing, one to get all the traffic_signals Nodes, and a second to find those same nodes in street Ways.

    Reverse order.

    Ways are processed by walking along the way and processing any nodes referenced from the way.

    If Stu likes the idea, he could create a toc together with the tsc file (and include the toc call).

    Roadmap item

    As long as there is a generic way define lighting specification.

    I don't want to code a special case for traffic lights.