# TWA. Orangery scene **NB!** There is an invisible wall w colliders at the top and the bottom of the scene to stop the atlases from going off the screen (when the player controls them) **Colour codes**: *Petals*: ff6f4b *Circle*: ### Tasks - [ ] Orangery-button rotates counter-clock-wise when pressed - [ ] Another button opens a panel above the RANGERY letters -> contours of atlases -> if pressed, transports to this atlas page - [ ] Introduce [Boids](https://en.wikipedia.org/wiki/Boids) for the behaviour in the Orangery scene **Visual poetry (UI)** - [-] The leaf holds the name - [-] Names also appear under the atlas - [ ] The branches hold the date of creation. Day, month, hour, minute, seconds — each on a separate branch - Controlled from Atlas_InOrangery.cs - Date is added as a Json property - [ ] Greenery at the bottom of the screen consists of the "lore": quotes from [[DESIGNS/ToyWorldsAtlas/TWA_ConceptReference|conceptual references]], such as: - [ ] Animate the grass - [ ] Install [Adobe Animate](https://www.adobe.com/apps/all/all-platforms/pdp/animate?source=apps) - [ ] Export animated sprites into Unity (alternatively, can be made in AdIllustrator) - [ ] Make a Unity animation (40 grass sprites with a little change) **The grass** - [ ] Either a frame animation in Adobe Animate - [ ] or, a collider on each peace of the grass that moves under cursor, etc. >"While there are zoologists, there are no phenomenologists: uncontroversial experts on the nature of the things that swim in the stream of consciousness. But we can follow recent practice and adopt the term <...> as the generic term for the various items in conscious experience that have to be explained. So let’s take a brief tour of the phenomenological garden <…> Our phenom is divided into three parts: (1) experience of the 'external' world, such as sights, sounds, smells, slippery and scratchy feelings, feelings of heat and cold, and of the position of our limbs; 2) experience of the purely 'internal' world, such as fantasy images, the inner sights and sounds of daydreaming and talking to yourself, recollections, bright ideas, and sudden hunches; (3) and experience of emotion or “affect” (to use the awkward term favored by psychologists), ranging from bodily pains, tickles, and 'sensations' of hunger and thirst, through intermediate emotional storms of anger, joy, hatred, embarrassment, lust, astonishment, to the least corporeal visitations of pride, anxiety, regret, ironic detachment, rue, awe, icy calm" (Dennett D. (1991) "Consciousness Explained", p. 44 - 45) > "These examples of phenomenology, for all their diversity, seem to have two important features in common. On the one hand, they are our most intimate acquaintances; there is nothing we could know any better than the items of our personal phenomenologies -- or so it seems. On the other hand, they are defiantly inaccessible to materialistic science; nothing could be less like an electron, or a molecule, or a neuron, than the way the sunset look to me now -- or so it seems. Philosophers have duly impressed by both features, and have found many different ways of emphasizing what is problematic. For some, the great puzzle is the special intimacy: How can we be incorrigible or have privileged access or directly apprehend these items? What is the difference between our epistemic relations to our phenomenology and our epistemic relations to the objects in the external world? For others, the great puzzle concerns the unusual 'intrinsic qualities' -- or to use the Latin word, the qualia -- of our phenomenology: How could anything composed of material particles be the fun that I'm having, or have the 'ultimate homogenity' of the pink ice cube I am now imagining, or matter the way my pain does to me?" (Dennett D. (1991) "Consciousness Explained", p. 65) ### Versions **1 Scene version** for [[DESIGNS/ToyWorldsAtlas/AtlasC_Doc|AtlasC_Doc]]. See [[DESIGNS/ToyWorldsAtlas/Orangery_RusLocalisVersion_CODE]] ### Ideas backlog - [ ] **Zoom-In > Zoom-Out** Orangery view (to show Boid movement) - [ ] *Problem*: [[DESIGNS/ToyWorldsAtlas/TWA_UI_Doc|Visual poetry]] will need to be rebuild at each scale - [ ] **Atlases Button Menu** > Opens a panel on the scene with buttons that transport the player into the atlas of their choice. панель на сцене (10 buttons > activate, if the atlas has been coloured at least once) - [ ] Additional 2D orangery assets ([[DESIGNS/ToyWorldsAtlas/TWA_GDD#Ideas Backlog|TWA_GDD]]): - [ ] See. [[GSc_MANUAL/Dennett_colorant/IntuitionPumps/24.SevenSecrets/114_zeroingOut.jpg]] - [ ] See. [[GSc_MANUAL/Dennett_colorant/IntuitionPumps/24.SevenSecrets/123.jpg]] - [ ] Comp. [[GSc_MANUAL/Chalmers_colorant/Constructing_World2012/0__блаженныеОстрова.Chalmers.jpeg|блаженные острова exLibris]] - [ ] Assets sway ### Finished tasks (Backlog) - [-] The flower window - [-] Анимация насекомых в оранжерее. - [-] When you click on an insect in the Orangery > UI window opens with the static bug and the nickname - [-] Сделать так, чтобы жук сохранял расцветку при перемещении в Оранжерею - [-] Finish Name_panel ## Code ### SceneContrOr i.e. SceneControllerOrangery ### Atlas_InOrangery ==From== Tuesday, October 28th 2025, 14:13 ==References== [[DESIGNS/ToyWorldsAtlas/In-Orangery-Interaction_Doc#PlayerAtlasController|In-Orangery-Interaction_Doc]] ```cs using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; public class Atlas_InOrangery : MonoBehaviour { // Name displayer public GameObject nameTextObj; // Automatic Movement public float speed = 1f; private Vector3 target; // For PlayerController private bool playerControllerActivated; // MOVEMENT private void Start() { RestartTarget(); } private void RestartTarget() { InvokeRepeating("DefineTarget", 0, 2f); } private void DefineTarget() { target = new Vector3(Random.Range(-8f, 8f), Random.Range(-3.5f, 1f), 0); } private void MoveAtlas() { if (!playerControllerActivated) { transform.position = Vector3.MoveTowards(transform.position, target, speed * Time.deltaTime); } } public void FixRotation() { gameObject.GetComponent<Transform>().rotation = Quaternion.Euler(0, 0, 0); } // NAME & PLAYER CONTROLLER private void OnMouseDown() { Debug.Log(gameObject.name); ManagePlayerControllers(); } private void UpdateName() { TMP_Text nameTextString = nameTextObj.GetComponent<TextMeshPro>(); if (playerControllerActivated) nameTextString.text = gameObject.name; else nameTextString.text = ""; } private void ManagePlayerControllers() // Add PlayContr to this atlas, and delete from all others { PlayerAtlasController[] playerControllersAtlas = FindObjectsOfType<PlayerAtlasController>(); foreach (PlayerAtlasController controller in playerControllersAtlas) { Destroy(controller); } gameObject.AddComponent<PlayerAtlasController>(); } // Checks if the movement is automatic or player-controlled // and updates a respective boolean private void CheckPlayerController() { if (GetComponent<PlayerAtlasController>() != null) playerControllerActivated = true; else playerControllerActivated = false; } private void Update() { CheckPlayerController(); UpdateName(); MoveAtlas(); FixRotation(); } } ``` ![[atlas.borders]]