<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: A way to display UV seams without using UV Unwrap modifier in 3ds Max Modeling Forum</title>
    <link>https://forums.autodesk.com/t5/3ds-max-modeling-forum/a-way-to-display-uv-seams-without-using-uv-unwrap-modifier/m-p/10086721#M4217</link>
    <description>&lt;P&gt;Hi Mate. You can do one thing after unwrapping the model just render the uv as a jpg. Then apply the rendered uv on the model.&lt;/P&gt;&lt;P&gt;This is the only way to work on the model while having the uv seems visible.&lt;/P&gt;&lt;P&gt;Hope this will help.&lt;/P&gt;&lt;P&gt;Thanks and Regards,&lt;/P&gt;&lt;P&gt;Irshad Shah&lt;/P&gt;</description>
    <pubDate>Tue, 16 Feb 2021 13:11:50 GMT</pubDate>
    <dc:creator>Irshad_Shah_3dArtist</dc:creator>
    <dc:date>2021-02-16T13:11:50Z</dc:date>
    <item>
      <title>A way to display UV seams without using UV Unwrap modifier</title>
      <link>https://forums.autodesk.com/t5/3ds-max-modeling-forum/a-way-to-display-uv-seams-without-using-uv-unwrap-modifier/m-p/10081093#M4216</link>
      <description>&lt;P&gt;Is there a way to display UV seams in viewport without using the unwrap modifier? It could be something like in X-view, but just the UV seams. It would be very helpful while modelling where the seams are very crucial. Thanks&lt;/P&gt;</description>
      <pubDate>Sat, 13 Feb 2021 18:37:25 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/3ds-max-modeling-forum/a-way-to-display-uv-seams-without-using-uv-unwrap-modifier/m-p/10081093#M4216</guid>
      <dc:creator>sgv3dmax</dc:creator>
      <dc:date>2021-02-13T18:37:25Z</dc:date>
    </item>
    <item>
      <title>Re: A way to display UV seams without using UV Unwrap modifier</title>
      <link>https://forums.autodesk.com/t5/3ds-max-modeling-forum/a-way-to-display-uv-seams-without-using-uv-unwrap-modifier/m-p/10086721#M4217</link>
      <description>&lt;P&gt;Hi Mate. You can do one thing after unwrapping the model just render the uv as a jpg. Then apply the rendered uv on the model.&lt;/P&gt;&lt;P&gt;This is the only way to work on the model while having the uv seems visible.&lt;/P&gt;&lt;P&gt;Hope this will help.&lt;/P&gt;&lt;P&gt;Thanks and Regards,&lt;/P&gt;&lt;P&gt;Irshad Shah&lt;/P&gt;</description>
      <pubDate>Tue, 16 Feb 2021 13:11:50 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/3ds-max-modeling-forum/a-way-to-display-uv-seams-without-using-uv-unwrap-modifier/m-p/10086721#M4217</guid>
      <dc:creator>Irshad_Shah_3dArtist</dc:creator>
      <dc:date>2021-02-16T13:11:50Z</dc:date>
    </item>
    <item>
      <title>Re: A way to display UV seams without using UV Unwrap modifier</title>
      <link>https://forums.autodesk.com/t5/3ds-max-modeling-forum/a-way-to-display-uv-seams-without-using-uv-unwrap-modifier/m-p/10088386#M4218</link>
      <description>&lt;P&gt;Hi Irshad, thank you for the reply. Yup, I can use render to texture and use that as a guide, but the problem is the changes I make to the model will not get updated, and I need real-time feedback when an edge is removed or added. I found this maxscript in scriptspot.com but it will not work in max 2021, which I am currently using. This script works without any problem in 2015 and 2017 and is very useful + it has real-time feedback when you click the Update button. Here is the script (Credit to PolyTools3D), screen shot attached. You can copy+paste it into max script window and run it to test:&lt;BR /&gt;macroScript Macro2&lt;BR /&gt;category:"DragAndDrop"&lt;BR /&gt;toolTip:""&lt;BR /&gt;(&lt;BR /&gt;(&lt;BR /&gt;&lt;BR /&gt;unRegisterRedrawViewsCallback cbDrawOpenEdges&lt;BR /&gt;&lt;BR /&gt;global RO_DISPLAY_UV_OE&lt;BR /&gt;global cbDrawOpenEdges&lt;BR /&gt;global cbSelectionChanged&lt;BR /&gt;&lt;BR /&gt;local vertexPos = #()&lt;BR /&gt;local uvChannel = 1&lt;BR /&gt;local edgesColor = [0,255,0]&lt;BR /&gt;local edgeOffset = 0.03&lt;BR /&gt;local forceRedraw = false&lt;BR /&gt;&lt;BR /&gt;fn cbDrawOpenEdges = (&lt;BR /&gt;gw.setTransform (Matrix3 1)&lt;BR /&gt;gw.setColor #line edgesColor&lt;BR /&gt;for j in vertexPos do gw.polyLine j true&lt;BR /&gt;&lt;BR /&gt;-- Needed in some Max versions or used dirvers&lt;BR /&gt;if forceRedraw do (&lt;BR /&gt;gw.enlargeUpdateRect #whole&lt;BR /&gt;gw.updateScreen()&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;&lt;BR /&gt;fn cbSelectionChanged mForce:false = (&lt;BR /&gt;&lt;BR /&gt;unRegisterRedrawViewsCallback cbDrawOpenEdges&lt;BR /&gt;&lt;BR /&gt;if ($ != undefined) do (&lt;BR /&gt;&lt;BR /&gt;setwaitcursor()&lt;BR /&gt;&lt;BR /&gt;st = timeStamp()&lt;BR /&gt;&lt;BR /&gt;obj = snapshotasmesh selection[1]&lt;BR /&gt;&lt;BR /&gt;allChannels = for j = 1 to meshop.getNumMaps obj where (meshop.getMapSupport obj j) collect j&lt;BR /&gt;&lt;BR /&gt;RO_DISPLAY_UV_OE.ddl_channel.items = for j in allChannels collect j as string&lt;BR /&gt;&lt;BR /&gt;if (mForce == false) do (&lt;BR /&gt;uvChannel = allChannels[1]&lt;BR /&gt;RO_DISPLAY_UV_OE.ddl_channel.selection = 1&lt;BR /&gt;)&lt;BR /&gt;&lt;BR /&gt;numTFaces = meshop.getNumMapFaces obj uvChannel&lt;BR /&gt;numTVerts = meshop.getNumMapVerts obj uvChannel&lt;BR /&gt;&lt;BR /&gt;facesTVertsIdx = for j = 1 to numTFaces collect (meshop.getMapFace obj uvChannel j)&lt;BR /&gt;&lt;BR /&gt;emesh = trimesh()&lt;BR /&gt;setMesh emesh numverts:numTVerts numfaces:numTFaces&lt;BR /&gt;setMesh emesh faces:facesTVertsIdx&lt;BR /&gt;&lt;BR /&gt;objOpenEdges = meshop.getOpenEdges obj&lt;BR /&gt;meshOpenEdges = (meshop.getOpenEdges emesh) - objOpenEdges&lt;BR /&gt;&lt;BR /&gt;vertexPos = #()&lt;BR /&gt;&lt;BR /&gt;sharedFaces = meshop.getFacesUsingEdge emesh meshOpenEdges&lt;BR /&gt;foundEdges = #()&lt;BR /&gt;&lt;BR /&gt;for j in sharedFaces do (&lt;BR /&gt;&lt;BR /&gt;objFaceVerts = getFace obj j&lt;BR /&gt;&lt;BR /&gt;edge1 = j*3 - 2&lt;BR /&gt;edge2 = j*3 - 1&lt;BR /&gt;edge3 = j*3&lt;BR /&gt;&lt;BR /&gt;n1 = (getFaceNormal obj j) * edgeOffset&lt;BR /&gt;&lt;BR /&gt;if (finditem meshOpenEdges edge1) &amp;gt; 0 do (&lt;BR /&gt;v1Idx = objFaceVerts.x&lt;BR /&gt;v2Idx = objFaceVerts.y&lt;BR /&gt;if (findItem foundEdges [v1Idx, v2Idx] == 0) do (&lt;BR /&gt;v1 = getVert obj v1Idx&lt;BR /&gt;v2 = getVert obj v2Idx&lt;BR /&gt;n3 = (normalize (cross n1 (v1-v2))) * edgeOffset&lt;BR /&gt;append vertexPos #(v1+n1+n3, v2+n1+n3, v1-n1-n3, v2-n1-n3, v1-n1+n3, v2-n1+n3, v1+n1-n3, v2+n1-n3)&lt;BR /&gt;append foundEdges [v2Idx, v1Idx]&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;if (finditem meshOpenEdges edge2) &amp;gt; 0 do (&lt;BR /&gt;v1Idx = objFaceVerts.y&lt;BR /&gt;v2Idx = objFaceVerts.z&lt;BR /&gt;if (findItem foundEdges [v1Idx, v2Idx] == 0) do (&lt;BR /&gt;v1 = getVert obj v1Idx&lt;BR /&gt;v2 = getVert obj v2Idx&lt;BR /&gt;n3 = (normalize (cross n1 (v1-v2))) * edgeOffset&lt;BR /&gt;append vertexPos #(v1+n1+n3, v2+n1+n3, v1-n1-n3, v2-n1-n3, v1-n1+n3, v2-n1+n3, v1+n1-n3, v2+n1-n3)&lt;BR /&gt;append foundEdges [v2Idx, v1Idx]&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;if (finditem meshOpenEdges edge3) &amp;gt; 0 do (&lt;BR /&gt;v1Idx = objFaceVerts.z&lt;BR /&gt;v2Idx = objFaceVerts.x&lt;BR /&gt;if (findItem foundEdges [v1Idx, v2Idx] == 0) do (&lt;BR /&gt;v1 = getVert obj v1Idx&lt;BR /&gt;v2 = getVert obj v2Idx&lt;BR /&gt;n3 = (normalize (cross n1 (v1-v2))) * edgeOffset&lt;BR /&gt;append vertexPos #(v1+n1+n3, v2+n1+n3, v1-n1-n3, v2-n1-n3, v1-n1+n3, v2-n1+n3, v1+n1-n3, v2+n1-n3)&lt;BR /&gt;append foundEdges [v2Idx, v1Idx]&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;&lt;BR /&gt;)&lt;BR /&gt;&lt;BR /&gt;sharedFaces = meshop.getFacesUsingEdge obj objOpenEdges&lt;BR /&gt;&lt;BR /&gt;for j in sharedFaces do (&lt;BR /&gt;&lt;BR /&gt;objFaceVerts = getFace obj j&lt;BR /&gt;&lt;BR /&gt;edge1 = j*3 - 2&lt;BR /&gt;edge2 = j*3 - 1&lt;BR /&gt;edge3 = j*3&lt;BR /&gt;&lt;BR /&gt;n1 = (getFaceNormal obj j) * edgeOffset&lt;BR /&gt;&lt;BR /&gt;if (finditem objOpenEdges edge1) &amp;gt; 0 do (&lt;BR /&gt;v1Idx = objFaceVerts.x&lt;BR /&gt;v2Idx = objFaceVerts.y&lt;BR /&gt;v1 = getVert obj v1Idx&lt;BR /&gt;v2 = getVert obj v2Idx&lt;BR /&gt;n3 = (normalize (cross n1 (v1-v2))) * edgeOffset&lt;BR /&gt;append vertexPos #(v1+n1+n3, v2+n1+n3, v1-n1-n3, v2-n1-n3, v1-n1+n3, v2-n1+n3, v1+n1-n3, v2+n1-n3)&lt;BR /&gt;)&lt;BR /&gt;if (finditem objOpenEdges edge2) &amp;gt; 0 do (&lt;BR /&gt;v1Idx = objFaceVerts.y&lt;BR /&gt;v2Idx = objFaceVerts.z&lt;BR /&gt;v1 = getVert obj v1Idx&lt;BR /&gt;v2 = getVert obj v2Idx&lt;BR /&gt;n3 = (normalize (cross n1 (v1-v2))) * edgeOffset&lt;BR /&gt;append vertexPos #(v1+n1+n3, v2+n1+n3, v1-n1-n3, v2-n1-n3, v1-n1+n3, v2-n1+n3, v1+n1-n3, v2+n1-n3)&lt;BR /&gt;)&lt;BR /&gt;if (finditem objOpenEdges edge3) &amp;gt; 0 do (&lt;BR /&gt;v1Idx = objFaceVerts.z&lt;BR /&gt;v2Idx = objFaceVerts.x&lt;BR /&gt;v1 = getVert obj v1Idx&lt;BR /&gt;v2 = getVert obj v2Idx&lt;BR /&gt;n3 = (normalize (cross n1 (v1-v2))) * edgeOffset&lt;BR /&gt;append vertexPos #(v1+n1+n3, v2+n1+n3, v1-n1-n3, v2-n1-n3, v1-n1+n3, v2-n1+n3, v1+n1-n3, v2+n1-n3)&lt;BR /&gt;)&lt;BR /&gt;&lt;BR /&gt;)&lt;BR /&gt;&lt;BR /&gt;format "Found %\tUV Open Edges in %s\n" vertexPos.count ((timeStamp() - st) / 1000.0)&lt;BR /&gt;&lt;BR /&gt;registerRedrawViewsCallback cbDrawOpenEdges&lt;BR /&gt;&lt;BR /&gt;delete obj&lt;BR /&gt;delete emesh&lt;BR /&gt;&lt;BR /&gt;gc light:true&lt;BR /&gt;&lt;BR /&gt;setArrowCursor()&lt;BR /&gt;&lt;BR /&gt;)&lt;BR /&gt;&lt;BR /&gt;forceCompleteRedraw()&lt;BR /&gt;&lt;BR /&gt;)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;try(destroyDialog RO_DISPLAY_UV_OE) catch()&lt;BR /&gt;rollout RO_DISPLAY_UV_OE "UV Open Edges" width:160 height:198&lt;BR /&gt;(&lt;BR /&gt;checkbutton bt_enable "Display UV Open Edges" pos:[8,8] width:144 height:32&lt;BR /&gt;dropdownList ddl_channel "UV Channel:" pos:[8,72] width:120 height:40 enabled:false&lt;BR /&gt;colorPicker cp1 "" pos:[131,90] width:21 height:21 enabled:true color:edgesColor modal:false&lt;BR /&gt;checkbox chk_redraw "Force Redraw" pos:[8,46] width:100 height:16 enabled:false&lt;BR /&gt;spinner spn_width "Edge Width:" pos:[8,120] width:120 height:16 range:[1,100,4] type:#integer fieldwidth:50&lt;BR /&gt;button bt_update "Update" pos:[8,160] width:144 height:28 enabled:false&lt;BR /&gt;&lt;BR /&gt;fn destroy = (&lt;BR /&gt;callbacks.removeScripts #selectionSetChanged&lt;BR /&gt;unRegisterRedrawViewsCallback cbDrawOpenEdges&lt;BR /&gt;forceCompleteRedraw()&lt;BR /&gt;)&lt;BR /&gt;&lt;BR /&gt;on RO_DISPLAY_UV_OE close do destroy()&lt;BR /&gt;&lt;BR /&gt;on bt_enable changed arg do&lt;BR /&gt;(&lt;BR /&gt;bt_update.enabled = arg&lt;BR /&gt;ddl_channel.enabled = arg&lt;BR /&gt;chk_redraw.enabled = arg&lt;BR /&gt;destroy()&lt;BR /&gt;&lt;BR /&gt;if (arg == true) do (&lt;BR /&gt;callbacks.addscript #selectionSetChanged "cbSelectionChanged()"&lt;BR /&gt;cbSelectionChanged()&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;&lt;BR /&gt;on bt_update pressed do cbSelectionChanged()&lt;BR /&gt;&lt;BR /&gt;on ddl_channel selected arg do (&lt;BR /&gt;uvChannel = (ddl_channel.selected as integer)&lt;BR /&gt;cbSelectionChanged mForce:true&lt;BR /&gt;)&lt;BR /&gt;&lt;BR /&gt;on cp1 changed arg do edgesColor = arg&lt;BR /&gt;&lt;BR /&gt;on spn_width changed arg do edgeOffset = (arg-1)/100.0&lt;BR /&gt;&lt;BR /&gt;on chk_redraw changed arg do forceRedraw = arg&lt;BR /&gt;&lt;BR /&gt;)&lt;BR /&gt;&lt;BR /&gt;createDialog RO_DISPLAY_UV_OE&lt;BR /&gt;&lt;BR /&gt;)&lt;BR /&gt;)&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 16 Feb 2021 23:38:47 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/3ds-max-modeling-forum/a-way-to-display-uv-seams-without-using-uv-unwrap-modifier/m-p/10088386#M4218</guid>
      <dc:creator>sgv3dmax</dc:creator>
      <dc:date>2021-02-16T23:38:47Z</dc:date>
    </item>
  </channel>
</rss>

