Jump to content


  • Content count

  • Joined

  • Last visited

  1. Tommycore

    Bridge two edge loop

    I already requested a similar feature. I will add this and link to your post here.
  2. Yeah, that would make sense. ProBuilder already has the functionality to subdivide faces in different ways. But having Geometry created on the fly while sculpting with PolyBrush would be a HUGE bonus to the ease of use.
  3. Tommycore

    Count of selected vertices/edges/faces

    You are absolutely right. Thank you very much.
  4. Tommycore

    Got some wonky scaling issue

    See attached video. Wonky scaling.zip
  5. Tommycore

    Create faces from vertices

    Hi! The topic pretty much says it all. Simply select a starting vertex, and click each vertex you want to use in the right order. Hit backspace to deselect the last selected vertex (i.e. if you chose the wrong one), and hit enter/click the first vertex, if you want to finish the process. Or hit escape if you want to cancel. While I mostly try to use quads as much as I can (an old habit from using 3ds max), and bridging works like a charm, it can sometimes get annoying if I need to create a face with more than 4 vertices. Cheers!
  6. Hi! I'd very much like to have a little counter. Maybe next to or under the selection selector (that thing at the center/top of the scene view). One that shows me how many vertices/edges/faces I have currently selected. Cheers!
  7. Tommycore

    Flatten selection

    Hi! I'm back with yet another idea ^^ How about flattening the current selection on a plane? Just like this: That would make it far easier to use mirroring while modelling. Simply select all the edges that are going to be your seam, make them planar, and your object should be perfectly mirrorable. Cheers! P.S.: The option to move vertices along an edge would also be very useful
  8. Tommycore

    Error in Arch Creation Menu

    When I try to create an arch, I always get one side less than I set. For example when I set sides to 8, I get 7 sides. When I set sides to three it's only a flat strip. I'm using the latest ProBuilder build (v 2.5.0f0 r 4241). Fresh Project, only imported ProBuilder and ProGrids and opened both their windows. Cheers! P.S.: Just saw, if I set "Arch Degree" to anything lower than 360°, the flat strip turns out to be 2 sides.
  9. Hi! How about previewing a ghostly wireframe when using the alternative options for modelling. Say I selected a few faces, and alt click on extrude. The window pops up, and I can toggle a preview checkbox. If switched on, I get some extra wires showing me how the extrusion of my mesh would look like when I click "Extrude Faces". The very same would be helpful for about any button with advanced options. And while we're at it: It would be cool to have advanced options for some more operations: Connect Edges/Insert Edge LoopChoose the amount of edges Shift them between sides. Subdivide FacesChoose an amount of subdivisions. And I don't mean it as in "Number of times to click subdivide", but rather when choosing 2 on a quad, it subdivides the quad into a 3x3 quad. Cheers!
  10. Tommycore

    Bridging between faces.

    Internal bridge on the left, external bridge on the right. Simple: Select two faces, hit bridge, and have the necessary geometry generated between the selected faces. I know how to do it manually, but it would really accelerate the workflow to have it done automatically. Edit: Also, bridging between edgeloops would be wonderful.
  11. Tommycore

    [WIP] FPS cyberpunk game

    Niiiiiiiiiiice. How long did it take you?
  12. Tommycore

    Import from/Export to STL

    How awesome is that? Thank you! I'll try it out and give feedback as soon as I got something printed =) Update (or is it allowed to do doubleposts?) ------------------------------------------------------- 1. I got an error messages in the pb_Stl_Tests: "Assets/pb_Stl/Editor/Test/pb_Stl_Tests.cs(3,7): error CS0246: The type or namespace name `NUnit' could not be found." So I commented the NUnit import out and replaced the Asserts with if and/or try/catch blocks. 2. In the readme you specify the Edit>Export submenu. Actually you've put it under Assets>Export. Here's the code after my edits. I left your original code pieces commented out, and the error messages are quite stupid, but I got a .stl file. Might take a few days before I can try to print it. Will keep you updated using UnityEngine; using UnityEditor; //using NUnit.Framework; using System.Collections.Generic; using Parabox.STL; using System; using System.IO; /** * Editor tests for pb_Stl lib. */ public class pb_Stl_Tests { const string TEMP_FILE_DIR = "Assets/pb_Stl/Editor/Test/Temp"; const string TEST_MODELS = "Assets/pb_Stl/Editor/Test/Models/"; //[Test] public void VerifyWriteASCII() { DoVerifyWriteString(TEST_MODELS + "Cylinder_ASCII_RH.stl", GameObject.CreatePrimitive(PrimitiveType.Cylinder)); DoVerifyWriteString(TEST_MODELS + "Sphere_ASCII_RH.stl", GameObject.CreatePrimitive(PrimitiveType.Sphere)); } //[Test] public void VerifyWriteBinary() { if(!Directory.Exists(TEMP_FILE_DIR)) Directory.CreateDirectory(TEMP_FILE_DIR); DoVerifyWriteBinary(TEST_MODELS + "Cylinder_BINARY_RH.stl", GameObject.CreatePrimitive(PrimitiveType.Cylinder)); DoVerifyWriteBinary(TEST_MODELS + "Sphere_BINARY_RH.stl", GameObject.CreatePrimitive(PrimitiveType.Sphere)); Directory.Delete(TEMP_FILE_DIR, true); } private void DoVerifyWriteBinary(string expected_path, GameObject go) { string temp_model_path = string.Format("{0}/binary_file.stl", TEMP_FILE_DIR); //Assert.AreEqual(true, pb_Stl.WriteFile(temp_model_path, go.GetComponent<MeshFilter>().sharedMesh, FileType.Binary)); try { if(!pb_Stl.WriteFile(temp_model_path, go.GetComponent<MeshFilter>().sharedMesh, FileType.Binary)) { // Something went wrong. throw new UnityException("Unable to write file."); } } catch(Exception e) { Debug.LogException(e); return; } // http://stackoverflow.com/questions/968935/compare-binary-files-in-c-sharp FileInfo a = new FileInfo(temp_model_path); FileInfo b = new FileInfo(expected_path); //Assert.AreEqual(a.Length, b.Length); if(a.Length != b.Length) { throw new UnityException("Some error with file paths."); } //bool match = true; using(FileStream f0 = a.OpenRead()) using(FileStream f1 = b.OpenRead()) using(BufferedStream bs0 = new BufferedStream(f0)) using(BufferedStream bs1 = new BufferedStream(f1)) { for(long i = 0; i < a.Length; i++) { if(bs0.ReadByte() != bs1.ReadByte()) { //match = false; //break; throw new UnityException("Error reading filestream."); } } } //Assert.AreEqual(true, match); GameObject.DestroyImmediate(go); } private void DoVerifyWriteString(string path, GameObject go) { string ascii = pb_Stl.WriteString(go.GetComponent<MeshFilter>().sharedMesh, true); // Assert.AreNotEqual(ascii, null); // Assert.AreNotEqual(ascii, ""); if(string.IsNullOrEmpty(ascii)) { throw new UnityException("Error writing string."); } string expected = File.ReadAllText(path); // Assert.AreNotEqual(expected, null); // Assert.AreNotEqual(expected, ""); if(string.IsNullOrEmpty(expected)) { throw new UnityException("Error writing another string."); } // Assert.AreEqual(ascii, expected); if(string.IsNullOrEmpty(expected)) { throw new UnityException("Ascii string was not as expected."); } GameObject.DestroyImmediate(go); } }
  13. Tommycore

    old shed

    I like it. Looks nice. Especially this slightly rotten, subtle creepy feeling. But somehow the size relations seem a bit off. Can't really put my finger on it. The staircase at the back seems a bit steep, and the backdoor at the stairs is fairly large. Also, the roof could use some more details. Other than that - solid work. Well done
  14. Tommycore

    Sending my regards from Germany

    Thank you =)
  15. Hi! Just wanted to know if you will include PolyBrush into the ProCore Bundle. This tool looks so friggin awesome! I just updated my ProCore package, but PolyBrush didn't show up. Cheers!