Unity学习——Transform组件的使用(坐标系)、物体拾取投掷
来源:互联网 发布:virtualbox拖拽文件mac 编辑:程序博客网 时间:2024/05/01 21:11
物体的拾取投掷主要是对Transform中的几个方法的使用
1.TransformPoint()——变换位置从自身坐标到世界坐标
2.InverseTransformPoint()——变换位置从世界坐标到自身坐标
3.TransformDirection()——从自身坐标到世界坐标变换方向
4.InverseTransformDirection()——从世界坐标到自身坐标变换方向
首先要搭建一个简单的场景,一个平台,一个cube物体,另外就是unity标准资源包中的第一人称控制视角
!!!为cube物体添加Rigidbody组件
在第一人称控制视角添加一个脚本CatchAndPull
using System.Collections;using System.Collections.Generic;using UnityEngine;public class CatchAndPull : MonoBehaviour { private GameObject cube; private void Awake() { cube = GameObject.Find("Cube"); } // Use this for initialization // Update is called once per frame void Update () { if(Input.GetKey(KeyCode.Q))//拾取物体 { //将cube移至当前位置的前方 cube.transform.position = transform.TransformPoint(0,0,2); //将cube设置为当前物体的子物体 cube.transform.parent = this.transform; //将cube设置为不接受其他物体事件 cube.GetComponent<Rigidbody>().isKinematic = true; } if (Input.GetKey(KeyCode.G))//扔出物体 { //首先判断是否为子物体 if (cube.transform.parent == this.transform) { //让cube接受物理事件 cube.GetComponent<Rigidbody>().isKinematic = false; //将cube与第一人称控制接触父子关系 transform.DetachChildren(); //运用TransformDirection()方法获取一个方向 Vector3 camDirct = transform.TransformDirection(0, 0, 10); //为cube添加一个向前的冲量 cube.GetComponent<Rigidbody>().AddForce(camDirct,ForceMode.Impulse); } } }}
效果图如下
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
拾取效果图
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
投掷效果图
阅读全文
0 0
- Unity学习——Transform组件的使用(坐标系)、物体拾取投掷
- unity学习之脚本,拾取物体,定时器
- Unity HTC vive 物体的拾取
- unity3d VR手柄射线拾取,投掷,发射可拿去的物体
- Unity学习笔记——Unity基础一:unity界面、场景、游戏物体、组件等基本概念
- Unity UGUI——Rect Transform组件(基础属性)
- Unity UGUI——Rect Transform组件(Anchors)
- Unity UGUI——Rect Transform组件(Anchor Presets)
- Unity < 常用组件 —— Rect Transform>
- unity ray射线说明, 及使用ray拾取物体的方法。
- 面向组件编程之Unity 1.怎样获取脚本所在物体的各种组件,例如:transform/BoxCollider
- unity-transform(物体上升脚本)
- 【Unity】获得当前脚本的物体的transform和gameobject
- Unity基础.002Transform场景物体的变换
- Unity UI(二):Rect Transform组件
- Unity 中的Transform组件
- XNA 3D游戏开发入门基本——鼠标选择3D模型(3D物体的拾取)
- Unity学习日常问题记录九-关于Lookat与模型坐标系的相关的问题以及父子物体的刚体
- 清楚浮动的方法
- eureka客户端源码解析
- android 使用Java库xstream示例
- redis-server存储与恢复
- Java中拼接两个时间
- Unity学习——Transform组件的使用(坐标系)、物体拾取投掷
- 深度解析LoRa与NB-IoT各自的特点和商业模式
- maven项目导入报错
- js从服务器读取图片属性
- C++类的特性之继承
- laravel 学习笔记 —— 神奇的服务容器
- Internet Download Manager IDM下载器 免费领取7折 优惠劵
- Maven项目下的index.jsp文件报错
- 我的Laravel学习之路之Laravel Forms 使用,illuminate/html包