Udon学习笔记

Udon学习笔记udon 学习笔记 unityudon

大家好,欢迎来到IT知识分享网。

事件Event

  1. Interact 点击事件,当玩家点击物品或使用物品触发
  2. OnDrop 扔下事件,当玩家扔下物品触发
  3. OnOwnershipTransferred
  4. OnPickup捡起来事件,当捡起来触发
  5. OnPickupUseDown当物品手持,并且按下使用按钮
  6. OnPickupUseUp当手持物品,松开使用按钮
  7. OnPlayerJoined,当一名玩家进入房间时触发
  8. OnPlayerLeft,当一名玩家离开房间时触发
  9. OnSpawn
  10. OnStationEntered
  11. OnStationExited
  12. OnVideoEnd,当视频播放结束后触发
  13. OnVideoError,当视频播放失败后触发
  14. OnVideoLoop,当视频完成一次循环播放时触发
  15. OnVideoPause,当视频暂停后触发
  16. OnVideoPlay,视频播放器通过队列中新视频的开始、取消暂停或通过播放器交互来开始回放时触发
  17. OnVideoStart,视频播放器从暂停状态开始播放时触发
  18. OnVideoReady,当视频播放器加载完新视频时触发
  19. OnPlayerTriggerEnter,当玩家进入一个区域后触发
  20. OnPlayerTriggerStay,当玩家在区域内触发
  21. OnPlayerTriggerExit,当玩家胶囊离开区域后触发
  22. OnPlayerCollisionEnter,当玩家胶囊进入一个碰撞体触发
  23. OnPlayerCollisionStay,当玩家在碰撞体内触发
  24. OnPlayerCollisionExit,当玩家离开碰撞体触发
  25. OnPlayerParticleCollision,当粒子系统启用碰撞和发射碰撞消息后,粒子与胶囊碰撞时触发。
  26. OnPlayerRespawn,当玩家唤出菜单时触发
  27. Advanced Notes,所有节点都是具有类型。

参数

玩家初始设置

结构块 Is Valid 确认对象是否有效

在这里插入图片描述

结构块SetJumpImpulse 设置跳跃高度

在这里插入图片描述

结构块SetWalkSpeed设置走路速度

在这里插入图片描述

结构块SetRunSpeed设置跑步速度

在这里插入图片描述

结构块SetStrafeSpeed设置下落速度

在这里插入图片描述

结构块Get LocalPlayer获得玩家实例

在这里插入图片描述

镜子系统

事件结构块Custom Event

在这里插入图片描述
这个结构块通过接受事件触发
在这里插入图片描述

结构块SetActive 设置是否激活对象。(一般用于开关)

在这里插入图片描述

结构块Get activeSelf 得到对象是否被激活。

在这里插入图片描述

结构块UnaryNegation,bool取反。

在这里插入图片描述

切换模型系统

在udon中获得模型实例

在这里插入图片描述

结构块SetAvatarUse 设置玩家使用模型。

在这里插入图片描述

椅子系统

结构块UseAttachedStation 触发状态。

在这里插入图片描述

OnStationEntered触发状态后执行事件

在这里插入图片描述

结构块Get displayName 获得玩家的名称

在这里插入图片描述

结构块 Format 字符串结构器,修改字符串结构

在这里插入图片描述

OnStationExited离开状态后执行事件

在这里插入图片描述

切换材质

OnMouseDown鼠标按下后执行事件

在这里插入图片描述

UdonBehaviour参数模块,可以传入包含udon 的对象

在这里插入图片描述
参数传入包含udon 的对象
在这里插入图片描述

string参数模块,输入事件名称

在这里插入图片描述
结构块SendCustomEvent发送事件
在这里插入图片描述

Custom Event事件触发模块

在这里插入图片描述
输入接受事件的名称
在这里插入图片描述

Set material设置材质结构块

在这里插入图片描述
设置材质结构块需要输入网格对象
网格结构块
在这里插入图片描述


int 计算

计算模块Addition加法

在这里插入图片描述

计算模块Subtraction减法

在这里插入图片描述

