Jump to content

emSynth

Resident
  • Posts

    35
  • Joined

  • Last visited

Reputation

7 Neutral

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Also, a few words are appropriate in response to Chosen Few's accusations. The threats were twofold. One person said that if I carried out my plans to offer a sculpt2mesh service, I should expect to hear from a lawyer, the obvious implication being that there could follow a lawsuit. The other was that someone might get angry at me and have a friend who was a hacker, and the implication was that I could expect to be hacked. Rather than act fearfully as Chosen Few has suggested, I replied that I did not fear lawyers or hackers, and that their thinly veiled threats were ineffective. What Chosen Few has chosen to do is twist the situation around, implying that I am behaving in an unreasonable way. This is just one example of many such manipulations of the facts that clearly indicate deception and manipulation on the part of Chosen Few. Yes, it does read like abuse because it is abuse. This is Second Life, Chosen Few, many of the participants of this forum are thoughtful and intelligent people who will read through your smokescreen of distorted facts and argumentative techniques. You are not helping your argument by behaving in this way. Please stop. emSynth
  2. Well, in regard to the issue of answering anyone's questions regarding the uses of sculpt2mesh, I do not see how I am responsible for that. It is a data converter. It converts one form of data to snother. It was a programming exercise to implement it. I gave the source code to the community. Those are the relevant facts and my responsibility ends there. Any arguments regarding usefulness or suitability for purpose may be carried out by others as far as I am concerned. I am not championing this tool or suggesting that you use it, I am just offering it to whoever wants it. End of story. emSynth
  3. For those who will be using sculpt2mesh, i would also like to mention the existence of the utility programs provided by atangeo. The balancer free demo program is suitable for optimization of many sculpt2mesh objucts. Far better than simple decimation, the optimization process, which requires user interaction for best results, produces a mesh with larger triangles in smoother places, good ddge detection, and generally more efficient use of triangles. You may wish to convert a sculpt to mesh at higher resolution than the final desired result and use atangeo's tools to optimize your mesh. emSynth
  4. prim2sculptprim2meshsculpt2primsculpt2meshmesh2primmesh2sculpt Alright, I'll tell you what. I am sick and tired of dealing with people who blindly insist on arguing the lost position that a data converter has moral implications. What's done is done, the cat is out of the bag, the source code has been released. Now you have to deal with the reality of the situation. I suggest you do so rather than attempt to put words in my mouth, paint me in a bad light by taking my words out of context, or craft imaginary scenarios implicating the criminalization of this inevitable step forward. And if that isn't enough to fry your noodle, try this one on for size. There exist three types of objects in Second Life and the rest of the Metaverse: prims, sculpts, and mesh. That means that there exists the possibility to create a total of six categories of object data converters. These are listed above. Eventually all of them will exist, to one degree of automation or another. I suggest you prepare for the inevitable. emSynth
  5. i suppose a few additional details refarding the sculpt2mesh tool are in order here. First let me correct myself in that the output file will go to the same folder as the input file, not to the desktop (that was an earlier version). Also it is important to note that the decimation values must be powers of two sech as {4, 8, 16, 32, 64, 128, 256} and they must not exceed the original dimensions ofvthevsculpt. I,e, decimation is forvequivalence or reduction, not expansion. Another key note i that there appears to be a slight error in the numeric conversions that causes somr smooth sculpts to have a slightly choppy or faceted appearance. In fact, if you want a smooth rounded shape such as a car fender or similar object, you might want to consider using a sculpt anyway As sculpts are inherently good at approcimating rounded forms. Mesh is best at faceted or angled forms, especially considering the land impact factor. However, mesh can be smoothed such as by using the smooth button on the leftbhand toolbar of Blender forvexample, but this has the additional effect of negativels affecting texturing andcas such is best for solid or non-detailed textures. So you see, the trade-offs are complex. I have coded the sculpt2mesh script asca command line only script with the specific intention of embedding it in a server web page as a paid service. If anyone wishes to set up such a service, i have secured the URL "sculpt2mesh.com" which I would be happy to transfer either for free (in the case of a nonprofit effort) or for a reasonably small fee (in the case of commercial use). I would like to thank one person who shall remain anonymous for now (you know who you are) for promting and proddingbme repeatedly to code sculpt2mesh, and another anonymous person for help implementing thevserver scriptbthat was never used. Please note that even when your efforts do not result in actual implemented end product, you are still part of the creation process and therefore deserve credit. If either of the folks mentioned would like credit associated with their name or nickname, please contact me and I will do so. I guess thatbis all for now, please feel free to adk any questions you likecand I will attempt tonanswer them, thanks. emSynth
  6. I do not recall making any "promise" at all, however I am happy to list some legitimate uses of the sculpt2mesh tool. One is the situation where a resident has created a sculpt using a tool that does not have mesh output. Another is when the source materials, tools, or computer, or operating system used to create the sculpt are no longer available. Yet a third reason is when a resident has permission from the sculpt creator to perform the conversion. A fourth reason is when it is desired to enhance the sculpt with one of the advntages of mesh (which at your request I will not list here). A fifth reason would be to add detail or sharpness to a sculpt beyond the capability of sculpts. Sixth, one might wish to combine two or more sculpts together or combine with a prim2mesh tool (which I have also created), thus turning any SL object into a mesh only object. There are six reasons, all legitimate, and I am sure there are more. Please do not be afraid of a simple data converter. When Linden Labs introduces a new technology there are always implications, not all of which are viewed as favorable by all people. Rest assured that sculpt2mesh will not replace sculpts, as sculpts are the clear choice for many applications, especially in terms of land impact, but also for other reasons. Fear not The turning wheels of progress! EmSynth
  7. Alright, where to begin? I suppose a brief mention of how to use the code would be best, because you're probably eager to give it a try. later I will discuss history and credits or whatever. To begin with,the code is set up to be run from the command line so you open it in your Applescript editor and export it as an app. Then you run it with the command as follows. sculpt2mesh inputFileName xDecimation yDecimation stitchingType where inputFileName is any common type of graphics format in quotes, xDecimation and yDecimation are the output resolution you want as integers, and stistchingType is one of {"Spherical", "Cylindrical", "Planar", "Toroidal"}. Oh, and also important is you need to search Google for the Imagine Photo app, which is free, and download / install it because the script uses Imagine photo extensively. The result should be an obj file on your desktop. it is as simple as that. emSynth
  8. Greetings My fellow Second Life Metaverse residents! I have a special gift for you, my source code for a program that converts sculpt map files to obj files suitable for use as Mesh source material. I will first simply state that the code is protected by the GNU GPL, and that my intention is to protect it under the GNU GPL whether I have properly labeled the source code or not. I think I have, but such things confuse me. In this post I will simply do first things first and post the code only, explaining all the details in following posts. The code is Applescript, by the way. -- This Software is Protected by the GNU General Public License -- See http://www.gnu.org/licenses/gpl.html for details -- -- by Les Hall (emSynth) -- on run argv -- set input file alias from argv parameters set inputFile to path to desktop set inputFile to ((inputFile as text) & (item 1 of argv)) as alias -- set output file as random name and then open it for write access set outputFile to ((inputFile as text) & (".obj")) set outputFileDesignator to open for access file outputFile with write permission -- get size and color info from iMagine Pohto application tell application "iMagine Photo" set thisImporter to import graphic inputFile if the component error of thisImporter is not equal to 0 then close thisImporter display dialog "Not an image file that quicktime recognizes." return end if set {x, y, xDim, yDim} to the natural bounds of thisImporter -- figure out decimation stuff set dims to (xDim as string) & "x" & (yDim as string) set promptText to "Sculpt map dimentions: " & dims & ", decimate to:" set decimations to {2, 4, 8, 16, 32, 64, 128, 256} set xDecimation to (item 2 of argv) as integer set yDecimation to (item 3 of argv) as integer if xDecimation is not in decimations then set xDecimation to 64 as integer if yDecimation is not in decimations then set yDecimation to 64 as integer set scale of thisImporter to {xDecimation / xDim, yDecimation / yDim} set xSize to xDecimation as integer set ySize to yDecimation as integer set theLeft to xDim / 2 - xSize / 2 as integer set theRight to xDim / 2 + xSize / 2 as integer set theTop to yDim / 2 - ySize / 2 as integer set theBottom to yDim / 2 + ySize / 2 as integer -- draw the sculpt map image file set thisDocument to make new window document with properties {dimensions:{xDim, yDim}} set the drawing destination of thisImporter to thisDocument draw thisImporter close thisImporter -- get pixels and write them out as vertexes set imageColorsByLine to {} set maxValue to 256.0 * 256.0 repeat with yValue from theTop to theBottom set startPoint to {theLeft, yValue} set endPoint to {theRight, yValue} set pixelValues to get pixel values of thisDocument with properties {pixel value class:pixels on line, start point:startPoint, end point:endPoint} set pixelInfo to get pixelValues's items set pixelColors to item 2 of pixelInfo -- save vertexes of obj file set vertexString to "" repeat with vertex in pixelColors set x to ((item 1 of vertex) / maxValue) as string set y to ((item 2 of vertex) / maxValue) as string set z to ((item 3 of vertex) / maxValue) as string set vertexString to vertexString & "v " & x & " " & y & " " & z & linefeed as string end repeat write vertexString to outputFileDesignator as string end repeat -- close the input file close thisDocument quit end tell -- get stitching type set stitchingTypes to {"Spherical", "Cylindrical", "Planar", "Toroidal"} set stitchingType to item 4 of argv -- set up triangle generation according to stitching type set xWrapValue to 1 set yWrapValue to 2 set endcaps to true if stitchingType is ("Spherical") then set xWrapValue to 1 set yWrapValue to 2 set endcaps to true else if stitchingType is {"Cylindrical"} then set xWrapValue to 1 set yWrapValue to 2 set endcaps to false else if stitchingType is {"Planar"} then set xWrapValue to 2 set yWrapValue to 2 set endcaps to false else if stitchingType is {"Toroidal"} then set xWrapValue to 1 set yWrapValue to 1 set endcaps to false end if -- save triangles of obj file set yDim to ySize as integer set xDim to xSize as integer repeat with yVal from 0 to (yDim - yWrapValue) repeat with xVal from 0 to (xDim - xWrapValue) set upperLeftCorner to yVal * xDim + xVal set upperRightCorner to yVal * xDim + (upperLeftCorner + 1) mod xDim set lowerLeftCorner to (upperLeftCorner + xDim) mod (yDim * xDim) set lowerRightcorner to (upperRightCorner + xDim) mod (yDim * xDim) set ulc to upperLeftCorner + 1 set urc to upperRightCorner + 1 set llc to lowerLeftCorner + 1 set lrc to lowerRightcorner + 1 set face1String to (("f ") & (ulc as string) & " " & (llc as string) & " " & (lrc as string)) as string set face2String to (("f ") & (lrc as string) & " " & (urc as string) & " " & (ulc as string)) as string set outputString to face1String & linefeed & face2String & linefeed as string write outputString to outputFileDesignator as string end repeat end repeat if (endcaps is true) then repeat with xVal from 1 to (xDim - yWrapValue) set outputString to "" set faceString to (("f 1 ") & ((xVal + 1) as string) & " " & ((xVal + 2) as string)) as string set outputString to outputString & faceString & linefeed as string write outputString to outputFileDesignator as string end repeat set xOffset to yDim * (xDim - 1) repeat with xVal from (1 + xOffset) to (xDim - yWrapValue + (xOffset)) set outputString to "" set faceString to (("f ") & ((1 + xOffset) as string) & " " & ((xVal + 2) as string) & " " & ((xVal + 1) as string)) as string set outputString to outputString & faceString & linefeed as string write outputString to outputFileDesignator as string end repeat end if -- close obj file close access outputFileDesignator end run Enjoy! emSynth (AKA Inventor Alchemi)
  9. Solstyse, you said it very well. I should clarify that I have worked plenty of those mundane jobs myself, everything from the family business as a youth which was tough, grimy labor to putting myself thru college doing everything from fast food to cleaning up after dogs. Which is why, now retired on disability, I value my Second Life so much. Well you get the idea. Now if only I could get Splashtop running... Ah, matters not, things are about to change anyway. emSynth
  10. You know solstyse, I have found that the majority of people have little or no real imagination, at least when it comes to innovations. I think I know why too. It is because the vast majority of work that must be done is mubdane labor and service jobs, which far outnumber innovation related jobs. And the history of mankind is filled with the meat and potatoes of mundane work, only slightly spiced with innovation seasoning if you see the parallel there. For this reason society is filled with mundane thinkers who downplay innovation and cast stones in the path of creative thinkers. i suggest you burn the old adage "do not cast your pearls before swine" into your memory and rather seek out more imaginative types to share your ideas and accomplishments. Friend me, lets talk. emSynth
  11. Another thing that happened today was that I encountered a possible security violation on my server. Fortunately the solution was easy, MacStadium just gave me a brand new squeaky clean server to solve the problem. if I were running a home computer developing software locally and someone hacked my system, I would have to unplug the machine and drive it to the computer shop for an overhaul which would cost who knows how much and take who knows how long, but since I rent a machine from MacStadium it's nothing to just swap out the box. That advantage alone makes the USD $52 I am paying per month seem quite reasonable. Of course there are other companies that compete with MacStadium and I get the impression that they are all equally good to deal with, but I gotta give the recommendation to MacStadium because they have gone out of their way to accommodate me in situations like this three times already. Probably the others would have done the same as well, so shop around but do include MacStadium on your shopping list. Oh I have some good news about future plans being cooked up at MacStadium and probably at their competitors as well. For reasons of professional integrity I will not repeat details, but suffice to say they are giving some careful thought to accommodating folks like us with new products, new services, and even more for our money. Huh, it's funny; you think up a simple thing like SL on an iPad and it tuns into an opportunity to make a small difference in a lot of people's lives. Unexpected outcome! emSynth
  12. Today I bought the client of splashtop for iPad and attempted to make it work. At USD $3 it was a holiday bargain so I grabbed it, all excited about the possibility of bidirectional audio which is the most important feature that all of the other solutions I have tried lack. Audio, specifically the ability to voice into a sim is what friends tell me is needed for them to consider a remotely hosted solution streamed to their mobile. They want to participate in prayer meetings, attend sermons or bible studies, or just hang out and enjoy fellowship and they want to do it in voice On their mobile. For this reason I am being patient with Splashtop as it does not work for me. I am sure the problem is me, but I cannot imagine what part of such an elegantly simple setup process I could have screwed up. I installed the client and ran it, answered the questions which included setting up a Splasdot account, and was then instructed to install the Splashtop Streamer on "the computer". Once I figured out that in my setup "the computer" was a reference to my MacStadium server in Atlanta, I realized that I actually had to use ANOTHER VNC client to log into my server and set up the streamer, which I did. At this time I get an error message when I attempt to log into my server using Splashtop. I am uncertain as to whether or not the other remote connection must be maintained to keep the streamer running or whether the streamer will continue to run without the login connected. It's a mess. Fortunately it breaks nothing else and I am only out three bucks so no big deal, but I really wanted that audio, sigh. emSynth
  13. Hi solstyse, I am using the onscreen keyboard for cost and convenience reasons. The cost I can overcome by just waiting a month but the convenience is paramount. Recall that one of the goals is to play SL while in bed so I can rest my sore feet and lower legs because of my congested heart failure. It is a medical bed so it has motors that position me in a seated position, semi-upright. Well, I must hold the iPad mini with one hand while controlling SL with the other. If I had an external keyboard, that would be a real juggling act. Plus I am already struggling with a set of headphones as an accessory, any more and this thing becomes unwieldy. Not to mention the charging chord if I need that. What is needed as far as additional controls go is to harness the available iPad sensors. These include the accelerometers, the compass, the ambient light sensor, and the two cameras. In an ideal world, all of these would be available to the SL VNC software and to the viewer, and ultimately the avatar. For example what if the cam and / or avatar motion were controllable by moving the iPad around? In one such implementation, you would hold the iPad in front of you like looking through an empty picture frame and the cam and avatar orientation change according to the iPad used as a portal. It would be like WYSWIG for viewers or something. Tilt down to look down and up to look up. For the cam pointed at the user, this gives us an image stream of the user. I have thought of broadcasting this to a website then using media on a prim to place my face. Either on my avatar face or above and behind the avatar at camera position in a ghostly image of myself. Being a scripter, I could make it so that this ghost of me in RL floats around at the camera position and points in the camera direction, thus showing everyone what I am doing both in SL and in RL to a degree. Maybe I will work on that tonight. If I created that and put it on the marketplace, would anyone buy it? emSynth
  14. OK I am back from playtime and will respond to what has been written. First I will ask that you not pick apart every word I write like some usenet junkie starting a flame war. That will get us nowhere. Also please refrain from threats, that is inappropriate. I do not fear hackers or lawyers so your mention of their imagined response on your part is not only ineffective, it actually appears to be a cry for help. Do not fear the unknown consequences of progress. I have previously stated the advantages of and situations within which one might benefit from converting sculpts to mesh And I see no need to repeat them here. Also I am not distributing the obj output files to anyone but the customer - I am not spreading mesh files among my customers As Oh asserts. In fact, I will not address any additional misconceptions except to ask you to Go back and read the thread again. I have proposed to include creators in the profit model and for that matter Linden Labs as well so that everyone involved receives compensation for their role in this plan. I have also proposed a no resell disclaimer In which the mesh output may only be used in builds. And most importantly I made an effort to incorporate all of your concerns to the best of my ability. There is nothing else that I can do short of canceling the project, which is not appropriate. Please realize that you cannot stop the march of progress no matter how strong your fear of the unknown may be. If i were to listen to you and give up, then someone else would provide this technology and guess what? They might not be quite so accommodating! So I respectfully suggest that you learn to deal with the emergence of sculpt2mesh - it is not going away! emSynth
  15. Chosen Few, I have read your post and I will be happy to explain the advantages of using sculpt2mesh, however at the moment I am going to hang out with some friends and have a little fun play time which is am rare opportunity for me. It is nearly one am on New Years data and I need a break! In the mean timeyo if you wish study read the more recent posts than the ones you referenced in your very detailed and thoughtful post, you will find some good answers there. Have a grat evening and I will get back to you as soon as I can! emSynth
×
×
  • Create New...