In unity probuilder, how to create new face with selected vertex - unity3d

I use unity official asset probuilder
see my gif, I select hold 4 vertexes, I hope create new face so I click "Fill Hole", but not face is created

I've never used probuilder, but in other 3d max app you will need to delete the inner polygons that to be able to cap that face. select all the polygons in the "well" and delete, you will now have a hole to fill
[GIF]
[]1

update
I find a complex but accurate way to do this
unity editor > Tools > Probuilder > editor > open vertex position editor
when i select vertex, position editor
put selected positions to txt file
unity editor > tools > probuilder > editor > open new shape editor > shape selector > custom
build face with positions in txt
attention: "Custom" point order is very strange, for ex, "Custom" to build cube, the point order is, top-left, top-right, bottom-left, bottom-right, in my understanding, the correct order is:
in x-z axis face, image put point in Scene to build more near "parallel" x axis edge
put edge point from x axis < 0(left) side to x axis > 0(right) side, and then use same way to build other "parallel" x axis edge
select my created face and old object, probuilder toolbar > Merge Objects to merge them into one
above way I use do all with ProBuilder API since it's opensource but not document, but filling face is rare case, so I think do it in probuilder gui is enongh
old answer
my tmp solution is use probuilder > New Poly Shape to use mouse click 4 vertexs and manually make face, but it's not perfect, it has seam in edge

As of probuilder 4, you can achieve this very quickly without using 'fill hole'. Fill Hole is useful, but not for this.
Enter edge select mode and select an edge containing two of the vertices you wish to make a face out of.
Extrude the edge (ctrl + e or 'extrude edges') to the general area of the third vertex.
Enter vertex select mode and select the third vertex, then the two vertices from step two and any others you want to add.
Click the collapse vertices button and ensure "Collapse at first" is enabled (it will stay enabled until you disable it). The shortcut is alt + C.
You can also use this technique & the alt+c ctrl+e keys to quickly weld coincident vertices and quickly draft complex level geometry. You can also use this to quickly bridge edges even if they have a different vertex count.
With the Probuilder API, you can easily make an editor script to automate this process & assign a special shortcut to it. If you can operate the Unity API, you can operate the probuilder API.

Related

How to use a texture with particle system to create lightnings effect?

I have a lightning texture tga file type :
and i dragged the lightning texture to a new particle system :
two problems :
how to make the 3d start size to be random ?
from youtube tutorial he did something that give him a random settings ine the 3d start size:
but my 3d start size is not random and i'm not sure how to apply the random settings :
the second problem is how to display the lightning in the particle system without the black box square around and to show only the lightning ?
For the first question, I can't say much more than try to play with the parameters in the same section "Shape" where you can change the "randomize" parameters.
For the second question: Do you see that "Alpha Is Transparency" check mark? Yes, that's it. Solves your problem ;)
For the first problem the random on the 3D Start Size.
on the right of it there is a small arrow click on it to expand and then you have some options, select Random Between Two Constants or play with it with the other options. then you can set the X and Y and Z random ranges.
I marked with red circle the arrow to click and expand to get to the options.
The second problem was the box(cube) in black around the lightning.
to remove it just go to the object with the particle system scroll down to the bottom to the shader, expand the shader options and in Rendering Mode change it to Transparent.
I marked with red circle again on the right what you have to change to make it transparent.
and we have nice lightnings and this is the basic i guess but it's working nice.

How can I change hand-rays in my MRTK v2 project for HoloLens 2 to parabolic instead of linear?

My HoloLens 2 project has content that is arranged as such I cannot target colliders with the existing hand-rays. I used to target my content with the head-gaze, but with hand-rays being lower on the body it is more difficult to reach the content that I want to select. I believe I would benefit from a parabolic selection ray, similar to those used when teleporting in Mixed Reality to reach surfaces above the participant.
The primary method of interacting with my content would be via a parabolic ray. There are instances within my application where I might change modality to focus on a menu system from close or far, and when I am far I'd like to change to a linear ray. So, having this capability to change the type of ray exposed via code would be preferred.
My project is employing the MRTK v2, and the standard linear hand-rays are functioning.
I would like to be able to change the type of ray being used in the Unity inspector, and to be able to change the style via code during run-time. I'd like to have control over the arc of the ray, as the scale of my content may impact the need for a different arc and min/max distance.
You can modify the DefaultControllerPointer prefab to use a Physical Parabolic Line Data Provider instead of a Bezier Line Data provider. This will distort the line used by the pointer to be more parabolic.
Before:
After:
Note that I removed the pink components and added the green components.
You will also want to increase the line cast resolution of the pointer from 2 to something larger, this means that the ray used to query what you have hit will have higher resolution:
And you may want to increase the resolution of the MR Line Renderer itself.
Demo of parabolic hand pointer:

finding submesh in Unity 2017

How can I find submesh under my mouse NOT using Raycasting? Is any way to do it? I know how to do it clicking on object and using raycast but completely haven't idea how to id it without it. I need it because of bug in Unity - I can't update version of Unity, so I need to find any solution.
You can see if your mesh contains the mouse.
You get the position and the size of the mesh which allows you to create a square or a cube (whichever you need) and then you just see if your mouse fits within that square or a cube. If so, then you want to select that mesh.
https://tutorialedge.net/gamedev/aabb-collision-detection-tutorial/
or
If your object was a circle/sphere then you can perform a simple distance check between mesh's origin and mouse, if the distance is <= than the radius of the object, then you want to select that mesh.
http://cgp.wikidot.com/circle-to-circle-collision-detection
It is similar, just instead of using 2nd object, you are using a mouse.

unity5, box collider 2d size doesn't match platform

I created a 1x7 platform. then added a box collider 2D and set the size to 7. you can see in the picture. the platform and box collider are not matching. how can i get it fixed?
X Offset is the easy answer and definitely not a bad one, but maybe not the best one since it could make this problem show up in other areas.
BoxCollider2D by default has its origin at the center of the object ( where the translate tools are showing).
Since the translate tool is at the middle of the platform, the collider should be centered on it as well.
There are several possibilities that I can think of:
The sprites do not have their pivot at the center (If you want it
that way, use Offset to center the box)
The children of the selected object are offset (They should be
shifted over to line up with everything else, unless you need them
this way for some reason)
Create an empty Gameobject - add any sprite objects that you need in there - press the "GameObject" button in the menu and select "Centered on Children" in order for the empty object to be centered properly. This will have to be done each time you add a new object into the bulk. Hope this helps.

Generate Backface of a mesh in Blender

I am using my blender objects in unity. Unity is culling the backfaces.
So I wanted to generate the backfaces as seperate polys from blender itself. I can do it by duplicating the mesh itself but is there any way to do it through a modifier?
The solidify modifier will generate a second surface parallel to the original.
If you want the new surface as a separate object, you can disable 'Fill Rim', then when you apply the modifier the mesh will be two disconnected parts. In edit mode Press L to select linked vertices which you can separate by selection P to move them to a second object.