====== What is possible with VCI ======
This page summarizes what is possible with VCI.\\
^Basic functions & Event functions^^
|[[en/vci/overview/introduction#Rigidbody & Collider]]|[[en/vci/overview/introduction#Grab]]|
|[[en/vci/overview/introduction#Touch]]|[[en/vci/overview/introduction#Use]]|
|[[en/vci/overview/introduction#Script]]| |
^Media^^
|[[en/vci/overview/introduction#Animation]]|[[en/vci/overview/introduction#Audio]]|
|[[en/vci/overview/introduction#Effect]]|[[en/vci/overview/introduction#Material]]|
|[[en/vci/overview/introduction#Text]]|[[en/vci/overview/introduction#Joint]]|
^Original functions^^
|[[en/vci/overview/introduction#Message feature]]|[[en/vci/overview/introduction#Receipt of broadcast comments]]|
|[[en/vci/overview/introduction#Control of studio items]]|[[en/vci/overview/introduction#Attachment features for items]]|
|[[en/vci/overview/introduction#Keyboard]]| |
===== Basic functions & Event functions =====
==== Rigidbody & Collider ====
{{ :en:vci:introduction:rigidbody.png?direct }}
Objects with a Rigidbody component attached will behave with physics.\\
A Collider component detects collision, which can be used as a trigger to execute scripts.
[[https://docs.unity3d.com/2018.3/Documentation/Manual/class-Rigidbody.html|Rigidbody (Unity reference)]]\\
[[https://docs.unity3d.com/Manual/CollidersOverview.html|Collider (Unity reference)]]\\
* [[en:vci:component:sdk:subitem| Details on VCI components]]
==== Grab ====
{{:en:vci:introduction:grab.png?direct|}}
You can make items grabbable by configuring components in a SubItem.\\
You can also use grab as a trigger to execute scripts.
[[en:vci:script:reference:eventfunction | Event functions]]
==== Touch ====
\\
{{ :vci:introduction:touch.png?direct }}
You can make the script work by triggering the Collider and the player's touch.
\\
==== Use ====
\\
{{ :vci:introduction:use.png?direct }}
The "Use" can be used to instill the item's own unique behavior.
The player's hand must be in contact with the Collider.\\
\\
==== Script ====
{{ :en:vci:introduction:lua.png?direct }}
You can write and use scripts in VCI.\\
You can use various event functions as well as variables and some of the standard library of the Lua.\\
You can easily acquire current time and generate a random number.
===== Media =====
==== Animation ====
\\
{{ :vci:introduction:anime.png?direct }}
You can add motion to objects by incorporating **[[en/vci/component/unitycomponent/animation|Animation]]**.\\
\\
==== Audio ====
{{ :en:vci:introduction:audio.png?direct }}
You can play a sound by attaching an **[[en/vci/component/unitycomponent/audioclip|Audio]]** component.\\
Also, you can control the play and the stop of the sound by script.
[[https://docs.unity3d.com/Manual/class-AudioSource.html|Audio Source (Unity reference)]]
==== Effect ====
\\
{{ :vci:introduction:effect.png?direct }}
Virtualcast adopts **[[en/vci/component/sdk/effekseer|Effekseer]]**.\\
Effects created with Effekseer can be used for VCI.\\
\\
==== Material ====
\\
{{ :vci:introduction:material.png?direct }}
Some parameters of the **[[en/vci/overview/material|material]]** can be modified by scripts.\\
\\
==== Text ====
\\
{{ :vci:introduction:text.png?direct }}
**[[en/vci/component/sdk/text|TextMeshPro]]** components can display script-controllable text.\\
\\
==== Joint ====
{{ :en:vci:introduction:joint.png?direct }}
You can join items using Joint components.\\
You can replicate various behaviors of things like punching bag and pendulum.
[[https://docs.unity3d.com/2018.3/Documentation/Manual/class-HingeJoint.html|Hinge Joint (Unity reference)]]\\
[[en:vci:sample:joint:tutorial|Use joint to create swinging items]]
===== Original functions =====
==== Message feature ====
{{ :en:vci:introduction:message.png?direct }}
VCI items can send and receive messages (communication) to each other.\\
In addition to the communication between items, you can also receive some messages from the system as well.\\
You can receive comment information from streaming services.
**[[en:vci:updatelog:messagesystem|Message system]]**
==== Receipt of broadcast comments ====
\\
{{ :vci:introduction:commentjp.png?direct }}
**[[en:vci:script:reference:messagecomment]]**\\
==== Control of studio items ====
\\
{{ :vci:introduction:studio.png?direct }}
**[[en/vci/script/reference/exportstudio]]**
\\
==== Attachment features for items ====
\\
{{ :vci:introduction:attachable.png?direct }}
**[[en/vci:component:sdk:attachable]] **\\
\\
==== Keyboard ====
\\
{{ :vci:introduction:keyboard.png?direct }}
**[[en/vci/script/reference/vciinput]] **\\
\\
==== OSC ====
\\
{{ :vci:introduction:osc.png?direct }}
**[[vci:overview:osc]]**
**[[vci/script/reference/exportosc]]**
\\