Package apple.scenekit.c
Class SceneKit
- java.lang.Object
-
- apple.scenekit.c.SceneKit
-
public final class SceneKit extends java.lang.Object
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.StringSCNConsistencyElementIDErrorKey()[@constant] SCNConsistencyElementIDErrorKey For XML-based formats, the ID of the element where the error occurred.static java.lang.StringSCNConsistencyElementTypeErrorKey()[@constant] SCNConsistencyElementTypeErrorKey For XML-based formats, the tag name of the element where the error occurred.static java.lang.StringSCNConsistencyLineNumberErrorKey()[@constant] SCNConsistencyLineNumberErrorKey For text-based formats, the line number where an error occurred.static java.lang.StringSCNDetailedErrorsKey()[@constant] SCNDetailedErrorsKey Key to access the detailed validation errors.static java.lang.StringSCNErrorDomain()domain for errors from SceneKit API.static voidSCNExportJavaScriptModule(JSContext context)[@function] SCNExportJavaScriptModule Exports SceneKit's symbols (constants and class definition) into the specified JavaScript context.static java.lang.StringSCNGeometrySourceSemanticBoneIndices()static java.lang.StringSCNGeometrySourceSemanticBoneWeights()static java.lang.StringSCNGeometrySourceSemanticColor()static java.lang.StringSCNGeometrySourceSemanticEdgeCrease()static java.lang.StringSCNGeometrySourceSemanticNormal()static java.lang.StringSCNGeometrySourceSemanticTangent()static java.lang.StringSCNGeometrySourceSemanticTexcoord()static java.lang.StringSCNGeometrySourceSemanticVertex()static java.lang.StringSCNGeometrySourceSemanticVertexCrease()static java.lang.StringSCNHitTestBackFaceCullingKey()If set to YES ignores the faces not facing to the camera.static java.lang.StringSCNHitTestBoundingBoxOnlyKey()If set to YES only tests the bounding boxes of the 3D objects.static java.lang.StringSCNHitTestClipToZRangeKey()If set to YES ignores the objects clipped by the zNear/zFar range of the current point of view.static java.lang.StringSCNHitTestFirstFoundOnlyKey()Deprecated, use SCNHitTestSearchModeAny for the SCNHitTestOptionSearchMode option insteadstatic java.lang.StringSCNHitTestIgnoreChildNodesKey()Determines whether the child nodes are ignored.static java.lang.StringSCNHitTestIgnoreHiddenNodesKey()Determines whether hidden nodes should be ignored.static java.lang.StringSCNHitTestOptionCategoryBitMask()Determines the node categories to test.static java.lang.StringSCNHitTestOptionIgnoreLightArea()Determines whether the shape of an area light should not be taken into account.static java.lang.StringSCNHitTestOptionSearchMode()Determines whether the search should be exhaustive.static java.lang.StringSCNHitTestRootNodeKey()Specifies the root node to use for the hit test.static java.lang.StringSCNHitTestSortResultsKey()Deprecated, use SCNHitTestSearchModeAll for the SCNHitTestOptionSearchMode option insteadstatic java.lang.StringSCNLightingModelBlinn()static java.lang.StringSCNLightingModelConstant()static java.lang.StringSCNLightingModelLambert()static java.lang.StringSCNLightingModelPhong()static java.lang.StringSCNLightingModelPhysicallyBased()static java.lang.StringSCNLightingModelShadowOnly()static java.lang.StringSCNLightTypeAmbient()Ambient lightstatic java.lang.StringSCNLightTypeArea()Area lightstatic java.lang.StringSCNLightTypeDirectional()Directional lightstatic java.lang.StringSCNLightTypeIES()IES lightstatic java.lang.StringSCNLightTypeOmni()Omnidirectional lightstatic java.lang.StringSCNLightTypeProbe()Light probestatic java.lang.StringSCNLightTypeSpot()Spot lightstatic booleanSCNMatrix4EqualToMatrix4(SCNMatrix4 a, SCNMatrix4 b)Returns true if 'a' is exactly equal to 'b'.static SCNMatrix4SCNMatrix4FromGLKMatrix4(GLKMatrix4 mat)static SCNMatrix4SCNMatrix4Identity()The identity matrix: [1 0 0 0; 0 1 0 0; 0 0 1 0; 0 0 0 1].static SCNMatrix4SCNMatrix4Invert(SCNMatrix4 m)Invert 'm' and return the result.static booleanSCNMatrix4IsIdentity(SCNMatrix4 m)Returns true if 'm' is the identity matrix.static SCNMatrix4SCNMatrix4MakeRotation(float angle, float x, float y, float z)Returns a matrix that rotates by 'angle' radians about the vector '(x, y, z)'.static SCNMatrix4SCNMatrix4MakeScale(float sx, float sy, float sz)Returns a transform that scales by '(sx, sy, sz)': m' = [sx 0 0 0; 0 sy 0 0; 0 0 sz 0; 0 0 0 1].static SCNMatrix4SCNMatrix4MakeTranslation(float tx, float ty, float tz)Returns a transform that translates by '(tx, ty, tz)': m' = [1 0 0 0; 0 1 0 0; 0 0 1 0; tx ty tz 1].static SCNMatrix4SCNMatrix4Mult(SCNMatrix4 a, SCNMatrix4 b)Concatenate 'b' to 'a' and return the result: m' = a * b.static SCNMatrix4SCNMatrix4Rotate(SCNMatrix4 m, float angle, float x, float y, float z)Rotate 'm' by 'angle' radians about the vector '(x, y, z)' and return the result: * m' = rotation(angle, x, y, z) * m.static SCNMatrix4SCNMatrix4Scale(SCNMatrix4 m, float sx, float sy, float sz)Scale 'm' by '(sx, sy, sz)' and return the result: m' = scale(sx, sy, sz) * m.static GLKMatrix4SCNMatrix4ToGLKMatrix4(SCNMatrix4 mat)static SCNMatrix4SCNMatrix4Translate(SCNMatrix4 m, float tx, float ty, float tz)Translate 'm' by '(tx, ty, tz)' and return the result: m' = translate(tx, ty, tz) * m.static java.lang.StringSCNModelTransform()[@group] Rendering arguments These keys are used for the 'semantic' argument of -[SCNProgram setSemantic:forSymbol:options:] Transforms are SCNMatrix4 wrapped in NSValues.static java.lang.StringSCNModelViewProjectionTransform()static java.lang.StringSCNModelViewTransform()static java.lang.StringSCNNormalTransform()static java.lang.StringSCNParticlePropertyAngle()float controller animation type : {NSNumber}static java.lang.StringSCNParticlePropertyAngularVelocity()float controller animation type : {NSNumber}static java.lang.StringSCNParticlePropertyBounce()float controller animation type : {NSNumber}static java.lang.StringSCNParticlePropertyCharge()float controller animation type : {NSNumber}static java.lang.StringSCNParticlePropertyColor()float4 : {r,g,b,a} controller animation type : {UIColor}static java.lang.StringSCNParticlePropertyContactNormal()float3 not controllablestatic java.lang.StringSCNParticlePropertyContactPoint()float3 not controllablestatic java.lang.StringSCNParticlePropertyFrame()float controller animation type : {NSNumber}static java.lang.StringSCNParticlePropertyFrameRate()float controller animation type : {NSNumber}static java.lang.StringSCNParticlePropertyFriction()float controller animation type : {NSNumber}static java.lang.StringSCNParticlePropertyLife()float not controllablestatic java.lang.StringSCNParticlePropertyOpacity()float controller animation type : {NSNumber}static java.lang.StringSCNParticlePropertyPosition()float3 : {x,y,z} controller animation type : {NSValue(SCNVector3)}static java.lang.StringSCNParticlePropertyRotationAxis()float3 : {x,y,z} controller animation type : {NSValue(SCNVector3)}static java.lang.StringSCNParticlePropertySize()float controller animation type : {NSNumber}static java.lang.StringSCNParticlePropertyVelocity()float3 : {x,y,z} controller animation type : {NSValue(SCNVector3)}static java.lang.StringSCNPhysicsShapeKeepAsCompoundKey()A boolean to decide if a hierarchy is kept as a compound of shapes or flattened as one single volume.static java.lang.StringSCNPhysicsShapeOptionCollisionMargin()Collision margin of the physics shape (as an NSNumber)static java.lang.StringSCNPhysicsShapeScaleKey()Local scaling of the physics shape (as an SCNVector3 wrapped in a NSValue)static java.lang.StringSCNPhysicsShapeTypeBoundingBox()static java.lang.StringSCNPhysicsShapeTypeConcavePolyhedron()static java.lang.StringSCNPhysicsShapeTypeConvexHull()static java.lang.StringSCNPhysicsShapeTypeKey()Type of the physics shape.static java.lang.StringSCNPhysicsTestBackfaceCullingKey()Specifies whether the back faces should be ignored or not.static java.lang.StringSCNPhysicsTestCollisionBitMaskKey()Allows to filter the objects tested by rayTest, contactTest and convexSweep.static java.lang.StringSCNPhysicsTestSearchModeAll()All contacts are returned.static java.lang.StringSCNPhysicsTestSearchModeAny()Returns the first contact found.static java.lang.StringSCNPhysicsTestSearchModeClosest()Returns the nearest contact found only.static java.lang.StringSCNPhysicsTestSearchModeKey()Specifies how to perform the ray/contact/sweep test.static java.lang.StringSCNPreferLowPowerDeviceKey()[@constant] SCNViewOptionPreferLowPowerDevice Specifies if the renderer should prefer a low power Metal device.static java.lang.StringSCNPreferredDeviceKey()[@constant] SCNViewOptionPreferredDevice Specifies the preferred Metal device to be used by the renderer.static java.lang.StringSCNPreferredRenderingAPIKey()[@constant] SCNViewOptionPreferredRenderingAPI Specifies the preferred rendering API to be used by the renderer.static java.lang.StringSCNProgramMappingChannelKey()This key is optional and may be used in association with the SCNGeometrySourceSemanticTexcoord semantic.static java.lang.StringSCNProjectionTransform()static java.lang.StringSCNSceneEndTimeAttributeKey()A floating point value, encapsulated in a NSNumber, containing the end time of the scene.static java.lang.StringSCNSceneExportDestinationURL()[@constant] SCNSceneExportDestinationURL Specifies the final destination (as a NSURL) of the scene being exported.static java.lang.StringSCNSceneFrameRateAttributeKey()A floating point value, encapsulated in a NSNumber, containing the framerate of the scene.static java.lang.StringSCNSceneSourceAnimationImportPolicyDoNotPlay()[@constant] SCNSceneSourceAnimationImportPolicyDoNotPlay Only keep animations in the SCNSceneSource and don't add to the animatable elements of the scene.static java.lang.StringSCNSceneSourceAnimationImportPolicyKey()[@constant] SCNSceneSourceAnimationImportPolicyKey Pass one of the value below to specify what to do with loaded animations.static java.lang.StringSCNSceneSourceAnimationImportPolicyPlay()[@constant] SCNSceneSourceAnimationImportPolicyPlay Add animations to the scene and play them once (repeatCount set to 1).static java.lang.StringSCNSceneSourceAnimationImportPolicyPlayRepeatedly()[@constant] SCNSceneSourceAnimationImportPolicyPlayRepeatedly Add animations to the scene and play them repeatedly (repeatCount set to infinity).static java.lang.StringSCNSceneSourceAnimationImportPolicyPlayUsingSceneTimeBase()[@constant] SCNSceneSourceAnimationImportPolicyPlayUsingSceneTimeBase Add animations to the scene and play them using the SCNView/SCNRenderer's scene time (usesSceneTimeBase set to YES)static java.lang.StringSCNSceneSourceAssetAuthoringToolKey()[@group] Contributor dictionary keys Authoring tool used to create the file.static java.lang.StringSCNSceneSourceAssetAuthorKey()The file's author.static java.lang.StringSCNSceneSourceAssetContributorsKey()[@group] Scene source properties File contributors.static java.lang.StringSCNSceneSourceAssetCreatedDateKey()When the file was created.static java.lang.StringSCNSceneSourceAssetDirectoryURLsKey()[@constant] SCNSceneSourceAssetDirectoryURLsKey Pass an array of directory URLs where SceneKit should look for resources By default, SceneKit will look for the external resources it cannot find in the parent directory of the imported file.static java.lang.StringSCNSceneSourceAssetModifiedDateKey()When the file was last modified.static java.lang.StringSCNSceneSourceAssetUnitKey()The unit used in the file.static java.lang.StringSCNSceneSourceAssetUnitMeterKey()A NSNumber encapsulating a floating-point value indicating how many meters the unit is.static java.lang.StringSCNSceneSourceAssetUnitNameKey()[@group] Unit dictionary keys The name (NSString) of the unitstatic java.lang.StringSCNSceneSourceAssetUpAxisKey()The up axis of the file.static java.lang.StringSCNSceneSourceCheckConsistencyKey()[@constant] SCNSceneSourceCheckConsistencyKey Pass YES in order to perform the document validation.static java.lang.StringSCNSceneSourceConvertToYUpKey()[@constant] SCNSceneSourceConvertToYUpKey Pass YES if a scene should be converted to Y up if it currently has a different up axis.static java.lang.StringSCNSceneSourceConvertUnitsToMetersKey()[@constant] SCNSceneSourceConvertUnitsToMetersKey Pass the units you want the scene to be converted to (in meter).static java.lang.StringSCNSceneSourceCreateNormalsIfAbsentKey()[@constant] SCNSceneSourceCreateNormalsIfAbsentKey Enable to try to guess acceptable normals for the vertices if none are given in the file Use this with a boolean value encapsulated in a NSNumber.static java.lang.StringSCNSceneSourceFlattenSceneKey()[@constant] SCNSceneSourceFlattenSceneKey Pass YES to flatten the scene graph when possible.static java.lang.StringSCNSceneSourceLoadingOptionPreserveOriginalTopology()[@constant] SCNSceneSourceLoadingOptionPreserveOriginalTopology Pass YES to make SceneKit preserve the original topology instead of triangulating at load time.static java.lang.StringSCNSceneSourceOverrideAssetURLsKey()[@constant] SCNSceneSourceOverrideAssetURLsKey Pass YES in order to override assets URLs with the directory URLs passed via SCNSceneSourceAssetDirectoryURLsKey.static java.lang.StringSCNSceneSourceStrictConformanceKey()[@constant] SCNSceneSourceStrictConformanceKey Pass YES to interpret the 3D format of the file in a strict way.static java.lang.StringSCNSceneSourceUseSafeModeKey()[@constant] SCNSceneSourceUseSafeModeKey Pass YES in order to enable the safe mode.static java.lang.StringSCNSceneStartTimeAttributeKey()A floating point value, encapsulated in a NSNumber, containing the start time of the scene.static java.lang.StringSCNSceneUpAxisAttributeKey()A vector3 value, encapsulated in a NSValue, containing the up axis of the scene.static java.lang.StringSCNShaderModifierEntryPointFragment()[@constant] SCNShaderModifierEntryPointFragment This is the last entry point in the fragment shader, where you can alter the final color returned by the shader.static java.lang.StringSCNShaderModifierEntryPointGeometry()[@constant] SCNShaderModifierEntryPointGeometry This is the entry point to operate on the geometry vertices, for example deforming them.static java.lang.StringSCNShaderModifierEntryPointLightingModel()[@constant] SCNShaderModifierEntryPointLightingModel This is the entry point to provide custom lighting equation.static java.lang.StringSCNShaderModifierEntryPointSurface()[@constant] SCNShaderModifierEntryPointSurface This is the entry point to alter the surface representation of the material, before the lighting has taken place.static booleanSCNVector3EqualToVector3(SCNVector3 a, SCNVector3 b)Returns true if 'a' is exactly equal to 'b'.static SCNVector3SCNVector3FromGLKVector3(GLKVector3 vector)static SCNVector3SCNVector3Make(float x, float y, float z)Returns an initialized SCNVector3static GLKVector3SCNVector3ToGLKVector3(SCNVector3 vector)static SCNVector3SCNVector3Zero()The null vector: [0 0 0].static booleanSCNVector4EqualToVector4(SCNVector4 a, SCNVector4 b)Returns true if 'a' is exactly equal to 'b'.static SCNVector4SCNVector4FromGLKVector4(GLKVector4 vector)static SCNVector4SCNVector4Make(float x, float y, float z, float w)Returns an initialized SCNVector4static GLKVector4SCNVector4ToGLKVector4(SCNVector4 vector)static SCNVector4SCNVector4Zero()The null vector: [0 0 0 0].static java.lang.StringSCNViewTransform()
-
-
-
Method Detail
-
SCNVector3EqualToVector3
public static boolean SCNVector3EqualToVector3(SCNVector3 a, SCNVector3 b)
Returns true if 'a' is exactly equal to 'b'.
-
SCNVector4EqualToVector4
public static boolean SCNVector4EqualToVector4(SCNVector4 a, SCNVector4 b)
Returns true if 'a' is exactly equal to 'b'.
-
SCNVector3Make
public static SCNVector3 SCNVector3Make(float x, float y, float z)
Returns an initialized SCNVector3
-
SCNVector4Make
public static SCNVector4 SCNVector4Make(float x, float y, float z, float w)
Returns an initialized SCNVector4
-
SCNMatrix4IsIdentity
public static boolean SCNMatrix4IsIdentity(SCNMatrix4 m)
Returns true if 'm' is the identity matrix.
-
SCNMatrix4EqualToMatrix4
public static boolean SCNMatrix4EqualToMatrix4(SCNMatrix4 a, SCNMatrix4 b)
Returns true if 'a' is exactly equal to 'b'.
-
SCNMatrix4MakeTranslation
public static SCNMatrix4 SCNMatrix4MakeTranslation(float tx, float ty, float tz)
Returns a transform that translates by '(tx, ty, tz)': m' = [1 0 0 0; 0 1 0 0; 0 0 1 0; tx ty tz 1].
-
SCNMatrix4MakeScale
public static SCNMatrix4 SCNMatrix4MakeScale(float sx, float sy, float sz)
Returns a transform that scales by '(sx, sy, sz)': m' = [sx 0 0 0; 0 sy 0 0; 0 0 sz 0; 0 0 0 1].
-
SCNMatrix4MakeRotation
public static SCNMatrix4 SCNMatrix4MakeRotation(float angle, float x, float y, float z)
Returns a matrix that rotates by 'angle' radians about the vector '(x, y, z)'.
-
SCNMatrix4Translate
public static SCNMatrix4 SCNMatrix4Translate(SCNMatrix4 m, float tx, float ty, float tz)
Translate 'm' by '(tx, ty, tz)' and return the result: m' = translate(tx, ty, tz) * m.
-
SCNMatrix4Scale
public static SCNMatrix4 SCNMatrix4Scale(SCNMatrix4 m, float sx, float sy, float sz)
Scale 'm' by '(sx, sy, sz)' and return the result: m' = scale(sx, sy, sz) * m.
-
SCNMatrix4Rotate
public static SCNMatrix4 SCNMatrix4Rotate(SCNMatrix4 m, float angle, float x, float y, float z)
Rotate 'm' by 'angle' radians about the vector '(x, y, z)' and return the result: * m' = rotation(angle, x, y, z) * m. Note: on iOS 10.12 or before, the matrix are combined in the wrong order: m' = m * rotation(angle, x, y, z)
-
SCNMatrix4Invert
public static SCNMatrix4 SCNMatrix4Invert(SCNMatrix4 m)
Invert 'm' and return the result.
-
SCNMatrix4Mult
public static SCNMatrix4 SCNMatrix4Mult(SCNMatrix4 a, SCNMatrix4 b)
Concatenate 'b' to 'a' and return the result: m' = a * b.
-
SCNVector3FromGLKVector3
public static SCNVector3 SCNVector3FromGLKVector3(GLKVector3 vector)
-
SCNVector3ToGLKVector3
public static GLKVector3 SCNVector3ToGLKVector3(SCNVector3 vector)
-
SCNVector4FromGLKVector4
public static SCNVector4 SCNVector4FromGLKVector4(GLKVector4 vector)
-
SCNVector4ToGLKVector4
public static GLKVector4 SCNVector4ToGLKVector4(SCNVector4 vector)
-
SCNMatrix4ToGLKMatrix4
public static GLKMatrix4 SCNMatrix4ToGLKMatrix4(SCNMatrix4 mat)
-
SCNMatrix4FromGLKMatrix4
public static SCNMatrix4 SCNMatrix4FromGLKMatrix4(GLKMatrix4 mat)
-
SCNExportJavaScriptModule
public static void SCNExportJavaScriptModule(JSContext context)
[@function] SCNExportJavaScriptModule Exports SceneKit's symbols (constants and class definition) into the specified JavaScript context. SceneKit's classes, properties and constants are exported as global object with their original name. Selectors are exported using the rules defined in JavaScriptCore's JSExport.h. For example to instanciate a node in JavaScript: var aNode = SCNNode.node(); to change its opacity: aNode.opacity = 0.5; to remove from its parent node: aNode.removeFromParentNode(); to animate a node opacity: SCNTransaction.begin(); SCNTransaction.setAnimationDuration(1.0); aNode.opacity = 0.5; SCNTransaction.commit(); The following special objects are also exported: class name constructor Objective-C class SCNColor SCNColor.color(r,g,b,a) NSColor CATimingFunction CATimingFunction.functionWithName(name) CATimingFunction CABasicAnimation CABasicAnimation.animationWithKeyPath(aPath) CABasicAnimation CAAnimationGroup new CAAnimationGroup() CAAnimationGroup CAKeyframeAnimation CAKeyframeAnimation.animationWithKeyPath(aPath) CAKeyframeAnimation SCNImage SCNImage.imageWithURL(aURL) NSImage / UIImage SCNImage.imageWithPath(aPath) Vectors use this syntax: aNode.scale = {x:2, y:2, z:2}; Matrices use this syntax: aNode.transform = {m11:1, m12:0, m13:0 ... m44:1};
-
SCNVector3Zero
public static SCNVector3 SCNVector3Zero()
The null vector: [0 0 0].
-
SCNVector4Zero
public static SCNVector4 SCNVector4Zero()
The null vector: [0 0 0 0].
-
SCNMatrix4Identity
public static SCNMatrix4 SCNMatrix4Identity()
The identity matrix: [1 0 0 0; 0 1 0 0; 0 0 1 0; 0 0 0 1].
-
SCNErrorDomain
public static java.lang.String SCNErrorDomain()
domain for errors from SceneKit API.
-
SCNHitTestFirstFoundOnlyKey
public static java.lang.String SCNHitTestFirstFoundOnlyKey()
Deprecated, use SCNHitTestSearchModeAny for the SCNHitTestOptionSearchMode option instead
-
SCNHitTestSortResultsKey
public static java.lang.String SCNHitTestSortResultsKey()
Deprecated, use SCNHitTestSearchModeAll for the SCNHitTestOptionSearchMode option instead
-
SCNHitTestClipToZRangeKey
public static java.lang.String SCNHitTestClipToZRangeKey()
If set to YES ignores the objects clipped by the zNear/zFar range of the current point of view. Defaults to YES.
-
SCNHitTestBackFaceCullingKey
public static java.lang.String SCNHitTestBackFaceCullingKey()
If set to YES ignores the faces not facing to the camera. Defaults to YES.
-
SCNHitTestBoundingBoxOnlyKey
public static java.lang.String SCNHitTestBoundingBoxOnlyKey()
If set to YES only tests the bounding boxes of the 3D objects. Defaults to NO.
-
SCNHitTestIgnoreChildNodesKey
public static java.lang.String SCNHitTestIgnoreChildNodesKey()
Determines whether the child nodes are ignored. Defaults to NO.
-
SCNHitTestRootNodeKey
public static java.lang.String SCNHitTestRootNodeKey()
Specifies the root node to use for the hit test. Defaults to the root node of the scene.
-
SCNHitTestIgnoreHiddenNodesKey
public static java.lang.String SCNHitTestIgnoreHiddenNodesKey()
Determines whether hidden nodes should be ignored. Defaults to YES.
-
SCNHitTestOptionCategoryBitMask
public static java.lang.String SCNHitTestOptionCategoryBitMask()
Determines the node categories to test. Defaults to all bits set.
-
SCNProgramMappingChannelKey
public static java.lang.String SCNProgramMappingChannelKey()
This key is optional and may be used in association with the SCNGeometrySourceSemanticTexcoord semantic. It allows to associate a mapping channel from the geometry to a symbol from the program source code. The mapping channel allows to plug programs that work with multiple texture coordinates. The associated value must be a NSNumber(integer) greater than zero.
-
SCNShaderModifierEntryPointGeometry
public static java.lang.String SCNShaderModifierEntryPointGeometry()
[@constant] SCNShaderModifierEntryPointGeometry This is the entry point to operate on the geometry vertices, for example deforming them. It operates entirely in the vertex shader stage. It's input is the geometry structure: Structures available from the SCNShaderModifierEntryPointGeometry entry point: | struct SCNShaderGeometry { | float4 position; | float3 normal; | float4 tangent; | float4 color; | float2 texcoords[kSCNTexcoordCount]; | } _geometry; | | Access: ReadWrite | Stages: Vertex shader only kSCNTexcoordCount is a constant integer set to the number of texture coordinates used. All the geometric fields (position, normal and tangent) are in model space. You can use one of the provided automatic uniforms such as u_modelTransform or u_modelViewTransform if you want to operate in another space (but the results must stay in the model space, otherwise remaining computations won't be correct). The texture coordinates are the raw values found in the mesh, they have not been transformed yet by their optional contentsTransform. The contentsTransform if any is applied after the geometry shader modifier. Example: Simple sinusoidal deformation GLSL | uniform float Amplitude = 0.1; | | _geometry.position.xyz += _geometry.normal * (Amplitude * _geometry.position.y * _geometry.position.x) * sin(u_time); Metal Shading Language | #pragma arguments | float Amplitude; | | _geometry.position.xyz += _geometry.normal * (Amplitude * _geometry.position.y * _geometry.position.x) * sin(scn_frame.time);
-
SCNShaderModifierEntryPointSurface
public static java.lang.String SCNShaderModifierEntryPointSurface()
[@constant] SCNShaderModifierEntryPointSurface This is the entry point to alter the surface representation of the material, before the lighting has taken place. Structures available from the SCNShaderModifierEntryPointSurface entry point: | struct SCNShaderSurface { | float3 view; // Direction from the point on the surface toward the camera (V) | float3 position; // Position of the fragment | float3 normal; // Normal of the fragment (N) | float3 geometryNormal; // Geometric normal of the fragment (normal map is ignored) | float3 tangent; // Tangent of the fragment | float3 bitangent; // Bitangent of the fragment | float4 ambient; // Ambient property of the fragment | float2 ambientTexcoord; // Ambient texture coordinates | float4 diffuse; // Diffuse property of the fragment. Alpha contains the opacity. | float2 diffuseTexcoord; // Diffuse texture coordinates | float4 specular; // Specular property of the fragment | float2 specularTexcoord; // Specular texture coordinates | float4 emission; // Emission property of the fragment | float2 emissionTexcoord; // Emission texture coordinates | float4 multiply; // Multiply property of the fragment | float2 multiplyTexcoord; // Multiply texture coordinates | float4 transparent; // Transparent property of the fragment | float2 transparentTexcoord; // Transparent texture coordinates | float4 reflective; // Reflective property of the fragment | float metalness; // Metalness property of the fragment | float2 metalnessTexcoord; // Metalness texture coordinates | float roughness; // Roughness property of the fragment | float2 roughnessTexcoord; // Roughness texture coordinates | float clearCoat; // Clear Coat property of the fragment. Available since macOS 10.15, iOS 13, tvOS 13 and watchOS 6. | float2 clearCoatTexcoord; // Clear Coat texture coordinates. Available since macOS 10.15, iOS 13, tvOS 13 and watchOS 6. | float clearCoatRoughness; // Clear Coat Roughness property of the fragment. Available since macOS 10.15, iOS 13, tvOS 13 and watchOS 6. | float2 clearCoatRoughnessTexcoord; // Clear Coat Roughness texture coordinates. Available since macOS 10.15, iOS 13, tvOS 13 and watchOS 6. | float3 clearCoatNormal; // Clear Coat Normal property of the fragment. Available since macOS 10.15, iOS 13, tvOS 13 and watchOS 6. | float2 clearCoatNormalTexcoord; // Clear Coat Normnal texture coordinates. Available since macOS 10.15, iOS 13, tvOS 13 and watchOS 6. | float4 selfIllumination; // Self Illumination property of the fragment. Available since macOS 10.13, iOS 11, tvOS 11 and watchOS 4. Available as `emission` in previous versions. | float2 selfIlluminationTexcoord; // Self Illumination texture coordinates. Available since macOS 10.13, iOS 11, tvOS 11 and watchOS 4. Available as `emissionTexcoord` in previous versions. | float ambientOcclusion; // Ambient Occlusion property of the fragment. Available since macOS 10.13, iOS 11, tvOS 11 and watchOS 4. Available as `multiply` in previous versions. | float2 ambientOcclusionTexcoord; // Ambient Occlusion texture coordinates. Available since macOS 10.13, iOS 11, tvOS 11 and watchOS 4. Available as `multiplyTexcoord` in previous versions. | float shininess; // Shininess property of the fragment | float fresnel; // Fresnel property of the fragment | } _surface; | | Access: ReadWrite | Stages: Fragment shader only All geometric fields are in view space. All the other properties will be colors (texture have already been sampled at this stage) or floats. You can however do an extra sampling of standard textures if you want. In this case the naming pattern is u_Texture. For example u_diffuseTexture or u_reflectiveTexture. Note that you have to be sure that the material do have a texture set for this property, otherwise you'll trigger a shader compilation error. Example: Procedural black and white stripes GLSL | uniform float Scale = 12.0; | uniform float Width = 0.25; | uniform float Blend = 0.3; | | vec2 position = fract(_surface.diffuseTexcoord * Scale); | float f1 = clamp(position.y / Blend, 0.0, 1.0); | float f2 = clamp((position.y - Width) / Blend, 0.0, 1.0); | f1 = f1 * (1.0 - f2); | f1 = f1 * f1 * 2.0 * (3. * 2. * f1); | _surface.diffuse = mix(vec4(1.0), vec4(0.0), f1); Metal Shading Language | #pragma arguments | float Scale; | float Width; | float Blend; | | float2 position = fract(_surface.diffuseTexcoord * Scale); | float f1 = clamp(position.y / Blend, 0.0, 1.0); | float f2 = clamp((position.y - Width) / Blend, 0.0, 1.0); | f1 = f1 * (1.0 - f2); | f1 = f1 * f1 * 2.0 * (3. * 2. * f1); | _surface.diffuse = mix(float4(1.0), float4(0.0), f1);
-
SCNShaderModifierEntryPointLightingModel
public static java.lang.String SCNShaderModifierEntryPointLightingModel()
[@constant] SCNShaderModifierEntryPointLightingModel This is the entry point to provide custom lighting equation. The fragment will be called for each active light of the scene and will need to accumulate lighting contribution for the vertex or the fragment in the _lightingContribution structure, using the light structure given. Structures available from the SCNShaderModifierEntryPointLightingModel entry point: | All the structures available from the SCNShaderModifierEntryPointSurface entry point | | Access: ReadOnly | Stages: Vertex shader and fragment shader | struct SCNShaderLightingContribution { | float3 ambient; | float3 diffuse; | float3 specular; | } _lightingContribution; | | Access: ReadWrite | Stages: Vertex shader and fragment shader | struct SCNShaderLight { | float4 intensity; | float3 direction; // Direction from the point on the surface toward the light (L) | } _light; | | Access: ReadOnly | Stages: Vertex shader and fragment shader Example: Wrap diffuse lighting GLSL | uniform float WrapFactor = 0.5; | | float dotProduct = (WrapFactor + max(0.0, dot(_surface.normal,_light.direction))) / (1 + WrapFactor); | _lightingContribution.diffuse += (dotProduct * _light.intensity.rgb); | vec3 halfVector = normalize(_light.direction + _surface.view); | dotProduct = max(0.0, pow(max(0.0, dot(_surface.normal, halfVector)), _surface.shininess)); | _lightingContribution.specular += (dotProduct * _light.intensity.rgb); Metal Shading Language | #pragma arguments | float WrapFactor; | | float dotProduct = (WrapFactor + max(0.0, dot(_surface.normal,_light.direction))) / (1 + WrapFactor); | _lightingContribution.diffuse += (dotProduct * _light.intensity.rgb); | float3 halfVector = normalize(_light.direction + _surface.view); | dotProduct = max(0.0, pow(max(0.0, dot(_surface.normal, halfVector)), _surface.shininess)); | _lightingContribution.specular += (dotProduct * _light.intensity.rgb);
-
SCNShaderModifierEntryPointFragment
public static java.lang.String SCNShaderModifierEntryPointFragment()
[@constant] SCNShaderModifierEntryPointFragment This is the last entry point in the fragment shader, where you can alter the final color returned by the shader. You can alter the final color by reading and writing to the output color via the output structure below. Structures available from the SCNShaderModifierEntryPointFragment entry point: | All the structures available from the SCNShaderModifierEntryPointSurface entry point | | Access: ReadOnly | Stages: Fragment shader only | struct SCNShaderOutput { | float4 color; | } _output; | | Access: ReadWrite | Stages: Fragment shader only Example: Inverse final color GLSL | _output.color.rgb = vec3(1.0) - _output.color.rgb; Metal Shading Language | _output.color.rgb = 1.0 - _output.color.rgb;
-
SCNPreferredRenderingAPIKey
public static java.lang.String SCNPreferredRenderingAPIKey()
[@constant] SCNViewOptionPreferredRenderingAPI Specifies the preferred rendering API to be used by the renderer. Pass it as the key in the options dictionary given to initWithFrame:options:. The value is a NSNumber wrapping a SCNRenderingAPI. You can also select the preferred rendering API directly from the SCNView inspector in InterfaceBuilder.
-
SCNPreferredDeviceKey
public static java.lang.String SCNPreferredDeviceKey()
[@constant] SCNViewOptionPreferredDevice Specifies the preferred Metal device to be used by the renderer. The value is directly a id.
-
SCNPreferLowPowerDeviceKey
public static java.lang.String SCNPreferLowPowerDeviceKey()
[@constant] SCNViewOptionPreferLowPowerDevice Specifies if the renderer should prefer a low power Metal device. The value is a NSNumber wrapping a BOOL. Defaults to NO.
-
SCNSceneSourceAssetContributorsKey
public static java.lang.String SCNSceneSourceAssetContributorsKey()
[@group] Scene source properties File contributors. The values are dictionaries populated with keys documented in the "Contributor dictionary keys" group.
-
SCNSceneSourceAssetCreatedDateKey
public static java.lang.String SCNSceneSourceAssetCreatedDateKey()
When the file was created. The value is a NSDate instance.
-
SCNSceneSourceAssetModifiedDateKey
public static java.lang.String SCNSceneSourceAssetModifiedDateKey()
When the file was last modified. The value is a NSDate instance.
-
SCNSceneSourceAssetUpAxisKey
public static java.lang.String SCNSceneSourceAssetUpAxisKey()
The up axis of the file. If the file is oriented Y-up, for example, then this is the string \@"0.0 1.0 0.0"
-
SCNSceneSourceAssetUnitKey
public static java.lang.String SCNSceneSourceAssetUnitKey()
The unit used in the file. The value is a dictionary populated with keys documented in the "Unit dictionary keys" group.
-
SCNSceneSourceAssetAuthoringToolKey
public static java.lang.String SCNSceneSourceAssetAuthoringToolKey()
[@group] Contributor dictionary keys Authoring tool used to create the file. The corresponding value is an NSString.
-
SCNSceneSourceAssetAuthorKey
public static java.lang.String SCNSceneSourceAssetAuthorKey()
The file's author. The corresponding value is an NSString.
-
SCNSceneSourceAssetUnitNameKey
public static java.lang.String SCNSceneSourceAssetUnitNameKey()
[@group] Unit dictionary keys The name (NSString) of the unit
-
SCNSceneSourceAssetUnitMeterKey
public static java.lang.String SCNSceneSourceAssetUnitMeterKey()
A NSNumber encapsulating a floating-point value indicating how many meters the unit is. For example, if the name is \@"centimeter", then this will be 0.01.
-
SCNSceneSourceCreateNormalsIfAbsentKey
public static java.lang.String SCNSceneSourceCreateNormalsIfAbsentKey()
[@constant] SCNSceneSourceCreateNormalsIfAbsentKey Enable to try to guess acceptable normals for the vertices if none are given in the file Use this with a boolean value encapsulated in a NSNumber. The default value is NO.
-
SCNSceneSourceCheckConsistencyKey
public static java.lang.String SCNSceneSourceCheckConsistencyKey()
[@constant] SCNSceneSourceCheckConsistencyKey Pass YES in order to perform the document validation. This option can be set in the options dictionary of the SCNScene and SCNSceneSource loading methods. The value for this option should be a boolean NSNumber. If its boolean value is YES (the default is NO), SceneKit will attempt to check the document for consistency. If the document doesn't pass the consistency check it is then not loaded and an error is returned. This is slower, but for security reasons it should be set to YES if you are not sure the files you load are valid and have not been tampered with.
-
SCNSceneSourceFlattenSceneKey
public static java.lang.String SCNSceneSourceFlattenSceneKey()
[@constant] SCNSceneSourceFlattenSceneKey Pass YES to flatten the scene graph when possible. This option can be set in the options dictionary of the SCNScene and SCNSceneSource loading methods. The value for this option should be a boolean NSNumber. If its boolean value is YES (the default is NO), SceneKit will attempt to reduce the scene graph by merging the geometries. This option is suitable to preview a 3D scene efficiently and when manipulating the scene graph is not needed.
-
SCNSceneSourceUseSafeModeKey
public static java.lang.String SCNSceneSourceUseSafeModeKey()
[@constant] SCNSceneSourceUseSafeModeKey Pass YES in order to enable the safe mode. This option can be set in the options dictionary of the SCNScene and SCNSceneSource loading methods. The value for this option should be a boolean NSNumber. If its boolean value is YES (the default is NO), SceneKit will forbid network accesses, prevent the loading of resources from arbitrary directories, and will not execute any code present in the loaded files.
-
SCNSceneSourceAssetDirectoryURLsKey
public static java.lang.String SCNSceneSourceAssetDirectoryURLsKey()
[@constant] SCNSceneSourceAssetDirectoryURLsKey Pass an array of directory URLs where SceneKit should look for resources By default, SceneKit will look for the external resources it cannot find in the parent directory of the imported file. You can add additional directories by setting an array of URLs for this key when calling sceneWithOptions:error:. This is recommended if you want to construct your scene source from a data object, not from an URL, and need to load resources whose paths are not absolute.
-
SCNSceneSourceOverrideAssetURLsKey
public static java.lang.String SCNSceneSourceOverrideAssetURLsKey()
[@constant] SCNSceneSourceOverrideAssetURLsKey Pass YES in order to override assets URLs with the directory URLs passed via SCNSceneSourceAssetDirectoryURLsKey. By default, SceneKit will look for the external resources using the paths/urls as described in the imported file. You can force SceneKit to only search for extern resources within the directories specified by the SCNSceneSourceAssetDirectoryURLsKey key. This can be useful to load a file and its resources from a specific bundle for instance.
-
SCNSceneSourceStrictConformanceKey
public static java.lang.String SCNSceneSourceStrictConformanceKey()
[@constant] SCNSceneSourceStrictConformanceKey Pass YES to interpret the 3D format of the file in a strict way. This option defaults to NO. In this case SceneKit will try to read any additional metadata present in the file to enable additional features and make the rendering as close as possible to the original intent. If you pass YES, SceneKit will instead only consider features which are part of the file format specification.
-
SCNSceneSourceAnimationImportPolicyKey
public static java.lang.String SCNSceneSourceAnimationImportPolicyKey()
[@constant] SCNSceneSourceAnimationImportPolicyKey Pass one of the value below to specify what to do with loaded animations. See below for the description of each individual key. Defaults to SCNSceneSourceAnimationImportPolicyPlayRepeatedly. On 10.9 and before the behavior is SCNSceneSourceAnimationImportPolicyPlayUsingSceneTimeBase. For compatibility reason if the application was built on 10.9 or before the default behavior is SCNSceneSourceAnimationImportPolicyPlayUsingSceneTimeBase.
-
SCNSceneSourceLoadingOptionPreserveOriginalTopology
public static java.lang.String SCNSceneSourceLoadingOptionPreserveOriginalTopology()
[@constant] SCNSceneSourceLoadingOptionPreserveOriginalTopology Pass YES to make SceneKit preserve the original topology instead of triangulating at load time. This can be useful to get better results when subdividing a geometry. Defaults to YES starting macOS 10.15, iOS 13, tvOS 13 and watchOS 6. Defaults to NO in previous versions.
-
SCNSceneSourceAnimationImportPolicyPlay
public static java.lang.String SCNSceneSourceAnimationImportPolicyPlay()
[@constant] SCNSceneSourceAnimationImportPolicyPlay Add animations to the scene and play them once (repeatCount set to 1).
-
SCNSceneSourceAnimationImportPolicyPlayRepeatedly
public static java.lang.String SCNSceneSourceAnimationImportPolicyPlayRepeatedly()
[@constant] SCNSceneSourceAnimationImportPolicyPlayRepeatedly Add animations to the scene and play them repeatedly (repeatCount set to infinity).
-
SCNSceneSourceAnimationImportPolicyDoNotPlay
public static java.lang.String SCNSceneSourceAnimationImportPolicyDoNotPlay()
[@constant] SCNSceneSourceAnimationImportPolicyDoNotPlay Only keep animations in the SCNSceneSource and don't add to the animatable elements of the scene.
-
SCNSceneSourceAnimationImportPolicyPlayUsingSceneTimeBase
public static java.lang.String SCNSceneSourceAnimationImportPolicyPlayUsingSceneTimeBase()
[@constant] SCNSceneSourceAnimationImportPolicyPlayUsingSceneTimeBase Add animations to the scene and play them using the SCNView/SCNRenderer's scene time (usesSceneTimeBase set to YES)
-
SCNDetailedErrorsKey
public static java.lang.String SCNDetailedErrorsKey()
[@constant] SCNDetailedErrorsKey Key to access the detailed validation errors. This key will be present in the user info dictionary of errors created by the various sceneWithOptions: methods. When present, the value associated with it is an array of detailed errors found by the consistency checker which represent consistency errors in the 3D file. Some metadata about these detailed errors is available in their user info dictionary using the other keys (SCNConsistency*) defined in this file.
-
SCNConsistencyElementIDErrorKey
public static java.lang.String SCNConsistencyElementIDErrorKey()
[@constant] SCNConsistencyElementIDErrorKey For XML-based formats, the ID of the element where the error occurred. When the element does not have an ID, the ID of the closest parent element which has one is returned.
-
SCNConsistencyElementTypeErrorKey
public static java.lang.String SCNConsistencyElementTypeErrorKey()
[@constant] SCNConsistencyElementTypeErrorKey For XML-based formats, the tag name of the element where the error occurred.
-
SCNConsistencyLineNumberErrorKey
public static java.lang.String SCNConsistencyLineNumberErrorKey()
[@constant] SCNConsistencyLineNumberErrorKey For text-based formats, the line number where an error occurred.
-
SCNSceneExportDestinationURL
public static java.lang.String SCNSceneExportDestinationURL()
[@constant] SCNSceneExportDestinationURL Specifies the final destination (as a NSURL) of the scene being exported. The destination URL is required if the scene is exported to a temporary directory and then moved to a final destination. This enables the exported document to get correct relative paths to referenced images.
-
SCNSceneStartTimeAttributeKey
public static java.lang.String SCNSceneStartTimeAttributeKey()
A floating point value, encapsulated in a NSNumber, containing the start time of the scene.
-
SCNSceneEndTimeAttributeKey
public static java.lang.String SCNSceneEndTimeAttributeKey()
A floating point value, encapsulated in a NSNumber, containing the end time of the scene.
-
SCNSceneFrameRateAttributeKey
public static java.lang.String SCNSceneFrameRateAttributeKey()
A floating point value, encapsulated in a NSNumber, containing the framerate of the scene.
-
SCNSceneUpAxisAttributeKey
public static java.lang.String SCNSceneUpAxisAttributeKey()
A vector3 value, encapsulated in a NSValue, containing the up axis of the scene. This is just for information, setting the up axis as no effect.
-
SCNModelTransform
public static java.lang.String SCNModelTransform()
[@group] Rendering arguments These keys are used for the 'semantic' argument of -[SCNProgram setSemantic:forSymbol:options:] Transforms are SCNMatrix4 wrapped in NSValues.
-
SCNViewTransform
public static java.lang.String SCNViewTransform()
-
SCNProjectionTransform
public static java.lang.String SCNProjectionTransform()
-
SCNNormalTransform
public static java.lang.String SCNNormalTransform()
-
SCNModelViewTransform
public static java.lang.String SCNModelViewTransform()
-
SCNModelViewProjectionTransform
public static java.lang.String SCNModelViewProjectionTransform()
-
SCNLightTypeAmbient
public static java.lang.String SCNLightTypeAmbient()
Ambient light
-
SCNLightTypeOmni
public static java.lang.String SCNLightTypeOmni()
Omnidirectional light
-
SCNLightTypeDirectional
public static java.lang.String SCNLightTypeDirectional()
Directional light
-
SCNLightTypeSpot
public static java.lang.String SCNLightTypeSpot()
Spot light
-
SCNLightTypeIES
public static java.lang.String SCNLightTypeIES()
IES light
-
SCNLightTypeProbe
public static java.lang.String SCNLightTypeProbe()
Light probe
-
SCNLightingModelPhong
public static java.lang.String SCNLightingModelPhong()
-
SCNLightingModelBlinn
public static java.lang.String SCNLightingModelBlinn()
-
SCNLightingModelLambert
public static java.lang.String SCNLightingModelLambert()
-
SCNLightingModelConstant
public static java.lang.String SCNLightingModelConstant()
-
SCNLightingModelPhysicallyBased
public static java.lang.String SCNLightingModelPhysicallyBased()
-
SCNGeometrySourceSemanticVertex
public static java.lang.String SCNGeometrySourceSemanticVertex()
-
SCNGeometrySourceSemanticNormal
public static java.lang.String SCNGeometrySourceSemanticNormal()
-
SCNGeometrySourceSemanticColor
public static java.lang.String SCNGeometrySourceSemanticColor()
-
SCNGeometrySourceSemanticTexcoord
public static java.lang.String SCNGeometrySourceSemanticTexcoord()
-
SCNGeometrySourceSemanticTangent
public static java.lang.String SCNGeometrySourceSemanticTangent()
-
SCNGeometrySourceSemanticVertexCrease
public static java.lang.String SCNGeometrySourceSemanticVertexCrease()
-
SCNGeometrySourceSemanticEdgeCrease
public static java.lang.String SCNGeometrySourceSemanticEdgeCrease()
-
SCNGeometrySourceSemanticBoneWeights
public static java.lang.String SCNGeometrySourceSemanticBoneWeights()
-
SCNGeometrySourceSemanticBoneIndices
public static java.lang.String SCNGeometrySourceSemanticBoneIndices()
-
SCNParticlePropertyPosition
public static java.lang.String SCNParticlePropertyPosition()
float3 : {x,y,z} controller animation type : {NSValue(SCNVector3)}
-
SCNParticlePropertyAngle
public static java.lang.String SCNParticlePropertyAngle()
float controller animation type : {NSNumber}
-
SCNParticlePropertyRotationAxis
public static java.lang.String SCNParticlePropertyRotationAxis()
float3 : {x,y,z} controller animation type : {NSValue(SCNVector3)}
-
SCNParticlePropertyVelocity
public static java.lang.String SCNParticlePropertyVelocity()
float3 : {x,y,z} controller animation type : {NSValue(SCNVector3)}
-
SCNParticlePropertyAngularVelocity
public static java.lang.String SCNParticlePropertyAngularVelocity()
float controller animation type : {NSNumber}
-
SCNParticlePropertyLife
public static java.lang.String SCNParticlePropertyLife()
float not controllable
-
SCNParticlePropertyColor
public static java.lang.String SCNParticlePropertyColor()
float4 : {r,g,b,a} controller animation type : {UIColor}
-
SCNParticlePropertyOpacity
public static java.lang.String SCNParticlePropertyOpacity()
float controller animation type : {NSNumber}
-
SCNParticlePropertySize
public static java.lang.String SCNParticlePropertySize()
float controller animation type : {NSNumber}
-
SCNParticlePropertyFrame
public static java.lang.String SCNParticlePropertyFrame()
float controller animation type : {NSNumber}
-
SCNParticlePropertyFrameRate
public static java.lang.String SCNParticlePropertyFrameRate()
float controller animation type : {NSNumber}
-
SCNParticlePropertyBounce
public static java.lang.String SCNParticlePropertyBounce()
float controller animation type : {NSNumber}
-
SCNParticlePropertyCharge
public static java.lang.String SCNParticlePropertyCharge()
float controller animation type : {NSNumber}
-
SCNParticlePropertyFriction
public static java.lang.String SCNParticlePropertyFriction()
float controller animation type : {NSNumber}
-
SCNParticlePropertyContactPoint
public static java.lang.String SCNParticlePropertyContactPoint()
float3 not controllable
-
SCNParticlePropertyContactNormal
public static java.lang.String SCNParticlePropertyContactNormal()
float3 not controllable
-
SCNPhysicsShapeTypeKey
public static java.lang.String SCNPhysicsShapeTypeKey()
Type of the physics shape. Default is SCNPhysicsShapeTypeConvexHull. See below for the list of shape types.
-
SCNPhysicsShapeKeepAsCompoundKey
public static java.lang.String SCNPhysicsShapeKeepAsCompoundKey()
A boolean to decide if a hierarchy is kept as a compound of shapes or flattened as one single volume. Default is true.
-
SCNPhysicsShapeScaleKey
public static java.lang.String SCNPhysicsShapeScaleKey()
Local scaling of the physics shape (as an SCNVector3 wrapped in a NSValue)
-
SCNPhysicsShapeOptionCollisionMargin
public static java.lang.String SCNPhysicsShapeOptionCollisionMargin()
Collision margin of the physics shape (as an NSNumber)
-
SCNPhysicsShapeTypeBoundingBox
public static java.lang.String SCNPhysicsShapeTypeBoundingBox()
-
SCNPhysicsShapeTypeConvexHull
public static java.lang.String SCNPhysicsShapeTypeConvexHull()
-
SCNPhysicsShapeTypeConcavePolyhedron
public static java.lang.String SCNPhysicsShapeTypeConcavePolyhedron()
-
SCNPhysicsTestCollisionBitMaskKey
public static java.lang.String SCNPhysicsTestCollisionBitMaskKey()
Allows to filter the objects tested by rayTest, contactTest and convexSweep. Default is SCNPhysicsCollisionCategoryAll
-
SCNPhysicsTestSearchModeKey
public static java.lang.String SCNPhysicsTestSearchModeKey()
Specifies how to perform the ray/contact/sweep test. Values are defined below. If not defined, then defaults to SCNPhysicsTestSearchModeAny
-
SCNPhysicsTestBackfaceCullingKey
public static java.lang.String SCNPhysicsTestBackfaceCullingKey()
Specifies whether the back faces should be ignored or not. Defaults to YES.
-
SCNPhysicsTestSearchModeAny
public static java.lang.String SCNPhysicsTestSearchModeAny()
Returns the first contact found.
-
SCNPhysicsTestSearchModeClosest
public static java.lang.String SCNPhysicsTestSearchModeClosest()
Returns the nearest contact found only.
-
SCNPhysicsTestSearchModeAll
public static java.lang.String SCNPhysicsTestSearchModeAll()
All contacts are returned.
-
SCNHitTestOptionSearchMode
public static java.lang.String SCNHitTestOptionSearchMode()
Determines whether the search should be exhaustive. Defaults to SCNHitTestSearchModeClosest.
-
SCNSceneSourceConvertUnitsToMetersKey
public static java.lang.String SCNSceneSourceConvertUnitsToMetersKey()
[@constant] SCNSceneSourceConvertUnitsToMetersKey Pass the units you want the scene to be converted to (in meter). Use this with a floating value encapsulated in a NSNumber. The default value is nil which means no conversion done. Passing a non-zero value will convert the scene coordinates so that 1 unit corresponds to N meters. For example pass 0.01 for 1 unit == 1 centimeter, pass 0.3048 for 1 unit == 1 foot... For better physics simulation it is recommended to use 1 unit equals to 1 meter. This option has no effect for SCN files or if the asset is already compressed by Xcode (use the compression options instead).
-
SCNSceneSourceConvertToYUpKey
public static java.lang.String SCNSceneSourceConvertToYUpKey()
[@constant] SCNSceneSourceConvertToYUpKey Pass YES if a scene should be converted to Y up if it currently has a different up axis. Use this with a boolean value encapsulated in a NSNumber. The default value is NO. This option has no effect for SCN files or if the asset is already compressed by Xcode (use the compression options instead).
-
SCNHitTestOptionIgnoreLightArea
public static java.lang.String SCNHitTestOptionIgnoreLightArea()
Determines whether the shape of an area light should not be taken into account. Defaults to YES.
-
SCNLightTypeArea
public static java.lang.String SCNLightTypeArea()
Area light
-
SCNLightingModelShadowOnly
public static java.lang.String SCNLightingModelShadowOnly()
-
-