# Asymptote: Arrow3 only has 3D arrow head

If I draw a Arrow3, it does not really look 3D-ish because the line is not shaded like a cylinder. How do I change this? Probably drawing the cylinder and arrow head manually together? How?

Here is a MWE that shows the arrow that does not yet have a cylinder part:

``````size(700);
import solids;
import texcolors;
import three;

currentprojection=orthographic (
camera=(8,4,4),
up=(0,0,1),
target=(2,2,2),
zoom=0.8
);

// save predefined 2D orientation vectors
pair NN=N;
pair SS=S;
pair EE=E;
pair WW=W;

draw((1.3094,0,2.26599)--(3.3094,0,4.26599),(7bp)+green,Arrow3(size=30bp));
``````

Just add the `currentlight` parameter to the draw function as a quick fix. For a more complete explanation of the shading and material options Asymptote provides, see the following questions:

What does “emissive” in Asymptote do?

Asymptote: when white isn't white

Here is the complete code:

``````size(700);
import solids;
import texcolors;
import three;

currentprojection=orthographic (
camera=(8,4,4),
up=(0,0,1),
target=(2,2,2),
zoom=0.8
);

// save predefined 2D orientation vectors
pair NN=N;
pair SS=S;
pair EE=E;
pair WW=W;

draw((1.3094,0,2.26599)--(3.3094,0,4.26599),(7bp)+green,Arrow3(size=30bp),currentlight);
``````
• If I have a material, let's say: `material baseM = material(gray(0.5), black, gray(0.6), black);`. How do I apply it to the arrow and keep the thickness `(7bp)`? I only managed to get one of these two options working. – NOhs Jul 31 '15 at 11:59
• @MrZ: You can't directly apply a `material` to a `path3`. To specify a full-blown `material` (as opposed to just a color and lighting), you need to get the actual surface (the arrowhead and the tube). I recommend you try to find a satisfactory color/lighting combination before resorting to this. – Charles Staats Jul 31 '15 at 17:02