计算模块Multiplication乘法

在这里插入图片描述

计算模块Division除法

在这里插入图片描述

计算模块Remainder余数

在这里插入图片描述

Time 时间

刷新事件块Update,随着时间更新进行计算

在这里插入图片描述

Get time得到当前时间的结构块。

在这里插入图片描述

GreaterThan大于结构块,如果是大于的话返回真

在这里插入图片描述

Branch支结构块,如果为真则执行,为假则执行另一条

在这里插入图片描述

Pickup 捡起触发

unity技术文档

OnPickupUseDown 当捡起物品按下按钮触发

在这里插入图片描述

OnPickupUseUp 当捡起物品按下松开按钮触发

在这里插入图片描述

VRC ui面板

首先需要在最外层创建一个Canvas 然后创建plane
设置Render Mode 为World Space 

在这里插入图片描述

给canvas添加组件 VRC ui

在这里插入图片描述
Layer改为Default
在这里插入图片描述
修改Ui Text最佳显示大小
在这里插入图片描述
提高字体清晰度
在这里插入图片描述





动态字体库

开枪射击动画

播放自身的动画

在这里插入图片描述

播放粒子动画

在这里插入图片描述

Network

自动更新
手动更新

C#的脚本

Debug.log
在这里插入图片描述
Transform

Transform tr = this.gameObject.transform Vector3 pos = this..gameObject.transform.position 

在这里插入图片描述
在这里插入图片描述

物体的坐标

  • transfrom.position 世界坐标
  • transfrom.localPosition 本地坐标
    在这里插入图片描述
    设置坐标

帧更新

