Jump to content

Does the uploader remove loose vertices?


ChinRey
 Share

You are about to reply to a thread that has been inactive for 2274 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Possible alert for people who use single vertices to adjust bounding box sizes. It seems the uploader now removes any vertices not assigned to triangles so that trick doesn't work anymore.

At least that's what I found when I tried to do it right now. Can anybody check if they get the same result?

Link to comment
Share on other sites

47 minutes ago, Aquila Kytori said:

Tested with Firestorm 5.0.11.53634 and LL viewer 5.1.0.511732,  both worked as expected.

Weird. My uploader flatly refuses to include the loose vertices and I'm using the 5.1.0.511732. I checked the dae file and they are included there so it has to be the uploader that removes them.

Edit: Seems my updater is borked too. It's set to autoupdate but it never noticed the 5.1.1.

Edited by ChinRey
Link to comment
Share on other sites

1 hour ago, ChinRey said:

Weird. My uploader flatly refuses to include the loose vertices and I'm using the 5.1.0.511732. I checked the dae file and they are included there so it has to be the uploader that removes them.

 I have uploaded my basic door with offset vertex .blend file to here  http://pasteall.org/blend/index.php?id=48834

As a test you could try uploading that as it is.

or the Collada file to test :

<?xml version="1.0" encoding="utf-8"?>
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <asset>
    <contributor>
      <author>Blender User</author>
      <authoring_tool>Blender 2.79.1 commit date:2017-09-15, commit time:08:19, hash:d120780</authoring_tool>
    </contributor>
    <created>2018-01-31T20:17:08</created>
    <modified>2018-01-31T20:17:08</modified>
    <unit name="meter" meter="1"/>
    <up_axis>Z_UP</up_axis>
  </asset>
  <library_images/>
  <library_effects>
    <effect id="Material-effect">
      <profile_COMMON>
        <technique sid="common">
          <phong>
            <emission>
              <color sid="emission">0 0 0 1</color>
            </emission>
            <ambient>
              <color sid="ambient">0 0 0 1</color>
            </ambient>
            <diffuse>
              <color sid="diffuse">0.8 0.8 0.8 1</color>
            </diffuse>
            <specular>
              <color sid="specular">0.5 0.5 0.5 1</color>
            </specular>
            <shininess>
              <float sid="shininess">50</float>
            </shininess>
            <index_of_refraction>
              <float sid="index_of_refraction">1</float>
            </index_of_refraction>
          </phong>
        </technique>
      </profile_COMMON>
    </effect>
  </library_effects>
  <library_materials>
    <material id="Material-material" name="Material">
      <instance_effect url="#Material-effect"/>
    </material>
  </library_materials>
  <library_geometries>
    <geometry id="Plane_001-mesh" name="Plane.001">
      <mesh>
        <source id="Plane_001-mesh-positions">
          <float_array id="Plane_001-mesh-positions-array" count="27">-1 -0.01745235 0.9998477 1 0.01745235 -0.9998477 1 -0.01745235 0.9998477 0 0.01745235 -0.9998477 0 -0.01745235 0.9998477 1 0.1174523 -0.9998477 1 0.0825476 0.9998477 0 0.1174523 -0.9998477 0 0.0825476 0.9998477</float_array>
          <technique_common>
            <accessor source="#Plane_001-mesh-positions-array" count="9" stride="3">
              <param name="X" type="float"/>
              <param name="Y" type="float"/>
              <param name="Z" type="float"/>
            </accessor>
          </technique_common>
        </source>
        <source id="Plane_001-mesh-normals">
          <float_array id="Plane_001-mesh-normals-array" count="18">0 -0.9998477 -0.01745235 0 0.9998477 0.01745235 0 0 1 0 0 -1 -1 0 0 1 0 0</float_array>
          <technique_common>
            <accessor source="#Plane_001-mesh-normals-array" count="6" stride="3">
              <param name="X" type="float"/>
              <param name="Y" type="float"/>
              <param name="Z" type="float"/>
            </accessor>
          </technique_common>
        </source>
        <source id="Plane_001-mesh-map-0">
          <float_array id="Plane_001-mesh-map-0-array" count="72">0.6189347 0.3252544 0.4981782 0.6529852 0.5018218 0.3470147 0.5086168 0.6554266 0.6293733 0.3276958 0.5122603 0.3494561 0.6257296 0.6336663 0.4981782 0.6529852 0.6152911 0.6312249 0.5122603 0.3494561 0.6189347 0.3252544 0.5018218 0.3470147 0.5086168 0.6554266 0.5018218 0.3470147 0.4981782 0.6529852 0.6189347 0.3252544 0.6257296 0.6336663 0.6152911 0.6312249 0.6189347 0.3252544 0.6152911 0.6312249 0.4981782 0.6529852 0.5086168 0.6554266 0.6257296 0.6336663 0.6293733 0.3276958 0.6257296 0.6336663 0.5086168 0.6554266 0.4981782 0.6529852 0.5122603 0.3494561 0.6293733 0.3276958 0.6189347 0.3252544 0.5086168 0.6554266 0.5122603 0.3494561 0.5018218 0.3470147 0.6189347 0.3252544 0.6293733 0.3276958 0.6257296 0.6336663</float_array>
          <technique_common>
            <accessor source="#Plane_001-mesh-map-0-array" count="36" stride="2">
              <param name="S" type="float"/>
              <param name="T" type="float"/>
            </accessor>
          </technique_common>
        </source>
        <vertices id="Plane_001-mesh-vertices">
          <input semantic="POSITION" source="#Plane_001-mesh-positions"/>
        </vertices>
        <triangles material="Material-material" count="12">
          <input semantic="VERTEX" source="#Plane_001-mesh-vertices" offset="0"/>
          <input semantic="NORMAL" source="#Plane_001-mesh-normals" offset="1"/>
          <input semantic="TEXCOORD" source="#Plane_001-mesh-map-0" offset="2" set="0"/>
          <p>1 0 0 4 0 1 3 0 2 8 1 3 5 1 4 7 1 5 6 2 6 4 2 7 2 2 8 7 3 9 1 3 10 3 3 11 8 4 12 3 4 13 4 4 14 1 5 15 6 5 16 2 5 17 1 0 18 2 0 19 4 0 20 8 1 21 6 1 22 5 1 23 6 2 24 8 2 25 4 2 26 7 3 27 5 3 28 1 3 29 8 4 30 7 4 31 3 4 32 1 5 33 5 5 34 6 5 35</p>
        </triangles>
      </mesh>
    </geometry>
  </library_geometries>
  <library_controllers/>
  <library_visual_scenes>
    <visual_scene id="Scene" name="Scene">
      <node id="Loose_Vertex" name="Loose_Vertex" type="NODE">
        <matrix sid="transform">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix>
        <instance_geometry url="#Plane_001-mesh" name="Loose_Vertex">
          <bind_material>
            <technique_common>
              <instance_material symbol="Material-material" target="#Material-material"/>
            </technique_common>
          </bind_material>
        </instance_geometry>
      </node>
    </visual_scene>
  </library_visual_scenes>
  <scene>
    <instance_visual_scene url="#Scene"/>
  </scene>
