Improve AR menu with multi-dish support, 3D ingredients, and shared sky HDRI.
Fix AR export/visibility per dish, load catalog GLBs at runtime, and replace per-dish HDR with one overcast sky environment for the whole menu. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
14
Assets/Needle/Components.codegen/DishIngredientsTap.cs
Normal file
14
Assets/Needle/Components.codegen/DishIngredientsTap.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
// NEEDLE_CODEGEN_START
|
||||
// auto generated code - do not edit directly
|
||||
|
||||
#pragma warning disable
|
||||
|
||||
namespace Needle.Typescript.GeneratedComponents
|
||||
{
|
||||
public partial class DishIngredientsTap : UnityEngine.MonoBehaviour
|
||||
{
|
||||
public void onPointerClick(UnityEngine.EventSystems.PointerEventData @_args) {}
|
||||
}
|
||||
}
|
||||
|
||||
// NEEDLE_CODEGEN_END
|
||||
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 53682507d1bf626e741afef604c0b9f0
|
||||
@@ -7,16 +7,12 @@ namespace Needle.Typescript.GeneratedComponents
|
||||
{
|
||||
public partial class MenuController : UnityEngine.MonoBehaviour
|
||||
{
|
||||
public bool @isMobile = false;
|
||||
public bool @isDesktop = false;
|
||||
public bool @isXR = false;
|
||||
public UnityEngine.Transform[] @dishes;
|
||||
public UnityEngine.Transform @webXROrigin;
|
||||
[UnityEngine.Tooltip("Local-space vertical bob amplitude (meters). Set to 0 to disable.")]
|
||||
[UnityEngine.Tooltip("Local-space vertical bob amplitude (meters). Set to 0 to disable. Peak-to-peak motion is 2× this value; 0.004 ≈ 8 mm total — subtle but visible.")]
|
||||
public float @dishBobAmplitude = 0.004f;
|
||||
[UnityEngine.Tooltip("Bob angular speed (radians per second).")]
|
||||
public float @dishBobSpeed = 1f;
|
||||
public float @selectedDishIndex = 0f;
|
||||
public void OnEnable() {}
|
||||
public void onEnterXR(object @args) {}
|
||||
public void onLeaveXR(object @_args) {}
|
||||
@@ -26,7 +22,9 @@ namespace Needle.Typescript.GeneratedComponents
|
||||
public void setupMobileControls() {}
|
||||
public void setupDesktopControls() {}
|
||||
public void createMenuMobileControls() {}
|
||||
public void prepareForAR() {}
|
||||
public float getDishSlotCount() { return default; }
|
||||
public void registerDishRoot(UnityEngine.Transform @dish) {}
|
||||
public string getPickerLabel() { return default; }
|
||||
public void selectPreviousDish() {}
|
||||
public void selectNextDish() {}
|
||||
|
||||
BIN
Assets/Resources/Dishes/quistibi_scan.glb
LFS
Normal file
BIN
Assets/Resources/Dishes/quistibi_scan.glb
LFS
Normal file
Binary file not shown.
73
Assets/Resources/Dishes/quistibi_scan.glb.meta
Normal file
73
Assets/Resources/Dishes/quistibi_scan.glb.meta
Normal file
@@ -0,0 +1,73 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 776567fc7344c7b408f89845795466e3
|
||||
ScriptedImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
script: {fileID: 11500000, guid: 804e1ce4c496647cfa3f1a1134187c71, type: 3}
|
||||
_removeEmptyRootObjects: 1
|
||||
_scaleFactor: 1
|
||||
_deduplicateResources: 0
|
||||
_deduplicatedStatistics:
|
||||
meshCountBefore: 0
|
||||
meshCountAfter: 0
|
||||
textureCountBefore: 0
|
||||
textureCountAfter: 0
|
||||
_maximumLod: 300
|
||||
_readWriteEnabled: 1
|
||||
_generateColliders: 0
|
||||
_addColliders: 0
|
||||
_swapUvs: 0
|
||||
_generateLightmapUVs: 0
|
||||
_importBlendShapeNames: 1
|
||||
_blendShapeFrameWeight:
|
||||
_option: 0
|
||||
_multiplier: 1
|
||||
_importNormals: 0
|
||||
_importTangents: 0
|
||||
_importCamera: 2
|
||||
_importAnimations: 2
|
||||
_mecanimHumanoidFlip: 0
|
||||
_addAnimatorComponent: 0
|
||||
_animationLoopTime: 1
|
||||
_animationLoopPose: 0
|
||||
_importMaterials: 1
|
||||
_enableGpuInstancing: 0
|
||||
_texturesReadWriteEnabled: 1
|
||||
_generateMipMaps: 1
|
||||
_useSceneNameIdentifier: 1
|
||||
_textureCompression: -50
|
||||
_gltfAsset: '<b>Generator: </b>Sketchfab-16.95.0
|
||||
|
||||
<b>Version: </b>2.0
|
||||
|
||||
|
||||
|
||||
<b>Extras:
|
||||
</b>
|
||||
|
||||
'
|
||||
optimizeGameObjects: 0
|
||||
materials:
|
||||
- {instanceID: 0}
|
||||
textures:
|
||||
- {instanceID: 0}
|
||||
- {instanceID: 0}
|
||||
hasSceneData: 1
|
||||
hasAnimationData: 0
|
||||
hasMaterialData: 1
|
||||
hasTextureData: 1
|
||||
animations: []
|
||||
_extensions: []
|
||||
_textures:
|
||||
- texture: {instanceID: 0}
|
||||
shouldBeLinear: 0
|
||||
shouldBeNormalMap: 0
|
||||
- texture: {instanceID: 0}
|
||||
shouldBeLinear: 1
|
||||
shouldBeNormalMap: 1
|
||||
_mainAssetIdentifier: scenes/Sketchfab_Scene
|
||||
_importPlugins: []
|
||||
@@ -571,6 +571,84 @@ Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 8897093224900880590, guid: 82b3eac92005fee47a7a02b0e77a8231, type: 3}
|
||||
m_PrefabInstance: {fileID: 1684256003}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1001 &1784117311
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 1792418156}
|
||||
m_Modifications:
|
||||
- target: {fileID: 8128668236925612103, guid: 776567fc7344c7b408f89845795466e3, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: quistibi_scan
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8128668236925612103, guid: 776567fc7344c7b408f89845795466e3, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8897093224900880590, guid: 776567fc7344c7b408f89845795466e3, type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 1.1699198
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8897093224900880590, guid: 776567fc7344c7b408f89845795466e3, type: 3}
|
||||
propertyPath: m_LocalScale.y
|
||||
value: 1.1699204
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8897093224900880590, guid: 776567fc7344c7b408f89845795466e3, type: 3}
|
||||
propertyPath: m_LocalScale.z
|
||||
value: 1.1699204
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8897093224900880590, guid: 776567fc7344c7b408f89845795466e3, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0.476
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8897093224900880590, guid: 776567fc7344c7b408f89845795466e3, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: -0.002
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8897093224900880590, guid: 776567fc7344c7b408f89845795466e3, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0.464
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8897093224900880590, guid: 776567fc7344c7b408f89845795466e3, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 0.7071068
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8897093224900880590, guid: 776567fc7344c7b408f89845795466e3, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0.7071068
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8897093224900880590, guid: 776567fc7344c7b408f89845795466e3, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8897093224900880590, guid: 776567fc7344c7b408f89845795466e3, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8897093224900880590, guid: 776567fc7344c7b408f89845795466e3, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8897093224900880590, guid: 776567fc7344c7b408f89845795466e3, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8897093224900880590, guid: 776567fc7344c7b408f89845795466e3, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: -5645937942226959685, guid: 776567fc7344c7b408f89845795466e3, type: 3}
|
||||
--- !u!4 &1784117312 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 8897093224900880590, guid: 776567fc7344c7b408f89845795466e3, type: 3}
|
||||
m_PrefabInstance: {fileID: 1784117311}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &1792418155
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@@ -602,6 +680,7 @@ Transform:
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 1684256004}
|
||||
- {fileID: 1784117312}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &1792418157
|
||||
@@ -621,7 +700,10 @@ MonoBehaviour:
|
||||
isXR: 0
|
||||
dishes:
|
||||
- {fileID: 1684256004}
|
||||
- {fileID: 1784117312}
|
||||
webXROrigin: {fileID: 0}
|
||||
dishBobAmplitude: 0.004
|
||||
dishBobSpeed: 1
|
||||
selectedDishIndex: 0
|
||||
--- !u!1660057539 &9223372036854775807
|
||||
SceneRoots:
|
||||
|
||||
Reference in New Issue
Block a user