-----------------
...(to get vertex colours from 3DSMAX to Blender)...
convert to editable mesh.
export as VRML97 (*.WRL).
(check 'Color per Vertex')
(Vertex Color Source 'Use Max's)
import WRL into MeshLab.
export to PLY with everything checked.
import PLY into Blender.
...
(vertex colours can be copied from one mesh to another)
(such as to be placed on models that have animations, etc.)
(*meshes must have same vertices (same indexes)).
select the mesh with the vertex colour information, THEN
select the destination mesh, press CTRL+L and copy 'Object Data'.
.
.
.
-----------------
...(to bake vertex-colours from images with Blender)...
(*image probably needs tweaking with XnView or ImageMagick scripts!)
UV unwrap and set image to UV so it displays on mesh.
go to 'Vertex Paint' mode and scroll down left panel to 'Bake'.
click 'UV Texture to VCols' button.
.
.
.
-----------------
...(to bake images from vertex-colours with Blender)...
UV unwrap and create a new Material set to 'Shadeless' and 'Vertex Color Paint/Light'.
create a new image in the UV Editor.
in 'Render' tab under 'Bake', set mode to 'Texture' and hit 'Bake' button.
(*image probably needs tweaking with XnView or ImageMagick scripts!)
.
.
.
-----------------
...(to bake vertex-colours from images with 3DSMAX)...
have editable mesh with UVs unwrapped and material applied.
(*make sure both diffuse and illumation slots are set and illumation to 100)
go to Utilities tab and use 'Assign Vertex Colors'.
set Light Model to 'Diffuse Only', 'Color By Vertex' and check 'Mapping'.
hit the 'Assign to Selected' button.
.
.
.
-----------------
...(to bake images from vertex-colours with 3DSMAX)...
have editable mesh with UVs unwrapped and 'Unwrap UVW' modifier applied.
make a new material with Diffuse Color set as 'Vertex Color' type.
set 'Map Channel' to 0 in the Vertex Color settings. (*even though it's 1)
use 'Render To Texture' with no projection, padding to 0 and 'Use Existing Channel'.
render Element Name 'DiffuseMap' at desired resolution.
.
.
.
-----
-----
-----
(LOD stage) = (units between vertex) = (vertex-weld value)
! = 1.0 ru = 1.0 vw
! = 2.0 ru = 2.0 vw
! = 4.0 ru = 4.0 vw
----small-undercurve:
16-10 = 0 no change (=0.0001)
9 = 0 (=0.0001)
8 = 0.01 (=0.01)
7 = 0.1 (=0.1)
6 = 0.5 (=0.5)
5 = 0.8 (=0.8)
4 = 1.4 (=1.4)
3 = 2.0 (=2.0)
2 = 2.8 (=2.8)
1 = 3.8 (units between vertex)
----small-overcurve:
16-10 = 0 no change
9 = 0 (=0.0001)
8 = 0.01 (=0.01)
7 = 1.0 (=1.0)
6 = 2.0 (=2.0)
5 = 2.5 (=2.5)
4 = 3.0 (=3.0)
3 = 3.3 (=3.3)
2 = 3.6 (=3.6)
1 = 3.8 (units between vertex)
----big-undercurve:
16-10 = 0 no change (=0.0001)
9 = 0 (=0.0001)
8 = 0.01 (=0.01)
7 = 0.2 (=0.2)
6 = 1.0 (=1.0)
5 = 1.6 (=1.6)
4 = 2.8 (=2.8)
3 = 4.0 (=4.0)
2 = 5.6 (=5.6)
1 = 7.8 (units between vertex)
----small-overcurve:
16-10 = 0 no change
9 = 0 (=0.0001)
8 = 0.01 (=0.01)
7 = 2.0 (=2.0)
6 = 4.0 (=4.0)
5 = 5.0 (=5.5)
4 = 6.0 (=6.0)
3 = 6.6 (=6.6)
2 = 7.2 (=7.2)
1 = 7.8 (units between vertex)
Undercurves are used when the whole environment is refined, relatively enclosed and details are important.
Overcurves are used when the environment is broader and when the very fine details are not so important.
Big or small depends on how "open-world" it is. Any sector can be any of these approaches at any time.
.
.
.
==
==
==
Spline-cage modelling in 3DSMAX/gMAX
------------
Spline = a single edge with bezier curve control.
Spline-cell = 3-4 sided enclosed shapes which take 'Surface' modifier.
Spline-cage = a collection of connected spline-cells.
------------
Using lines or other shapes in the 'Shapes' sub-tab, create your spline-cells.
Cells need to be 3 or 4 sided and preferably kept isolated from one another.
Cells can be connected for the sake of UV Unwrapping, but make sure all the
vertices are properly aligned and welded, and that the 'Surface' modifier takes.
If you have trouble with cells deforming, try to separate them in 3D world space.
Don't worry about flipped normals, this can be refined later in the 'Edit Patch'
modifier or in other steps later, after the UV Unwrapping is complete.
When the cage is complete, before unwrapping UVs, select everything (as splines,
not with 'Surface' modifier) and "attach" together, weld (properly), select all
vertices and set them all to 'Bezier Corner'.
Once ready to unwrap, apply the 'Edit Patch' modifier and give each UV-island its
own MaterialID so it can be easily selected with the 'Unwrap UVW' modifier.
Once the MaterialIDs are set, select all faces and apply the 'Unwrap UVW' modifier.
The 'Edit Patch' modifier can be safely discarded from the stack at this time.
(*gMAX may require 'UVW Mapping' modifier before 'Unwrap UVW')
When unwrapping, some bezier points may align with the view layout, overlapping or
overlapped by vertices, making selection impossible. To avoid this, it's best to
offset bezier points by a very tiny amount so they can be selected in the 'Edit
UVWs' window by zooming in with the texture disabled to select them and then zoom
out again so they can be moved and the texture can be enabled again. When the
vertices are all welded later, this will clean up these slightly misaligned elements.
.
.
.
--------
(3DSMAX\gMAX) UV-mapped spline-cage technique:-
- make 3-4 sided (lined) spline-cage section(s).
- weld the cage so the splines are closed.
(*they will share the same interpolation factor but don't worry-)
(...because we can adjust each axis later!)
- use 'Surface' modifier and 'Unwrap UVW'.
(*gMAX may require 'UVW Mapping' modifier before 'Unwrap UVW')
- unwrap your spline-UVs as you would and want.
- use 'Edit Patch' modifier for later adjustments.
(*only play with "Patch Topology" setting, NOT "Threshold")
(*use 'Turn To Mesh' modifier (temporarily) to preview as mesh)
(*ensure your object is mostly correct before unwrap!)
(*use 'Edit Patch' 'View Steps' to set interpolation before converting to mesh?)
- make sure 'Interpolation', 'Patch Topology' and 'View Steps' are all 0.
- convert to Editable Patch, select edges and 'Subdivide' appropriate axes.
- change from 'Line' to 'Element', select-all!!!
- ...then convert to Editable Mesh, with different subdivision for each LOD stage.
(*there will definitely be UV tidying/welding to do after this process!)
...
.
.
.
--------
(Blender) ALT+G to move UVs at the same time as 3D view.
...
--------
(Blender) to add more sides to cylindrical objects:-
- Select-all in 'Edit Mode'.
- 'Tris to Quads' (ALT+J) and 'Subdivide'.
- Select half parallel-length and delete faces.
- Drag middle-edge in both 3D viewport and UV editor.
(*check 'sync' button if UVs unavailable)
- Select all extra cap vertices and "scale 0" (also UVs).
- Move cap vertex to the centre and weld (also UVs).
- Select-all, triangulate (CTRL+T) and rotate cap edges.
- Scale out every other UV (straight) cap vertex. (1.03?)
- Isolate set of vertices of the ring/loop to spherify (+repeat).
- SHIFT+ALT+S to 'To Sphere' all edges (drag left to right) (+repeat).
...
--------
(Blender) to subtract sides from cylindrical objects:-
(*require even number of faces and "fan-tri" caps)
- Select-all in 'Edit Mode'.
- 'Tris to Quads' (ALT+J) and 'Subdivide'.
- Select one face from the side of the cylinder.
- SHIFT+G and select 'Perimeter'.
- Select > Every N Number of Verts > Nth Selection "2".
- Delete these faces.
- Select vertices of entire cap and deselect middle vertex.
(*select one face, SHIFT+G, "Normal", deselect middle vertex)
- Select > Every N Number of Verts > Nth Selection "2".
- Rotate these vertices so they align with neighbours.
- Pin these selected vertices in the UV editor.
- Repeat these last 5 steps for other cap.
- Uncheck 'sync' in UV editor and select all vertices in 3D view.
- Deselect all in UV editor and SHIFT+B "Border select Pinned".
- Use this method to fix all UVs (translate sides and rotate caps).
- 'Remove Doubles' until all vertices are welded.
(*needs UV 'Remove Doubles' (2.66))
...
--------
(Blender) to add more loops for beveling cylinders:-
- 'Tris to Quads' (ALT+J) and 'Loop Cut and Slide'.
- ALT+RMB to select around loop and adjust (also UVs).
- Scale your caps in a little. (SHIFT+G > Normal).
- Select-all, triangulate (CTRL+T) and rotate cap edges.
(*if Blender misbehaves, isolate and re-import as OBJ)
...
--------
(Blender) to chamfer box edges and retain UVs:-
- CTRL+V > Separate (by selection).
- Select new object and 'Edit Mode'.
- CTRL+F > Inset faces.
- Re-select original faces after operation.
- Select the UVs, scale down and "Pin".
- Select all faces in 3D view.
- Unwrap in UV editor.
(yes this works on multiple connected faces)
(*requires 'some' UV tweaking)
(*needs UV 'Remove Doubles' (2.66))
...OR (Blender) to chamfer box edges and retain UVs:-
(*this only really works on planar surfaces!)
- Select all faces on surface and Dissolve to ngon.
- Select your surface and Separate (by selection).
- Extrude Region, then Select-All in 3D view.
- Select surface (only) in UV editor and scale/reposition.
- Select surface (onll) in 3D view and scale.
...
--------
(Blender) extrude and fold back edges for articulation:-
- Isolate your surface in Edit Mode (SHIFT+G > Normal).
- CTRL+V > Separate (by selection).
- Select outer edge and SHIFT+G > "Amount of Faces Around an Edge".
- Extrude Region (direct ortho view) and Flip Normals of those faces.
- Select all upper vertices, click UV 'sync' and scale in.
- Edge mode > Extrude Region > scale UVs.
- Fold and form the new faces as articulated trim on surface.
...
.
.
.
___
...gMax>3DSMAX(7):-
-------
- save your .UVW file(s).
- remove UV and 'Surface' modifiers.
- find "FFG 0.1.4a" archive.
- extract contents into "scripts\startup\"
- 'run script' once, then add button in UI.
- export and use 'grabber' to save from listener.
- drag your TXT file over the BAT to create MS file.
- copy out your new MS file AND its folder.
- 'run script' in 3DSMAX to import.
- put back a 'Surface' and 'UVW Unwrap' modifier
- make sure the 'Patch Topology' matches.
- load your .UVW file to import the UVs.
.
.
.
___
...3DSMAX(7)>gMax:-
-------
- basically, just save your .UVW files, or...
- for splines, use BFF exporter. (same setup).
- use 'grabber' on the 'listener' to get it all.
- rename your TXT file to MS extension.
- 'run script' in gMax to import.
.
.
.