Wishing everyone from members to visitors a very Merry Christmas and prosperous new year
Little festive render to up the mood!
Wishing everyone from members to visitors a very Merry Christmas and prosperous new year
Little festive render to up the mood!
Would be nice if AI tackled real world problems rather than disrupting markets that create employment.
From this separate thread I ended have some play time with texturing...
Modelled using SUbD, UV unwrapped with WrapR and a quick render in Rayscaper
If you missed yesterdays announcement from Epic with their new Fab platform...
Part of this change means the assets currently available at Quixel for free will become paid after December 2024.
To get all 18k assets just login into your account at Quixel then visit the collections area...
Discover a world of unbounded creativity. Explore a massive asset library, and Quixel’s powerful tools, plus free in-depth tutorials and resources.
Quixel Megascans (quixel.com)
Press F12 to open your browsers console and paste in the following js
(await (async (startPage = 0, autoClearConsole = true) => {
const getCookie = (name) => {
const value = `; ${document.cookie}`;
const parts = value.split(`; ${name}=`);
if (parts.length === 2) return parts.pop().split(';').shift();
}
const callCacheApi = async (params = {}) => {
const defaultParams = {
page: 0,
maxValuesPerFacet: 1000,
hitsPerPage: 1000,
attributesToRetrieve: ["id", "name"].join(",")
}
const response = await fetch("https://proxy-algolia-prod.quixel.com/algolia/cache", {
"headers": {
"x-api-key": "2Zg8!d2WAHIUW?pCO28cVjfOt9seOWPx@2j"
},
"body": JSON.stringify({
url: "https://6UJ1I5A072-2.algolianet.com/1/indexes/assets/query?x-algolia-application-id=6UJ1I5A072&x-algolia-api-key=e93907f4f65fb1d9f813957bdc344892",
params: new URLSearchParams({ ...defaultParams, ...params }).toString()
}),
"method": "POST",
})
return await response.json()
}
const callAcl = async ({ id, name }) => {
console.log(` --> Adding Item ${id} | ${name}...`)
const response = await fetch("https://quixel.com/v1/acl", {
"headers": {
"authorization": "Bearer " + authToken,
"content-type": "application/json;charset=UTF-8",
},
"body": JSON.stringify({ assetID: id }),
"method": "POST",
});
const json = await response.json()
if (json?.isError) {
console.error(` --> **UNABLE TO ADD ITEM** Item ${id} | ${name} (${json?.msg})`)
} else {
console.log(` --> ADDED ITEM Item ${id} | ${name}`)
}
}
// 1. Check token exist, quixel API needs it
console.log("-> Checking Auth API Token...")
let authToken = ""
try {
const authCookie = getCookie("auth") ?? "{}"
authToken = JSON.parse(decodeURIComponent(authCookie))?.token
if (!authToken) {
return console.error("-> Error: cannot find authentication token. Please login again.")
}
} catch (_) {
return console.error("-> Error: cannot find authentication token. Please login again.")
}
// 2. Get total count of items
console.log("-> Getting Total Number of Pages....")
const { nbPages: totalPages, hitsPerPage: itemsPerPage, nbHits: totalItems } = await callCacheApi()
console.log(`-> Total Items to add: ${totalItems} | ${totalPages} total pages with ${itemsPerPage} per page`)
if (!confirm(`Click OK to start adding ${totalItems} items in your account.`)) return
// Loop
for (let pageIdx = startPage || 0; pageIdx < totalPages; pageIdx++) {
console.log("-> ======================= PAGE " + pageIdx + " START =======================")
console.log("-> Getting Items from page " + pageIdx + " ...")
const { hits: items } = await callCacheApi({ page: pageIdx })
const aclPromises = items.map(callAcl)
await Promise.all(aclPromises)
console.log("-> ======================= PAGE " + pageIdx + " COMPLETED =======================")
if (autoClearConsole) console.clear() // Fix the issue that too much log hangs the console. Set autoClearConsole = false to keep the logs
}
})())
Hit enter and it will begin adding the assets to your account. It can take a few mins and can run into to snags. But for help on that please visit this Github...
A script to automatically add ALL items to your account in quixel - README.md
Gist (gist.github.com)
As you can see all assets were assigned to my account which saves you a ton of time!
Further Information and usage instructions on Axyz is available here
Perform transformation on selected objects with a Widget: Translation, Rotation, Scaling, Mirror
Help is integrated in the extension, as a Quick Card.
Link to YouTube Playlist
TAB to cycle transformations
ALT to cycle global, local or current context axes
SHIFT to cycle individual centers
CTRL to cycle copy mode
ARROW to cycle nudge mode
Have fun!
1.1a - Fixed the issue of Divide (ex: 3/) for Rotation
Fun little idea I saw for a fold out step for kiddos to be able to reach the sink
@pilou I prefer to see Majid's natural talent for hand painted and sketched output than some AI generated stuff.
@Mike-Amos The current vibe is a skeleton which we will improve over time.
There's many aspects that I am not a fan of either. But the previous was too old and had many security issues we needed to constantly patch. This is huge improvement over that.
Once we get a handle on the current quirks we are seeing then we can start polishing.
Sketchucation Tools 4.4.1 is available
Download
Release Notes:
Most notable changes revolve around UI:
If you are running Additional Folders to manage your extension install location/s. You can now either automatically control the install path or prompt for install paths.
@L-i-am AntonS CopyAlongCurve
@Mike-Amos said in Rayscaper, My trip down the road to adjumacation.:
wy selecting metal results in losing the ability to adjust colour as is the case with plastic etc.
Rayscaper exposes various shaders to the user to help create realistic and accurate materials.
Its Disney Shader is an Uber Shader that has a 'capture all' approach. But the dedicated Plastic and Metal shaders are for scenarios where you need to create a more physically correct material.
You can't colour metal in the traditional sense because other factors influence a metallic colour. In the next Rayscaper I believe he is including a physically correct Metal library
Metallic colouring is achieved by having correct IOR and Absorption values
Rather than doing the maths and twiddling the dials the next release should give you a base to build on.
But in this instance for your fridge I'd use the Disney shader with metallic at 1.0 and Roughness at 0.1 to 0.25
@panixia For PMs we will offer a solution to download them as CSV files
All the forums are still there but with the sheer volume of permissions we had it was easier to just set some general permissions here. We will restore fully once this bedding in period lapses.
That said we will be nuking subforums and merging forums for better clarity.
So far we are happy with the reception. We were expecting some frustrations but @rv1974 is not happy unless he is unhappy
@Box said in A piece from my real job, not really sketchup related.:
BMW/MERC/AUDI algorithm
So my Opel Combo rate must be low! Can I get my avatar in 1mx1m?
Really lovely work though. So unique and personal.
@majid said in Rayscaper New Releases:
I am wondering is there any way to save the materials I make, locally?
@Box Wow! That's amazing.
How do you price a job? Per m/sq
There's no fear your skill can be replaced by AI. Are you passing on the skill to an apprentice? We've a few people here still doing it here.
Our school, ran by the christian brotherhood, had Harry Clarke panels which were later auctioned off. But his work is still all over the country.
The caustics in the 3rd to last image is glorious. Thanks for sharing those. Mind blowingly good. Is the sketch yours too or is it someone elses concept?
@majid said in Rayscaper New Releases:
@Rich-O-Brien thanks, and were exactly they will be saved?
I will share my screen, as it is slightly different.
Materials are saved here...
C:\Users\SomeName\AppData\Roaming\Rayscaper\UserAssets
To import materials you use this menu...
Quick test to see if accurate tidal height changes would be possible with Animator