void Update(){ Time.time //当前游戏时间 Time.deltaTime 距离上次更新的时间差 } 

移动物体

Vector3.pos = this.transform.localPosition; pos.x + = 0.02f; this.transform.localPosition = pos 

在这里插入图片描述
匀速移动

float speed=3 float distance = speed*Time.deltaTime Vector3.pos = this.transform.localPosition; pos.x + =distance; this.transform.localPosition = pos 

在这里插入图片描述
相对移动

float speed=3 float distance = speed*Time.deltaTime this.transform.Translate(0,0,distance,Space.Self) 

在这里插入图片描述
运动方向

转向目标 this.transform.LookAt(flag.transform); 向‘前’运动,forward,+Z方向 this.transform.Translate(0,0,dz,Space.Self) 

在这里插入图片描述
朝着目标运动,到达目标停止

向量测距: p1 = 火车.transform.position p2 = 火车.transform.position p=p1-p2 distance = p.magnitude 

在这里插入图片描述

是否大于和if模块
在这里插入图片描述

物体的旋转

欧拉角 Euler Angle

transform.eulerAngles = new Vector3(0,45,0) transform.localEulerAngles = new Vector3(0,45,0) 

在这里插入图片描述

相对旋转
transform.Rotate(dx,dy,dz,space) 

在这里插入图片描述

控制父物体旋转
Transform parent = this.transform.parent; parent.Rotate(dx,dy,dz,space) 

脚本函数

unity文档

消息函数

  • Awake,初始化仅执行一次
  • Start,初始化,仅执行一次
  • Update,帧更新,每帧用一次
  • OnEnable,每当组件启用时调用
  • OnDisable,每当组件禁用时调用

设置优先级

在这里插入图片描述数越低,优先级越高

值的类型

  • 如:int,float,bool
  • (struct):如Vector3,color
  • 引用类型(class):如GameObject,Transform,MeshRenderer…

组件的调用

获得AudioSource组件 AudioSource audio = this.GetComponent<AudioSource>(); if( audio.isPlaying){ audio.Stop(); } audio.Play(); audio.Stop(); 

组件参数

  • AudioClip,音频资源
  • Mute,是否禁音
  • Loop,是否循环外放
  • Volume,音量

消息调用

消息调用SendMessage 

在这里插入图片描述
在这里插入图片描述

获取物体

GameObject node =node.GetComponent<RotateLogic> RotateLogic rotateLogic = node.GetCompent<RotateLogic> 

父子节点

Transform a22 = this.transform.Find("/222"); this.transform.SetParent(null); //设置父节点 ganmeObject. 

在这里插入图片描述

资源的使用

AudioSource audioSource =GetComponent<AudioSource>(); audioSource.PlayOneShot(audioSuccess); 

在这里插入图片描述

定时调用

继承自MonoBehaviour

  • Invoke(func,delay),只调用一次
  • InvokeRepeating(func,delay,interval),循环调用
  • IsInvoking(func),是否正在调度中
  • Cancellnvoke(func),取消调用、从调度中移除

向量

向量长度 L

Vector3 v=new Vector3(3,0,4); float len = v.magnitude; 

在这里插入图片描述
标准化Normalize:缩放一个向量,使其长度为1

Vector3 v=new Vector3(3,0,4); Vector3 v2 = v1.normalized; 

在这里插入图片描述

向量运算

在这里插入图片描述
在这里插入图片描述

向量测距离

Vector3 p1 = this.transform.position;//自己位置 Vector3 p2 = target.transform.position;/别人位置 Vector3 pdirection =p2-p1//方位向量 float distance = direction.magnitude 

动态创建实例

创建Prefab之后,用API动态创建实例

Object.Instantiate(original,parent) 

在这里插入图片描述
在这里插入图片描述
实例初始化

  • parent,父节点
  • position/localPosition 位置
  • eulerAngles/localEulerAngles旋转
  • Script 自带控制脚本

销毁实例

public static void Destory(Object obj,float t =0.0F); 

VRC接口

加载模拟器

 Note: this will be much easier soon with the Open Beta release of the VRChat Creator Companion, Coming Soon™ In your project, open the Unity Package Manager, click the + button and choose 'Add package from git URL...'. Put in https://github.com/vrchat/packages.git?path=/packages/com.vrchat.base#vcc. Then wait as the package imports or press Ctrl+R to refresh if you have auto-refresh turned off. Click the + button again and add this git url: https://github.com/vrchat/packages.git?path=/packages/com.vrchat.worlds#vcc Press the + button one last time and add this url: https://github.com/vrchat-community/ClientSim.git?path=/ClientSim_UnityProject/Packages/com.vrchat.ClientSim#issue-12-make-docs 

战斗系统

Get LocalPlayer 获得本地玩家实例

在这里插入图片描述

CombatSetup 设置游戏模式开始

在这里插入图片描述

CombatSetMaxHitpoints 设置玩家最大血量

在这里插入图片描述

CombatSetCurrentHitpoints 设置玩家当前血量

在这里插入图片描述

CombatSetRespawn 设置重生点

在这里插入图片描述

CombatSetDamageGraphic 受到伤害出现

其他系统

TeleportTo传送玩家位置

在这里插入图片描述

地图制作

地图常用插件

  • probuilder
  • polybrush
  • bakery

在这里插入图片描述

https://image.online-convert.com/convert-to-svg 

图片转SVG

抱脸效果

创建菜单面板

在这里插入图片描述
在这里插入图片描述

定时触发程序

在这里插入图片描述

网络

  • onDeserialization 可以接受sysn的数据,改变系统值
  • RequestSerialization 优先级更高一点
    在这里插入图片描述
    自动更新
    在这里插入图片描述
    手动更新
    在这里插入图片描述




在这里插入图片描述

在这里插入图片描述转换对象所有者权限
在这里插入图片描述

时间定时器

在这里插入图片描述

MMD动作播放

1、添加一个物体

在这里插入图片描述添加插件VRC Station(这样设置)
在这里插入图片描述
添加控制器

在这里插入图片描述在这里插入图片描述
创建udon
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述



ui特效

在这里插入图片描述
在这里插入图片描述在这里插入图片描述获得曲线对应点位的对应值
在这里插入图片描述

缓慢跟随移

在这里插入图片描述

Lerp 两个坐标之间求插值

在这里插入图片描述

控制UI填充比例

在这里插入图片描述

机器人npc

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/133823.html

(0)
上一篇 2025-07-17 17:20
下一篇 2025-07-17 17:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信