Unity Note - Project08 Gallery
coconutnut

Create a Personal 3D Gallery Project with Unity

  1. Use the [first person controller](First Person All-in-One) in asset store

  2. Model scale ~= Cube 40*40

  1. Add Component->Physic->Mesh Collider to models

  2. Light: turn off shadow & increase range to 20

  3. Sound effect for different walking materials

    Change Material in Mesh Collider, not Mesh Renderer

  1. Add UI->Text

    When setting Rect Transform, press Alt(Option) to set position as well

  2. Add Tag to Text

  3. Add Image: Drag jpg onto Plane

  4. Close to display text

drag script onto image

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;


public class Proximity : MonoBehaviour
{
public string newTitle;
public string newAuthor;
public string newDesc;
private Transform other;
private Text myTitle;
private Text myAuthor;
private Text myDesc;
private float dist;
private GameObject player;
private GameObject message1;
private GameObject message2;
private GameObject message3;
private bool check;

// Start is called before the first frame update
void Start()
{
player = GameObject.FindWithTag("Player");
other = player.GetComponent<Transform>();
message1 = GameObject.FindWithTag("ArtTitle");
message2 = GameObject.FindWithTag("ArtAuthor");
message3 = GameObject.FindWithTag("ArtDescription");
myTitle = message1.GetComponent<Text>();
myTitle.text = "";
myAuthor = message2.GetComponent<Text>();
myAuthor.text = "";
myDesc = message3.GetComponent<Text>();
myDesc.text = "";
check = false;
}

// Update is called once per frame
void Update()
{
if (other)
{
dist = Vector3.Distance(transform.position, other.position);
print("Distance to player: " + dist);
if (dist < 4)
{
myTitle.text = newTitle;
myAuthor.text = newAuthor;
myDesc.text = newDesc;
check = true;
}
if (dist > 4 && check == true)
{
Start();
}
}
}
}