</COLLADA>

 

 

  • Like 1
Link to comment
Share on other sites

Right now I'm glad I'm not a Linden because if I was, my poor avatar would have had to wear Shrek ears for at least a month. I forgot to sort the vertices and of course the uploader will only keep a loose one if it's no. 1 on the list.

Anyway, it's all my fault. Thank you Arton and Aquila for helping me figuring it out!

  • Haha 3
Link to comment
Share on other sites

22 hours ago, ChinRey said:

Right now I'm glad I'm not a Linden because if I was, my poor avatar would have had to wear Shrek ears for at least a month. I forgot to sort the vertices and of course the uploader will only keep a loose one if it's no. 1 on the list.

Anyway, it's all my fault. Thank you Arton and Aquila for helping me figuring it out!

One of my heros made a mistake!  Cool, it puts all mine into perspective.

  • Like 2
Link to comment
Share on other sites

On 31/01/2018 at 7:59 PM, ChinRey said:

Right now I'm glad I'm not a Linden because if I was, my poor avatar would have had to wear Shrek ears for at least a month. I forgot to sort the vertices and of course the uploader will only keep a loose one if it's no. 1 on the list.

Anyway, it's all my fault. Thank you Arton and Aquila for helping me figuring it out!

Interesting, it is an anomaly that this works at all. I'm not about to poke it and find out why, but given that the DAE loading code is a horrid mess and well overdue for a rewrite, don't be surprised if this does mysteriously stop working at some point. I've always padded with a tiny triangle, I'd never thought about this. 

What are the typical use cases for this? I can see two primary ones, are there others?

1) Boosting the bounding box on small items to increase visible range (at the appropriately higher LI cost of course)

2) Offsetting the centre of rotation

If I hear of any rewrite work, we can have the discussion with the Lab as to whether this is a practice that needs to be supported or left to die. Of course, the correct solution, assuming the two use cases above are the main/only ones is to allow arbitrary scale and offset of the BB on upload. I had a quick look at this once, but "ugh code smell" maybe we'll have to revisit it.

Link to comment
Share on other sites

15 minutes ago, Beq Janus said:

don't be surprised if this does mysteriously stop working at some point.

I asked a Linden about it a while ago and that is pretty much what he said too. But it's very unlikely any upgrades will affect existing content. They would have to re-parse every single mesh asset already in the database for that and that would be a huge and completely pointless task.

 

23 minutes ago, Beq Janus said:

I can see two primary ones, are there others?

Those are the two I know of too.

 

23 minutes ago, Beq Janus said:

I had a quick look at this once, but "ugh code smell".

You need one of these:

5a74573feb973_Germany_gas_mask_Model_1917_-_National_World_War_I_Museum_-_Kansas_City_MO_-_DSC07567.JPG.a7946e0f12a31215dcc372c6a6392bb4.JPG

You don't have to look at the code to notice the smell, it stinks for miles around.

 

39 minutes ago, Beq Janus said:

maybe we'll have to revisit it.

You can say that again - and again and again and...

  • Like 1
Link to comment
Share on other sites

4 hours ago, ChinRey said:

I asked a Linden about it a while ago and that is pretty much what he said too. But it's very unlikely any upgrades will affect existing content. They would have to re-parse every single mesh asset already in the database for that and that would be a huge and completely pointless task.

I actually suggested a re-parse (slight tongue in cheek) recently and the response was "we don't touch legacy content" so you are safe :-)

Edited by Beq Janus
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 2274 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...