Houdini python transform. getDefaultState (node_type) ¶ soputils.

Houdini python transform. I'm a little stuck on the rotation.
Houdini python transform This Python code will get all of the "texture" named string parameters that contain an actual string value on the Principled Shader node, build out the Karma Material Subnet shader with Mtlx Image nodes for the textures. Expression functions let you compute the value of parameters. How does this make sense?. Python scripting. This extraction can be useful for setting up rigid body colliders (for which an animated rigid transform is ideal) from baked geometry files that represent rigid motion. In order to do this, it populates a chop network inside my HDA with camera weights (calculated elsewhere in my HDA) blended together and exported to my Master cam (the one that is the sum of all morphs). How to write Python scripts for shelf/asset tools. In the Python Shell: Call import _vfh_ipr; Call import os; Call os. For each pieces, i want to move them randomly within x and z direction. I am looking for some kind of "black-box" python function that will accept a Houdini matrix and return a valid Blender matrix. I'm a little stuck on the rotation. Sometimes, keeping the mouse over a located gadget can be finicky, so you might want to design your Python handle accordingly, with either a dedicated or a stationary gadget to enable a mouse wheel event. findFilesWithExtension() Search the Houdini path for files with a particular extension, returning a tuple of all the matches. transpose() ob_camera. 9. Then, under the node open the Transforms branch. Just wish Modo could handle the poly counts Houdini I'm doing everything in memory so it's faster + communicate between Houdini and Omniverse Kit over a zmq socket, so I bypass using the hard drive at all and would prefer to grab stage from transform1 node as a string in memory as well. If I add another Transform SOP, it's pivot is reset to the origin: Is there a better way to keep the pivot information from the previous Transform/Edit SOP? I know in this simple case I can just copy(or reference) the rotation and translate values from the first Transform. Our focus is on mastering the creation and editing points and faces in 3D space, with a special emphasis on utilizing the Pixar Universal Scene Description (USD) file format as our primary medium for storing and handling geometric data. selectedNodes () OBJ = hou. Select the transform (Local, Relative World, or World) you want to reference. Tip It’s a good idea to use from __future__ import print to get used to using print as a function instead of as a statement. Houdini is multilingual. Create a new Shelf Tool, and place the code in the "Script" tab. By Default the location to create the new shader is specified inside of the JSON files, However you can override the location by selecting a Material Network from May 15, 2015 · Houdini allows you to use Python expressions in its parameter fields just like you would Hscript. Feb 6, 2023 · I think the issue with your method is that the convert_space method only converts the rotations, not the translations. txt", i. ObjNode. selectedNodes()[0]bakingNode = hou. Returns the child transforms of a transform in an agent primitive’s rig. node ('/obj/') def checkConditions (): ''' Check if environment conditions allows to run script without Dec 1, 2020 · You can download the hip,hda and fbx here:https://gum. The pre-transform is an internal transform that is applied prior to the regular transform parameters. setKeyframe(key) Now let me elaborate a bit on this piece of code. playMode. The difference of these point clouds is projected into a rigid transform consisting of a rotation and translation, and this then becomes the transform of this object. I just also try to avoid doing more work than i have to, and in this case, opdigits() accomplishes that, haha. The materials were created in a linear sRGB rendering space environment but the scene they will be used in is rendering in the ACEScg color space. As well as detailing all the features of the transform node this tutorial includes an introduction to the parameters window, creating custom parameters, using variables in expressions and creating a simple HDA (Houdini Digital Asset) which is a tool you can create, reuse and share. Note that an object implemented in Python controls the parameter transform (i. would the python equivalent be: self. I have object B, an animated teapot flying around. be/mBdKK_VKDHQ?t=892If you have a Sep 10, 2019 · HOW TO BAKE CAMERA ANIMATION IN HOUDINIuse this script:*****import houselectedNode = hou. The name of the Python Panel interface to be displayed in the floating pane tab. This is used as the default placement when the user Ctrl-/Cmd-clicks a tool. Turns a flat array of floats into an array of vectors or matrices. The filename specified should be relative to the Houdini directory. for some reason this does not give a consistent result. This extraction is very useful when you have baked geometry files which represent rigid motion and want to recover that rigid motion at object level. Python and ApexScript Python is generally frowned upon by Houdini folk, but here it makes sense. Coming back to questions named above. Comparing these nodes using == (which calls __eq__ ) will return True , while comparing them using is (the object identity test) will return False . For CON: Needs high level python coding skills to use effectively; Lops/Solaris attempts to combine the positive aspects of both these things: PRO: USD's ability to manipulate hierarchies and scenes; PRO: Houdini's great node editor and procedural workflows Returns a hou. Both objects have the exact same topology, poin Instead of creating Houdini objects for each Alembic transform and shape, this will load the Alembic archive into a single geometry node. g. Matrix • The most important thing to note: Houdini's matrices are in row-major format! • VEX, python and UT_DMatrix4 (HDK) all store matrices in row-major format. The may be “locked” to a camera (so changing the view tumbles/moves the camera), or it may be a “free” (“No camera”) view not tied to a camera, or it may be temporarily looking through a camera (or light), but the view is not locked to the camera (so changing the view will not affect [Houdini] [Python] Create transform node what moves object's pivot to the bounding box center. Similarly, p*M1*M2 will first transform p by M1, and then transform it by M2. Ok, so here is most of the Python code to get you started. The premise of this wiki is to have centralized and open source learning materials for Python in Houdini. Make Transform Builds a general 4×4 transform matrix. At the object level, the transform is done in the source object’s transform, and at the SOP level a transform SOP is appended. This method is useful when you want to move Sep 19, 2016 · Hi guys - relatively new Houdini user here I have an alembic animation of a flying cube which I want to copy a detailed model on. So, if p is a hou. Both objects have the exact same topology, poin Unlike the Convert SOP, this node will not copy the unconverted geometry. parm('tx') key = hou. groupTypeParmFromGeometryType (geotype, parmtuple) ¶ soputils. You can use HOM to store and retrieve arbitrary data on individual nodes. The reason is that the first transform cop’s canvas extends beyond the frame, so it can cook the pixels outside the frame when the second transform cop For technical or integration tasks that would be difficult to express using LOP nodes, you can use this node to access the full power of the USD API to read and modify the scene graph tree, the power of HOM to access and control the rest of Houdini, as well as the full power of Python and its libraries to access external data and integrate with your pipeline and other systems. avi? I think it only does image sequences, which is why your Houdini is probably crashing. May 24, 2014 · Blender uses column-major storage for matrix but Houdini uses row-major. Geometry. Can a flipbook export to . Lists all the reference documentation for the ways you can program Houdini. Jul 11, 2020 · I am using Python 3 in Houdini, but 2. unserialize. I can see it shaping up in future versions but there is just so much jumping around to do what a two click operation achieves in modo. It is essential to know matrix especially when working on KineFX tools. HDASection Note that Houdini’s matrices are stored in row-major format, and vectors that are multiplied with matrices are treated as row vectors. It's also a matter of formatting properly the matrix i receive from python which is a 4x3 matrix and convert it to a transform matrix3x3 to be used in houdini later. Vector4 representing a point and M is a Matrix4, you write p*M, not M*p. 0 range) Apr 20, 2020 · I have a an object that I cut into pieces with grid. Keyframe() key. This method is faster than hou. In particular, you can communicate with hscript, vex, vops (pictoral vex), python and less commonly C++ (HDK). These examples demonstrate simple uses of the Houdini’s Python scripting API. You can use the houdiniEngine module to create and modify Houdini Engine sessions. agentrigfind. This is brought in through a file sop i. Important:Before you run the script, make sure the principled shader is selected. Prim class Each Prim resides inside a Geometry object and stores some sort of 3D geometric primitive, like a polygon, a NURBS curve, or a volume. Houdini 20. If an input SOP is connected to the first input of the Python SOP, Houdini copies the input SOP’s geometry into the Python SOP’s geometry before running the Python code. 709. Calling flipbookSettings(). Vector3 representing the point in world space, # or raises an exception if the ray does not hit the plane # Grab a reference to the construction plane cplane = scene_viewer. node ('/obj/') def checkConditions (): ''' Check if environment conditions allows to run script without Sep 21, 2021 · To use this tool Simply select the Shader from the dropdown menu you want to convert to: Then select the appropriate shader(s) from Houdini's Network View then Finally Click Convert. restoreViewportState (pane, node, state) ¶ soputils. It allows for task automation, creation of custom tools, and interaction with the user interface of Houdini. In Houdini’s row vector convention, if P is the matrix representing the pivot translate and rotate, M is the matrix representing the translate, rotate, scale and shear parameters, and N is the matrix representing the pre-transform translate, rotate, scale and shear parameters, then the net transform is inverse(P)*M*P*N. Of course, it’s not a direct translation. Also, Houdini always call the Python handle’s onMouseWheelEvent before the Python state’s onMouseWheelEvent handler. But what if I have 3 or more? Or a complex network? Use the Viewer Handle Code Generator to create source code from various sample sources. Basically: I have object A, teapot sitting at the origin. matrix_world = mtx Also don't forget that in Houdini is Y-axis up but Blender is Z-up, so you need to do conversion somewhere. This gives you a convenient place to store functions, classes, and objects specific to the scene file, and automatically have them saved and loaded with the scene file. Riggers are very familiar with it, its object oriented nature means its a better way to work with nodes and connections, and while using python in sops is usually slow and best avoided, its plenty fast enough if we're just making lines and points. HScript commands Mar 29, 2019 · I am getting the normal as a vector with magnitude 1 and then using the formula angle = arccos((x dot y)/(magnitude x * magnitude y). Set property values using VEX snippets. The returned binary string is a bytes object in Python 3 and a str object in Python 2. Special thanks. RBD Unpack Unpacks an RBD setup into three outputs. The Python Script object allows contained geometries to be altered via python script. constructionPlane # Get the construction plane's transform matrix xform = cplane. to get the angle to rotate the object and then multiplying by 180 to convert it to degrees. This is super useful for things like automating Houdini tasks or integrating Houdini with other software. xyztorgb. Jun 10, 2020 · This might be a little esoteric but it is something which is pretty fundamental to rigging. How do I access the rotation information from the alembic (maya transform, no shape deformation)? When I import the alembic animation, there's rotation info in ther Right click the parameter you want to reference a transform and choose Reference Scene Data. I am trying to convert a Houdini matrix to Blender matrix so that when the matrix is applied in Blender the camera faces the same direction and is in the same place as it was in Houdini. co/UHmyLThe Education Hive presentation(with timestamp):https://youtu. boundingBox(self)[1] I assume there's an easy way to use current node as the 'Geometry' context edit: none of the above work btw When you cut or copy in houdini it makes a file in the temp directory with the contents of your clipboard so that it can do context aware pasting. … # 256 Pipeline tools # Convert FBX subnetwork to Geometry node # Import FBX into Houdini, select FBX subnetwork, run script in Python Source Editor import hou # Get selected FBX container and scene root FBX = hou. There are some caveats due to syntax and API differences. As with most, I have many thanks to give to Matt Estela of CGWiki for providing easily accessible information, and for the inspiration to start this project. Posted Sept 1 2022 Updated Sept 1 2022. Let's say you have an object geo1 and you want to set a keyframe at frame 10 for X-axis transform: import hou node = hou. 7 works too. Note This will still create Houdini objects for Alembic cameras. Finds the index of a transform in an agent primitive’s rig You can do that in many ways: import into sops and use the transform sop to reset it, calculate it with python, calculate it with vex directly in LOP, by hand in LOP with the transform lop etc. 0)) # transform from 1-255 to 0. Jan 12, 2024 · In this guide, we embark on a journey to explore the world of 3D geometry manipulation using the power of Python. I am using the cv2. And yet when I simply use a transform node to rotate an object I can see the @N values changing. The output appears in a console window, or Houdini’s Python shell window, or the shell you started Houdini from, depending on how you started Houdini and what windows are open. allVoxels, and you can use the array module to convert the string into a Python sequence. This is one of the more difficult things to figure out how to do Houdini includes a large number of useful command-line utility programs. In fact it’s an HDA that creates (via python) a camera morph between several cameras. selectAlembicPaths (kwargs) ¶ I'm trying to parse an xml from 3dStudioMax's ForestPack scattering plug-in and rebuild the point cloud with attributes in Houdini ( for eventual output to USD/Katana). : P:\python emp. There can be multiple Python Node objects for the same Houdini node. 0-1. The XML generated by forest back outputs a 4x4 total transform matrix but also a 3x4 rotation output, as seen below: Right click the parameter you want to reference a transform and choose Reference Scene Data. environ[‘VRAY_VFB_OCIO_VIEW_TRANSFORM’] to check the current value of the variable (it should be Rec. Returns the world space rest transform for an agent primitive’s joint. hou. HDAOptions. In the chooser window, use the tree control to open the branch representing the node whose transform you want to reference. python_panel_interface. Search the Houdini path for the specified file, returning a tuple of all the matches. You can also use python to copy paste nodes if for some reason nothing else is working, but you might be better off just trying a different build of houdini. Set the parameter transform for the Python object that’s cooking. Specifying the interface name additionally hides the Python Panel toolbar. This allows you to change the frame of reference for the translate, rotate, scale parameter values below without changing the overall transform. To get the complete transformation matrix, you can apply both rotation and translation by concatenating the rotation matrix obtained from convert_space with the camera's world position. User-defined Python module containing functions, classes, and constants that are stored with and accessed from a digital asset. Unlike the Convert SOP, this node will not copy the unconverted geometry. node() will return different Python Node objects, with each representing the same Houdini node. So for getting right position you need transpose that matrix. 5 Python scripting hou hou. If you want to convert your image sequence into a video, you might have to use ffmpeg. the result of hou. Note that Houdini can be on a fractional frame if fractional frames are enabled. I'm on houdini 19 fwiw # 256 Pipeline tools # Convert FBX subnetwork to Geometry node # Import FBX into Houdini, select FBX subnetwork, run script in Python Source Editor import hou # Get selected FBX container and scene root FBX = hou. APIs. txt This is how the python interprets the given string-value. But when I write the @P in Wrangle SOP, it only move the point within that piece. Tip To get the geometry from an input other than the first, use the inputs() method of Node to get the input nodes, and then the geometry() method of one of those nodes to ,相关视频:houdini粒子拖尾案例两则,粒子特效教程——冲击波,houdini各种for的使用方法。二,houdini_vex_基础语法和规则,Houdini创作的逼真动态艺术作品,表现力无限-中字,2025蛇年春晚Logo震撼发布,houdini粒子基础的基础——一闪一闪的trail-相信的心是你的魔法! Jun 19, 2017 · 前回(Houdini: Pythonでノード操作してみる。)に引き続きPython製の小さなツールを作っていきます。Houdiniでジオメトリ操作をするときによくやる操作を自動化しましょう。シェルフへのツールの登録方法などは前回の記事を参考にしてください。 作成するツールは下記の3種です。 オブジェクトを Python state gadgets are specialized geometry drawables designed to provide visual support for picking and locating geometries. How this transform occurs depends on what level the operation is done. I do find myself moving everything I made in Houdini back to Modo for lighting, layout, and rendering because the workflow in Houdini, I find, really terrible. Something like: import mathutils mtx. Stores miscellaneous options about a houdini digital asset (HDA). transform # type: hou. If you are not familiar with the concept of looping, please see my introduction to programming. concatenate(color / 255. stash() kind of seems like cheating for your task, since it just copies whatever settings you set in the Houdini GUI. Update, ("Cd", np. sidefx. node('/obj/geo1') parm = node. Returns the local space rest transform for an agent primitive’s joint. If this value is an empty tuple, Houdini will choose a default size. Expression functions. Two identical calls to hou. The View Transform must be Rec. If the string-value comes from another python script - possibly it is expected to have the tabs at those places When I try to write to @N, I can see the values changing in geo spreadsheet but the object does not rotate in the viewport. It seems to work, at least it gives me a result that i can print. agentrestworldtransform. For example, you can use them to improve guide geometries or to create your own private custom handles when the requirement of a full blown Python handle is not Nov 18, 2021 · Import FBX into Houdini Convert imported FBX to geometry Create with QT Designer interface. Geometry object, Houdini will first attempt to acquire a handle to the underlying geometry. Returns a “default” position (at the origin) and orientation (up) taking into account any construction plane and/or parent transform. Volume. • Vectors that are multiplied with matrices are treated as row vectors For example, if you use a transform cop to move the pixels off to the right of the frame, then use another transform cop to move pixels back left, the original pixels will appear in the frame. Enter Wiki arrow_right_alt I use python expressions in parameters frequently, particularly for building complex strings (file paths/naming/etc). Nov 14, 2022 · LESSONS & PROJECT FILES: https://www. Call this method from objects implemented in Python to set the result of the cook. Convert megascan principled shader to MTLX shader in houdini. A tuple of two floats specifying the width and height of the new window, respectively. /obj/geo1/box1 -> [obj, geo1, 概要Houdiniで階層とトランスフォームを保持してFBXを書き出すHDAを作ったので、標準機能の問題点と使用方法についてまとめます。HDAとサンプルファイルはページの最後に書かれたURLからダ… Python is a versatile programming language that is also used as a scripting language in Houdini. Open a Python Shell window by going to Houdini top menu > Window > Python Shell. Returns the transformation matrix to transform from a transform space such as an object’s transform space to another space, such as world space. hipnc This subreddit is available for artists / designers as a place to share inspiration & ideas, ask questions, and show off their current projects and reels. Utility-Linear-sRGB, I also need to transform each color value in the materials. I tried on the transform node tx parameter and the resulting window is the same. Create a SOP network inside this node (or elsewhere in the node hierarchy) that generates points where each point corresponds to an instance and SOP attributes on the points correspond to properties. estimateAffine3D function in a python script that computes the transformation matrix. frameToTime() Convert from a given frame value to a time value. Convert CIE XYZ tristimulus values to a linear sRGB triplet. setFrame(10) key. Houdini Python Wiki. setValue(100) parm. When working with read-only references to geometry on a SOP node, if the SOP in question fails to cook after the read-only reference has been assigned to a variable then any calls to methods on that variable will throw a hou. getDefaultState (node_type) ¶ soputils. serialize. getMatchLength (p1, p2) ¶ soputils. They are everywhere in Houdini. Set transform and property values using parameters and expressions. Oct 17, 2019 · An in-depth look at the transform node. node('/obj' Nov 27, 2019 · This quickstart tutorial shows how you can access and use Local Transform, as well as how to set hotkeys to your most commonly used tools. agentrigchildren. Python Introduction People look at python in Houdini for 3 broad reasons: They used python in Maya, and assume it makes more sense to jump into python in Houdini rather than Vex or to learn more advanced sops. 8. A solution could also be to extract the translation, rotation and scale and build the matrix in vex, but again i tried a lot of things without success, so if anybody has the Sep 27, 2022 · Users can interact with Houdini in viewport through Python Viewer States in the following ways: • Display handles • Interact with geometry • Display guide geometry • Interact with state parameters • Select geometry • Display a custom right-click menu • Interact using low-level UI events, like mouse, keyboard and tablet • Wrap changes in undo blocks • Run cross multiple Jun 16, 2021 · Al3ph · 12/04/2022 at 12:55 . They can be used in various ways with Python states. Oct 1, 2018 · If you would print the fPath - you will see 2 tabs between "P:\python" and "emp. Using Local Transforms will allow you to make correct geometry edits, which respect connected geometry selections and gives you the ability to properly scale, translate and rotate in their respective spaces. - pivot_to_bbcenter. With the Python handle source code in place and registered in Houdini, Python states can use them in a generic fashion through handle bindings. 709). It’s one of the many things that makes the software so powerful and sooner or later you’re going to have to face the music and ge… I'd like to transition to python since I'm much more familiar with that but don't know the shorthand for the parameter expressions yet. com/tutorials/games-workshop-tech-track/In this session Paul will be teaching you the basics on how to get starte Jun 3, 2008 · Hey Houdniks! I'm looking for a way to extract transforms from two objects to use in DOPs. Enumeration of play modes for the main playbar in Houdini These points can be used with the Transform Pieces SOP to apply the transform to geometry. Jun 26, 2024 · Houdini Looping - Copy Options. Expressions, expression, expressions. Jun 3, 2008 · Hey Houdniks! I'm looking for a way to extract transforms from two objects to use in DOPs. parmTransform). intFrame() Return the playbar’s current frame, rounded to the nearest integer. The easiest one is probably just use a sop modify and fix it in sops. e. Jul 27, 2020 · This article covers basics of keyframing parameter values using Python. Like shown in this math image. Matrix4 # The "rest" position for the construction Search the Houdini path for the specified file, returning a tuple of all the matches. baked. HDAModule. py This menu contains options for manipulating the pre-transform values. InvalidGeometry exception. Thanks for your answer. They need to do pipeline or UI customisation; They need to import or export esoteric file formats, do fiddly string formatting The RBD Transform operator performs a Transform operation on all 3 source geometries (Geometry, Constraint Geometry and Proxy Geometry) at once. Enumeration of play modes for the main playbar in Houdini Aug 31, 2021 · Another quick tip about extract transformation matrix in Houdini using "matchsize" and "extracttransform" nodes. Whenever you call a method on a hou. Aug 28, 2023 · This post is about using matrix functions in Houdini Python & VEX with examples. boundingBox(self)[1] or is it hou. Parameters ¶ Transform ¶ Various places in Houdini where you can customize behavior using Python scripting. Represents the definition of a houdini digital asset (HDA). I want to move the whole piece not just a point, how do i do that randomTransForeach. Return the playbar’s current frame. How to script Houdini using Python and the Houdini Object Model. ui file and save it somewhere where Houdini Python will see it (or add Convert a linear sRGB triplet to CIE XYZ tristimulus values. Jun 10, 2020 · Hi ACES people, I would like to to convert all material colors of a shaded Houdini asset via Python. 3 days ago · The Houdini Engine is a big part of Houdini, and you can use Python to interact with it. Primitive attributes and groups are not preserved. This replaces the incoming primitives with two-point line segments. soputils. Convert a value from a group type parameter into a hou. Houdini keeps a Python module associated with the scene file. Flattens an array of vector or matrix types into an array of floats. geometryType. Queries the user for a source component and a target component, and transforms the geometry to align the source with the target. Apr 10, 2022 · Because with Python and Houdini I know there's all kinds of functions, to convert the string into a list of directories, e. So after updating the texture color space transforms to e. However on the transform tx parameter I can right click in the field and change the language back and forth in the context menu. Unlike some other 3D packages, in Houdini the view is not always linked to an actual Camera object. You can edit it using Window Python source editor. These options are grayed out on the Object Merge op field. jkli xhqevm agnvc tlbv pau evcflcm esjrts ugai qbx xqgw
{"Title":"What is the best girl name?","Description":"Wheel of girl names","FontSize":7,"LabelsList":["Emma","Olivia","Isabel","Sophie","Charlotte","Mia","Amelia","Harper","Evelyn","Abigail","Emily","Elizabeth","Mila","Ella","Avery","Camilla","Aria","Scarlett","Victoria","Madison","Luna","Grace","Chloe","Penelope","Riley","Zoey","Nora","Lily","Eleanor","Hannah","Lillian","Addison","Aubrey","Ellie","Stella","Natalia","Zoe","Leah","Hazel","Aurora","Savannah","Brooklyn","Bella","Claire","Skylar","Lucy","Paisley","Everly","Anna","Caroline","Nova","Genesis","Emelia","Kennedy","Maya","Willow","Kinsley","Naomi","Sarah","Allison","Gabriella","Madelyn","Cora","Eva","Serenity","Autumn","Hailey","Gianna","Valentina","Eliana","Quinn","Nevaeh","Sadie","Linda","Alexa","Josephine","Emery","Julia","Delilah","Arianna","Vivian","Kaylee","Sophie","Brielle","Madeline","Hadley","Ibby","Sam","Madie","Maria","Amanda","Ayaana","Rachel","Ashley","Alyssa","Keara","Rihanna","Brianna","Kassandra","Laura","Summer","Chelsea","Megan","Jordan"],"Style":{"_id":null,"Type":0,"Colors":["#f44336","#710d06","#9c27b0","#3e1046","#03a9f4","#014462","#009688","#003c36","#8bc34a","#38511b","#ffeb3b","#7e7100","#ff9800","#663d00","#607d8b","#263238","#e91e63","#600927","#673ab7","#291749","#2196f3","#063d69","#00bcd4","#004b55","#4caf50","#1e4620","#cddc39","#575e11","#ffc107","#694f00","#9e9e9e","#3f3f3f","#3f51b5","#192048","#ff5722","#741c00","#795548","#30221d"],"Data":[[0,1],[2,3],[4,5],[6,7],[8,9],[10,11],[12,13],[14,15],[16,17],[18,19],[20,21],[22,23],[24,25],[26,27],[28,29],[30,31],[0,1],[2,3],[32,33],[4,5],[6,7],[8,9],[10,11],[12,13],[14,15],[16,17],[18,19],[20,21],[22,23],[24,25],[26,27],[28,29],[34,35],[30,31],[0,1],[2,3],[32,33],[4,5],[6,7],[10,11],[12,13],[14,15],[16,17],[18,19],[20,21],[22,23],[24,25],[26,27],[28,29],[34,35],[30,31],[0,1],[2,3],[32,33],[6,7],[8,9],[10,11],[12,13],[16,17],[20,21],[22,23],[26,27],[28,29],[30,31],[0,1],[2,3],[32,33],[4,5],[6,7],[8,9],[10,11],[12,13],[14,15],[18,19],[20,21],[22,23],[24,25],[26,27],[28,29],[34,35],[30,31],[0,1],[2,3],[32,33],[4,5],[6,7],[8,9],[10,11],[12,13],[36,37],[14,15],[16,17],[18,19],[20,21],[22,23],[24,25],[26,27],[28,29],[34,35],[30,31],[2,3],[32,33],[4,5],[6,7]],"Space":null},"ColorLock":null,"LabelRepeat":1,"ThumbnailUrl":"","Confirmed":true,"TextDisplayType":null,"Flagged":false,"DateModified":"2020-02-05T05:14:","CategoryId":3,"Weights":[],"WheelKey":"what-is-the-best-girl-name"}