Search
Search
#1. Unity C# 生成Instantiate (一)生成物件在某物件的位置
Unity C# 生成Instantiate (一) 生成物件在某物件的位置 此篇重點語法* * * * * → Instantiate實例化(要生成的物件,
#2. Unity C# 課程- Instantiate 方法 - Evia WorkStation 伊維亞工作室
Instantiate 函式為物件實例化的方法,白話一點就是在遊戲場景中生成物件, ... parent:指定的父物件,original 的位置、旋轉和大小受parent 物件影響。 original ...
#3. 【問題】請問關於Instantiate的問題@Unity3D 遊戲引擎哈啦板
Instantiate (要複製的GameObject, 父母物件的transform);. 或: Instantiate(要複製的GameObject, 初始位置三維座標, 初始旋轉位置, ...
#4. Instantiate 動態生成
將一個預製物件指定給myPrefab 變數,遊戲執行時將會動態生成指定的預製物件。 使用new Vector3 設定座標,可以設定動態生成的位置,以下範例執行時將會在原點生成物件。
#5. Unity C# 物件破壞效果Instantiate應用 - tim318407的部落格- 痞 ...
應用簡述:破壞效果的原理其實很簡單,就是刪除正常的物件,並且在原來的位置生成一個破壞的物件。 一、匯入正常(沒壞掉)的物件,並且裝上Collider (完成 ...
#6. unity instantiate位置 - Lisolanche
Unity C# 生成Instantiate (一) 生成物件在某物件的位置此篇重點語法* ... Instantiate函數是unity3d中進行實例化的函數,也就是對一個對象進行復制操作的函數,這個 ...
#7. unity instantiate位置 - 軟體兄弟
unity instantiate位置, C# 此方法可以在指定位置產生物件transform.position =new Vector3(-30.0f, 0,0); Instantiate(bus, transform.position, Quaternion.identity ...
#8. [Unity3D]預設Prefab與例項Instantiate的基本使用
然後建立一個空的遊戲物件(GameObject->Create Empty),放置到原來立方體的位置上。 將指令碼拖放到Hierarchy視窗中的新鍵的空物件上,讓它來執行程式碼 ...
#9. Instantiate(生成)补充与归纳Time.time复习unity笔记58 - CSDN ...
Instantiate (预制体,位置,方向)整理时发现以前老师教的时候方向写的Quaternion.identity代表没有旋转尚不知和用transform.rotation时的区别怎么个不 ...
#10. 在运行时实例化预制件- Unity 手册
... 游戏开始时简单地实例化预制件。 void Start() { // 实例化为位置(0, 0, 0) 和零旋转。 Instantiate(myPrefab, new Vector3(0, 0, 0), Quaternion.identity); } }.
#11. 【阿空】創造物件!刪除物件!預處理物件!?Unity快速入門 ...
#12. Instantiate 使用预制体生成物体| Unity C# - CodeAntenna
public Class PlayerManager : MonoBehaviour { public GameObject Player; public Transform pos;//位置 void CreatePlayer() { instantiate(Player, pos, ...
#13. Unity3D指定位置实例化预制体 - 程序员秘密
在Unity3D中将预制体拖至代码对应的mySphere的位置;3. ... Instantiate(mySphere, a, b) as GameObject; } // Update is called once per frame void Update () { } }.
#14. 一起幫忙解決難題,拯救IT 人的一天
18.unity實例化(上)(Instantiate) ... 設置Position,生成於此位置座標。 ... 設置三個生成位置Vector3 position1 = new Vector3(-1.039978f,-0.330002f,0.0f); ...
#15. 1100903 生成物件Instantiate - 黃國哲的數位歷程檔 - 修平科技 ...
位置 : 黃國哲 > Unity. 1100903 生成物件Instantiate ... Instantiate實例化(要生成的物件, 物件位置, 物件旋轉值);. Instantiate(gameObject ...
#16. [Unity] 使用程式產生物件、刪除物件的方法
在使用Unity 製作遊戲的過程中,我們自然無法透過拖曳來放置所有我們需要 ... Instantiate( 想要產生的物件, 想要產生的物件的位置, 想要產生的物件的 ...
#17. 【Unity】動態新增Prefab預製體位置控制 - IT人
問題描述: 需要注意預製體Transfom應該如何設定,一般情況下的邏輯是: GameObject effect = Instantiate(Resources.Load("Text/Window.
#18. Unity教學2D小遊戲製作part 2 - 讀樂島
承接上一篇Unity教學2D小遊戲製作part 1 我們這篇要來講物件的產生,和彼此間的碰撞前一篇講過的東西, ... Instantiate(物件, 初始位置,初始角度).
#19. unity instantiate位置 - YGPZ
unity instantiate位置. 角色能發出道具, penaltySpawnLoc.position,我現在使用Instantiate生成的時候,以下範例執行時將會在原點生成物件。 Unity
#20. Unity 3D 筆記– 物件的工廠Prefab - 小小職人
Unity 3D 筆記– 物件的工廠Prefab ... GameObject me = Instantiate(butterFly) as GameObject; ... Range(Xf,Yf);來產生變數,然後再指定到物件的位置.
#21. unity 如何實作一個朝滑鼠位置發射一個剛體的腳本
mousePosition );//生成以攝像機為起點經滑鼠點擊位置的射線 //用Instantiate(要生成的物體預制,生成的位置,生成物體的旋轉角度)
#22. Unity Script 常用語法教學(unity課程入門學習筆記)
Unity script教學(新手入門篇),製作遊戲基礎常用c#語法程式碼範例。 ... transform.position = new Vector3( x, y, z ); // 設定位置(世界座標) transform.
#23. Unity:在指定位置產生一台車子 - 低調の美國生活
//C#. 此方法可以在指定位置產生物件. transform.position =new Vector3(-30.0f, 0,0);. Instantiate(bus, transform.position, Quaternion.identity); ...
#24. 在特定位置實例化對象? - Pays-tarusate
我只是想使一個方形物體被破壞,並在該位置實例化一個新物體。 ... 如何在Unity 2D遊戲中隨機產生敵人Unity 2D教程 ... Instantiate(lava1, this.
#25. unity生成位置 - MAC免費軟體下載
unity 生成位置. MAC免費軟體下載 · unity instantiate位置; 本站文章. 2020年9月18日— //此碰撞體陣列的長度,換句話說就是OverlapSphere碰到的物件數量。
#26. Unity3d GameObject.Instantiate函数理解 - 程序员大本营
为false,表示实例化对象相对于父对象的坐标值不变,但在世界坐标系中的位置变了。 这里写图片描述 这两个 ...
#27. 碰撞與消失
加入3D Object 裡的Plane作為場地; 調整攝影機位置跟角度,能看到完整畫面即可; 重要! ... 讓子彈朝Y軸飛行; Tip:變數設成public可以在unity上調整. 製作Prefabs.
#28. Unity 建立遊戲物體的常用方法_實用技巧 - 程式人生
最後一個引數是-分配父類的時候是否保持原始的世界位置,false不保留,true保留. GameObject.Instantiate(Object original, Vector3 position, ...
#29. Re: [請益] Unity中prefab角度跟Instantiate不同- 看板GameDesign
當你用滑鼠拉Prefab進畫面來instantiate時,會指定滑鼠位置給position, ... 引述《JKT48 (JKT48)》之銘言: : 大家好: 新手在玩Unity做一個飛機的 ...
#30. [Unity]一些小筆記
Instantiate < 指定的類型>( 要複製的物件);. 生成物件在某物件的位置. Instantiate(gameObject, transform.position, transform.rotation); ...
#31. 关于unity3d:Unity预制未在预期位置实例化 - 码农家园
Unity Prefab not instantiated at the expected position你好stackoverflow社区。 ... GameObject npcObject = Instantiate(npcPrefab);
#32. Unity3D 程式遊樂園– 隨機生成物件在球體表面的程式
本代碼以滑鼠觸發,每按一下可生成(Instantiate)數個物件。 程式主要兩大部分,第一部分為亂數生成座標,並最後在隨機控制Z軸座標,生成在球面的左側 ...
#33. Unity UGUI 利用錨點生成相對位置的UI - 台部落
UGUI是什麼UGUI 是Unity 官方推出的最新UI系統。 ... 首先這裏使用了Instantiate動態生成了button,接着使用了parent屬性,讓button變成canvas的子 ...
#34. unity 用代码创建游戏物体的常用方法_路漫漫其修远兮
Instantiate (Object original, Transform parent, bool instantiateInWorldSpace);//最后一个参数是-分配父类的时候是否保持原始的世界位置,false不保留,true保留( ...
#35. 使用Unity 製作2D 彈幕遊戲作者
Unity 所有的Component 都是附加在GameObject(遊戲物件)上運作的。所有程 ... this.transform.position += new Vector3(-0.1f, 0, 0);//角色位置等於向量向左.
#36. [Unity]How to Instantiate A Image And SetParent - 星期五。見面
接下來,就是Instantiate Image,這裡要注意的是,Image是Unity的UI物件,所以不是用GameObject。 ... 產生一個arraw的Image在Player的位置 ...
#37. Unity 動態載入物件- Resources - 岳程式與鍵盤間的故事
使用Resources 動態載入物件的方法有: 該函數會將物件載入,並且預設為UnityEngine.Object 的類型。 Resources.Load( 位置+檔名); 該.
#38. 【Unity3D】PoolManager 物件池- Unity3D開發日誌
也可以減少物件一直被Destory再次Instantiate物件。 ... Pool:存放物件池的位置(一定要指定) ... SpawnHere:這是要產生的位置。
#39. Unity中Instantiate一个prefab时需要注意的问题 - 简书
这实际上在Unity和使用复制(ctrl+D)命令是一样的,并移动到指定的位置。如果一个游戏物体,组件或脚本实例被传入,实例将克隆整个游戏物体层次,以及 ...
#40. Unity 5.4 引擎快速上手密技
一般利用它初始化參數。 Page 10. 常用物件指令. 指定物件位置:Transform.position. 指定 ...
#41. UnityのInstantiate関数の使い方|引数による位置・回転度・親 ...
Unity のオブジェクトを生成する場合にはInstantiate関数を使います。 このInstantiate関数はいわゆるオーバーロード関数で様々なパラーメータ指定方法 ...
#42. Unity3D预设Prefab与实例Instantiate的基本使用 - 知乎专栏
Unity3D 预设Prefab与实例Instantiate的基本使用 ... 在Unity3D的工程建设中,Prefabs(预设)是最非常用的一种资源类型,是一 ... 脚本绑定对象的位置.
#43. 物件創造、物件銷毀@ gundamhina的部落格 - 痞客邦
Instantiate (參數1,參數2,參數1,) Instantiate – 複製物件 參數1 – 被複製的遊戲物件 參數2 – 複製出來的物件的位置 參數3 – 複製出來的物件的旋轉(
#44. Object.Instantiate · Unity - 看云
Object.Instantiate 实例. 克隆原始物体并返回克隆物体。 克隆原始物体,位置设置在position,设置旋转在rotation,返回的是克隆后的物体。这实际上在Unity和使用 ...
#45. android+unity3d的Prefabs(预设)与Instantiate(实例化) - 代码交流
3 接着我们配合Instantiate,来用代码创建多个Prefabs的实例。 Instantiate:克隆原始物体。设置位置,角度。如果一个对象, 组件,脚本实例被传入。
#46. Unity學習筆記#6 : Prefab 使用須知
把在Assets文件夾中的Prefab, 拉到Scene便完成了;; 在Script內,使用instantiate 把Prefab 製作出來;. 注意事項: 相關物件的名字在Hierachy View的 ...
#47. Object.Instantiate 实例
这实际上在Unity和使用复制(ctrl+D)命令是一样的,并移动到指定的位置。如果一个游戏物体,组件或脚本实例被传入,实例将克隆整个游戏物体层次,以及所有子对象也会被 ...
#48. Unity中根据角度和距离生成物体 - 代码先锋网
using UnityEngine; · using System.Collections; · public class CreateGameObject : MonoBehaviour { · private Vector3 centerPos; //圆心的位置.
#49. Unity自习室-Object.Instantiate - 哔哩哔哩 - Bilibili
如果游戏物体身上有组件的话,组件也会跟着克隆,同样有可选的位置和旋转角度。 When you clone a GameObject or Component, all child objects and ...
#50. Unity3d GameObject.Instantiate函数理解_一个渣渣的世界博客
为false,表示实例化对象相对于父对象的坐标值不变,但在世界坐标系中的位置变了。 这里写图片描述 这两个函数的 ...
#51. 四月2018 - 【Unity遊戲製作】勇者拉德小酒館
目前玩家物件在遊戲中,生成及重生的位置為原點;也就是(0, 0, 0)的位置。 ... (GameObject)Instantiate ( bulletPrefab, bulletSpawn.position, ...
#52. Unity Prefabs 之使用方式筆記 - 思元的開發筆記
以下整理常用的Prefab 建立實體手段(Instantiate from prefab),讓未來使用Prefab 時有所參考。 Instantiating in Editor. 最常用的使用方式,在編輯階段 ...
#53. Unityで、Instantiateの「引数で座標を指定する」のと「戻り値 ...
Mac , Unity 2019.4.2f1で実験しました。 結論から言うと. Instantiateで生成と同時に座標を設定したほうが良い.
#54. unity例項化遊戲物件instantiate() | 程式前沿
unity 一共有10個例項化物件的函式過載1、引數只有一個object物件例項化prefab結果如圖:cube的位置不確定是不是隨機的,我試了幾個, ...
#55. Unity - 在鼠标点击的位置放置对象 - 腾讯云
第一步基本信息. 你可以使用函数实例化多个给定的游戏对象或预制对象。 Instantiate (Object Target, object's position, object's rotation) ...
#56. Unity 游戏黑暗之光笔记第三章创建游戏运行场景及角色控制
Instantiate (effect_click_prefab, hitPoint, Quaternion.identity); } //让主角朝向目标位置 void LookAtTarget(Vector3 hitPoint) { targetPosition ...
#57. Unity筆記:自動攻擊最近敵人,箭矢自動指向敵軍射擊。
GameObject 暫存新子彈= Instantiate(角色子彈, new Vector3(player.transform.position.x + 生成x位置, player.transform.position.y + 生成y位置, ...
#58. Unity3d 预设Prefab与实例Instantiate的基本使用 - 腾讯游戏学院
接着我们配合Instantiate函数,使用脚本代码创建多个Prefabs的实例。 Instantiate:可以理解成克隆原始物体并且设置位置,角度。
#59. Unity中根據角度和距離生成物體 - 拾貝文庫網
Collections; public class CreateGameObject : MonoBehaviour { private Vector3 centerPos; //圓心的位置private float radius = 5; //半徑private ...
#60. Unity创建或克隆对象Instantiate() - 新哲- 博客园
需要创建对象GameObject prefab; //创建对象的规定位置或父物体Transform tr; //创建出对象Instantiate(prefab); //创建对象,并设定位置和.
#61. unity 如何实现一个朝鼠标位置发射一个刚体的脚本?
做题思路如下:首先不需要知道炮弹出现没出现,只需要知道你希望炮弹出现的起始位置:2.炮筒的位置:gun.transform.position鼠标的位置获取方式:Input ...
#62. Unity太空飛船小遊戲製作 - 每日頭條
Unity 太空飛船小遊戲製作 ... 在unity里把player.cs拖拽到飛船那裡,作為飛船的的對象,這樣用鍵盤上 ... //Instantiate(實例化物體『位置』角度).
#63. 如何在每個特定位置實例化立方體[已關閉] -- unity 領域 ...
I want to instantiate cubes at every given positions, how to define given list correctly in C# and use it as a vector3 ? I tried something like ...
#64. Unity維護靈藥:Dependency Injection. 如何處理工程師也頭疼 ...
View通通寫在同個位置,不被綁死哪個Controller甚至還能共用,程序員維護時再也不需翻找reference是多麽讓人感動!!終於不用通靈美術在Unity Editor ...
#65. Unity 從UI中拖拽物件放置並拖動效果附demo - IT145.com
... 中生成3D物件,物件跟隨滑鼠移動,放置後可再次拖拽物件,改變其位置。 ... 範例化預製inistateObj=Instantiate(inistatePrefab) as GameObject; ...
#66. 物体的坐标,旋转,缩放和生成_牛客博客
设置物体的坐标(1)unity 设置坐标有2种 ... unity 物体的坐标,旋转,缩放和生成 ... GameObject go = Instantiate(物体名,生成的位置, ...
#67. unity 改变子物体位置 - BBSMAX
Unity 3D 中实现对物体位置(position) 旋转(rotation) 大小(scale) 的全面控制 ... 才开始学Unity,开始总是这样用Instantiate函数: GameObject temp ...
#68. Unity3d GameObject.Instantiate函数理解_一个渣渣的世界博客
先附上unity3d API 中对这个函数的描述: Instantiate函数实例化是将origina. ... 效果:实例化对象将放在父对象下,完全保存了源对象的属性,其位置坐标值是相对于父 ...
#69. [測試] Unity Instantiate 與SetAcive 的效能差異? - 鴨仔開發日記
Unity Instantiate v.s. SetAcive? ... 然後同為移動物件,物件之間的相對位置似乎也會影響效能? 感覺這個測試流程建立的太簡陋,這些測試都是 ...
#70. Unity3D研究院transform.parent = parent坐标就乱了
GameObject go = Instantiate(copy) as GameObject; ... Unity的Transform组件中看到的位置、旋转、缩放,都是相对父节点的,它并不是相对世界的。
#71. Unity教學2D小遊戲製作part 2 - 雪花台湾
Instantiate (Bullet,pos,gameObject.transform.rotation);. Instantiate就是產生物件的指令. 他的格式是. Instantiate(物件, 初始位置,初始角度).
#72. Unity 2D太空射擊遊戲
Unity 是一款由Unity Technologies 研發的跨平台2D / 3D 遊戲 ... 複製子彈物件(Bullet)在目前位置. 複製物件. Instantiate(物件, 初始位置,初始角度) ...
#73. Unity基本功(7) – 隨機生成物件– 羽毛的電玩新手村
遊戲中平台的位置每一局都不太一樣,就是運用了隨機動態生成的技巧。 若想在Unity的環境中達到這樣的效果,可使用內部的一個API叫做Instantiate。
#74. 改变GameObject.Instantiate父对象下生成位置(排序)
改变GameObject.Instantiate父对象下生成位置(排序) ,-【游戏蛮牛】-游戏出海,ar增强现实,虚拟现实,unity3d,unity3d教程下载首选u3d,unity3d社区.
#75. Unity開發筆記- GameObject & Transform 的 ... - 微光魚的泡泡世界
Unity 開發筆記- GameObject & Transform 的操作 ... 以子物件的索引位置取得子物件(GameObject) int ChildIndex = 0; ... Instantiate( SomeObject );
#76. Object-Instantiate - Unity 脚本API - Unity 用户手册2020.3 (LTS)
public static Object Instantiate (Object original, Vector3 position, Quaternion rotation); ... 如果要克隆GameObject,则可以指定其位置和旋转(否则,这些默认为 ...
#77. unity 實現技能釋放 - 开发者知识库
要實現技能釋放其實很簡單,說白了就是在指定的位置Instantiate一個對應的例子特效。我走的彎路主要在尋找這個指定位置上。對於指向性技能就不多說了 ...
#78. 【學習筆記】Unity 系列,常用的Script 程式碼 01 - yinfu log
transform.position = new Vector3( x, y, z ); 設定位置. GameObject (抓取物件). GameObject.Find(“物件名稱“);. ex: 要移動場景中名為 doll 的物件.
#79. unity instantiate用法 - Lnnmo
transform.position,transform.rotation); //Instantiate用法,注意参数//Pre 用来克隆的Prefabs //transform.position 脚本绑定对象的位置就像this.transform 4.
#80. Unity 隱藏3D模型及GetComponentsInChildren 的使用 - 胡亂說 ...
將物件移出鏡頭外通常遊戲場景都會有地板、背景等,我們如果暫時需要將物件隱藏掉,可暫時改變物件在3D空間的座標位置,將它藏在地板下、背景後,甚至 ...
#81. Unity創建或克隆對象Instantiate() - 碼上快樂
需要創建對象GameObject prefab 創建對象的規定位置或父物體Transform tr 創建出對象Instantiate prefab 創建對象,並設定位置和角度Instantiate ...
#82. 【 Unity GameObject类】GameObject.Instantiate 复制对象
Instantiate 类方法有5种重载形式public static Object ... rotation: 接受一个方向值,对象方向; position: 接受一个位置值,对象坐标.
#83. [由零開始寫VR遊戲]Unity3D閒聊[III] - 創意台- 香港高登討論區
Unity 本身亦提供大量完整Project / Tutorial,初學者只需簡單調整幾個數字、換上 ... this.transform.position.x :現時Script所在物件既位置
#84. [Unity3D]预设Prefab与实例Instantiate的基本使用 - 360doc个人 ...
一个地板Plain,一个下落的立方体Cube,调整摄像机的角度和位置,加个平行光源DirectionalLight。 同时给立方体加上刚体属性(Component -> Physics -> ...
#85. 如何移動3D射彈Unity - 優文庫 - UWENKU
Instantiate /創建子彈. 2子彈的.SET位置 。獲取附加到該實例化子彈的 Rigidbody 。 如果這是角色管理和不可見的槍只是攝像頭,. 射擊子彈與 Camera.main.Transform.
#86. unity 实例化并设置位置- Unity Instantiate and set position - 堆栈内存 ...
I Instantiate and set the position of the particles but the particles look out of position as they fire.我实例化并设置粒子的位置,但粒子在发射时看起来不在 ...
#87. Unity-在运行时创建实例,帮助我了解位置| 码农俱乐部- Golang中国 ...
Unity -在运行时创建实例,帮助我了解位置 ... Equals ("R")) { Instantiate (R, new Vector3 (x*size, y*size, z*size), Quaternion.identity); x++; if (x == N) ...
#88. Unity实现鼠标拖动交换两个物体位置,拖动移动及拖动复制- 掘金
拖动交换两个物体位置(1)首先在场景中新建一个Plane 两个Sphere,两个材质球和一个空 ... void Copy(Vector3 target, thing press) { Instantiate(press.transform.
#89. 如何在Unity 2D的两个指定位置随机生成两个不同的对象?
如何在Unity 2D的两个指定位置随机生成两个不同的对象? ... Length)]; Instantiate (prefab [0], pos1, Quaternion.identity); Instantiate (prefab ...
#90. c# - Unity C#,产生错误位置的对象- SO中文参考- www.soinside.com
Unity C#,产生错误位置的对象 ... Log(position); break; case 2: Instantiate(cubeDouble, transform.position = newPosition, transform.rotation * Quaternion.
#91. 如何在Unity中另一个GameObject的变换位置实例化对象? | 2021
实例化方法的一种变体具有位置和旋转参数。要使用调用项的世界坐标,请执行以下操作: Instantiate(prefab_to_inst,transform.position,transform.rotation);.
#92. : Unity 3D:將GameObject實例化到父對像上的特定位置
public static Object Instantiate(Object original, Transform parent);. 如果要進行某種操作,則可以在目標父對像中創建空的GameObject,將其移到正確的位置,並將 ...
#93. unity transform.localPosition,如果Parent不在0位置上
localPosition,如果Parent不在0位置上,則代碼結果與Editor Transformation positon不同嗎? ... GameObject spawn = Instantiate(myPrefab, new Vector3(1, 0, 0), ...
#94. Unity實現子彈射向准心位置- CodeBuug
作為一個Unity初學者,獨立開發FPS遊戲時,無論怎麼調整子彈都射不到准心位置, ... tempFlash = Instantiate(muzzleFlashPrefab, barrelLocation.position, ...
#95. unity:在隨機非重叠位置例項化两个物件- unity - Codebug
public class Instantiate : MonoBehaviour · { · public float betweenSpawn = 1.05f; · public float angle; ...
#96. Unity destroy null
How to Destroy Game Objects in Unity 3D As important instantiating and ... で消して、初期位置に再生成させたいのですが、エラーをはいて再生成できません。
#97. Fbx to gltf npm - Beelzebub
可在以下位置获得实时服务动机描述依存关系此示例依赖于Node. ... be extended to support additional capabilities in Unity or support additional ...
unity instantiate位置 在 Re: [請益] Unity中prefab角度跟Instantiate不同- 看板GameDesign 的必吃
※ 引述《JKT48 (JKT48)》之銘言:
: 大家好
: 新手在玩Unity做一個飛機的遊戲, 飛機可以射出飛彈打擊目標等等
: 現在做到一個地方一直卡關, 所以上來請問前輩
: 是這樣的我現在要做一個追蹤型的飛彈可以直接追蹤目標
: 2D遊戲
: 從TOP角度來看 右邊是+X 往上是+Z
: 現在有幾個情況
: 飛彈模型剛從網路上抓下來的時候是橫的
: o======>
: 我可以比他加入一些要素以後變成Prefab
: Prefab也可以轉角度
: y轉-90度可以變成這樣(大概看得懂就好= =)
: ^
: i
: i
: o
: 之後從Prefab拉近螢幕角度都沒問題
: 因為飛彈本來就是要往上射
: 但是我在寫腳本的時候 可能角度那邊一直被搞混
: 目前是在主角飛機的scripts按下一個鍵以後 先尋找tag=enemy的敵人
: if(target = GameObject.FindGameObjectWithTag("BossEnemy"))
: {
: Vector3 relativePosition = player_transform.position
: - target.transform.position;
: //開始生子彈
: Instantiate(rocket_transform,
: player_transform.position,
: Quaternion.LookRotation(relativePosition));
: }
: 我把元素都分行, 希望大家都看的懂
: 再配合我子彈自己的scripts:
: this.transform.Translate(new Vector3(0, 0, -speed * Time.deltaTime) );
: 到目前為止, 子彈可以生成沒錯, 軌跡也有自動搜尋敵人的功能
: 但是為什麼子彈就是會一直橫的去找敵人飛機啊Q_Q
: 就是跟一開始模型的rotation一樣 不管我Prefab怎麼設定都沒用...
: 我試著用this.transform.rotation去改角度, 可是發現越改越亂
: 不是飛彈自己亂繞就是追蹤功能不對
: 不知道有沒有前輩能夠指點我一下是我哪邊弄錯了?
: 或是我該找哪個方向的資料...
: p.s 我有試著執行遊戲然後再暫停遊戲 去看生成的那些子彈
: 我想我應該是
: 物體生成角度 跟 物體本身的角度 搞混了?
: 因為我看每個飛彈的角度在Y方向加90度就是我要的
: 可是不知道該在哪邊改這個東西
: 新手發問
: 請見諒
在Prefabs中的Transform(position, rotation)是在instantiate時,
沒有指定position與rotation的時候會採用的預設值。
當你用滑鼠拉Prefab進畫面來instantiate時,會指定滑鼠位置給position,
但是因為沒有rotation值設定,就會採用原本在Prefab的rotation。
所以用拉Prefab的方式,角度與預想的是一樣的。
當今天用script來instantiate的時候,
如果你是用
Instantiate(rocket); // 沒有指定position與rotation
// 相當於拉Prefab到Heirarchy中
rocket就會採用Prefab的position與rotation。
然而,當使用的是
Instantiate(rocket, player_transform, player_rotation);
的時候,rocket的position與rotation會是所指定的值。
此時rotation就是原本的方向(Quaternion.identify, 此例中是向右)再轉
player_rotation
而非先轉了-90度再轉。
處理的方法可以像推文前輩說的,用一個GameObject來做父物件。
這個父物件的旋轉就是沒有被旋轉過(Quaternion.identity或0度),
所以對它做方向旋轉或移動都會是如預期的。
把rocket放到這個GameObject做子物件,這時把rocket轉-90度,
由於子物件是相對於父物件來移動旋轉的,它不會影響到父物件的旋轉。
還有另一種處理方式就是,沒有父物件,但是也不要對rocket手動旋轉,
它是朝向右的,就直接把右邊當成它的移動方向(X軸正向)。
rocket_transform.Translate(Vector3.right * speed); //
不過這時用LookRotation可能會有問題,因為LookRotation是以Z軸正向為方向,
可能要改用Mathf.Atan2()的方式。
https://docs.unity3d.com/ScriptReference/Mathf.Atan2.html
float angle = Mathf.Atan2(relativePosition.z, relativePosition.x)
* Mathf.Rad2Deg; // 以X軸正向為方向
rocket_transform.Rotate(0f, angle, 0f); // 對Y軸旋轉angle角度
(如果要以Z軸正向來算角度,Mathf.Atan2中把z值放到第二個參數, x值放到
第一個參數,就以Z軸正向來找旋轉角度了)
希望有解釋清楚,如果有錯誤之處,煩請指出,謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.244.41.5
※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1439106518.A.65D.html
※ 編輯: yichen (60.244.41.5), 08/09/2015 15:52:50
... <看更多>